Giter Site home page Giter Site logo

harold's Introduction

HAROLD

Computer Science House - Rochester Institute of Technology

A Python rewrite of the CSH house system HAROLD (Heralding Arrivals Rather Obnoxiously Loud Device), which is currently being run on a Raspberry Pi B+. HAROLD receives the iButton input from the user and then plays either a set song or random song from a playlist defined by the user for thirty seconds over the speakers in the elevator lobby. HAROLD's purpose is to provide entertainment while either waiting for an elevator or a member's arrival on-floor.

To run Harold run the file using the following command.

$ python Harold/main.py

Alternatively, (as configured on the actual machine) you can add Harold to init.d and instead run:

$ service harold (start|stop)

Make sure the user running the script has permissions to read from /dev/ or run the script as root.

harold's People

Contributors

gambogi avatar jdrit avatar mbillow avatar msoucy avatar speakerbug avatar talcohen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

harold's Issues

Random Song Error

Users with just a Harold directory and no song cause Harold to try to play the name of a predefined random song but from the user's home dir. (ex. /users/u22/mbillow/harold/boomclap.mp3)

This obviously causes mplayer to try and play a file that doesn't exist.

The single from my new indie band won't play

"; echo "stay classy, san diego"; echo "quit
.mp3

mplayer just quits when it tries to play it.

Obviously I can't test this, but it does this on my machine when I copy over the important bits of your code that deal with this part.

Otherwise pretty cool.

Better playlist randomization

Yesterday I used Harold 6 times and it played the same song 5/6 times. I know I put up 6-7 songs or so in my Harold directory. I noticed you guys use Python's random choice function but I was thinking there might be a better approach to this problem. For instance we could (if possible) store/create an actual playlist file so we can guarantee non-repeats. Another (simpler) approach might be just to replace the choice call with a shuffle call and then pick the first index in the shuffled list.

Missing LICENSE?

First, the standard disclaimer: I am not a lawyer, and this does not constitute legal or financial advice.

Generally, IMHO, it is a good idea to use FSF or OSI Approved Licenses (which can be found here https://www.gnu.org/licenses/licenses.html and here http://opensource.org/licenses/category)

The Free Software Foundation has a useful guide for choosing a license: https://www.gnu.org/licenses/license-recommendations.html

I often reference the Software Freedom Law Center's Legal Primer for both practical and academic purposes (highly recommended): https://www.softwarefreedom.org/resources/2008/foss-primer.html#x1-60002.2

https://tldrlegal.com/ is quite a useful resource for comparing the various FOSS licenses out there once you have some context

To get ahold of actual lawyers/advisors who help FOSS projects, you can reach out to the FSF, SFLC, and OSI at:
[email protected]
[email protected]
[email protected]

Hope this helps, and happy hacking!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.