Code Monkey home page Code Monkey logo

5rat's Introduction

To install, you need a python-midi package, adb-foreach, a bunch of Android development dependencies... good luck, is what I'm sayin'

  • We've been playing Dance of the Sugar Plum faeries non stop for 2 god-damn days.

  • Why is it called 5 Rat Harmony?

    • Sauce has a lot of machines, but these machines are big, powerful servers, made out of the cheapest parts money can buy. You can think of these machines like "cattle". They can do a lot of work with them. Some people think it's fun to knock them down for sport.
    • But what about the far-away team in the frozen north? We work on mobile devices. They're small, they have minds of their own, and they die really, really easily. They're rats.
  • But there are some things that rats can do that cattle can't.

  • So we decided to build a choir, and get five devices to sing in unison.

  • what business value does this provide?

    • We've been plotting ways to torture people in the data center
    • It looks really cool
    • And, to be serious, I need some practice getting a lot of devices to do things.
  • what did we do?

  • Jonah wrote the client, in Java, that runs on each of the devices. It loads up a midi file and waits until it gets a message to trigger it.

  • Eric wrote the server, in Node, that does its best to send each device a message as quickly as possible. We had a lot of clever ideas to try to get the best possible synchronization, but this solution had the benefits of A: being very quick to code and B: working just well enough

  • I wrote a python thinger that takes a MIDI file, weights the instrumental tracks by how many notes they have, and tries to distribute tracks as fairly as it can across phones. Then it loads the midi file on to each phone, turns the application on, and activates the sync server.

5rat's People

Contributors

jonahss avatar cube-drone avatar

Watchers

James Cloos avatar Dawn Ho avatar

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.