These pages are the support information for my “10 fun projects to improve your hacking skills” talk on the RailsWayCon 2010 in Berlin. Here you can find additional information, links and code for all the projects.
Update on 4th of June: I added some links – There’s still a lot of info missing – I will try to update as much as possible on this until next week, since I will be on vacation for a few weeks after that.
During the RailsWayCon presentation I promised to come up with “real badges”. These will most likely be standard buttons with a custom design. I have a colleague who’s got a button press, so this will be feasible.
To claim a badge, send the description, photos, links to videos and such things to me. Don’t forget to include your postal address.
Although it will not be mandatory to claim your badges, I would highly recommend to release all software and hardware designs you do to complete one of the ten projects as open source.
Quest: Build a web application that shows twitter „matches“ alongside the real WoldCup matches.
Ruby, Sinatra, Twitter-Gem, CouchDB.
Quest: Participate in a Hackday, RailsRumble or any other 24-48 hour long coding challenge.
Caffeine, Sleeping Bag, Paper, Rock, Scissors
Quest: Recreate the first video game you ever played in HTML5 and Javascript.
HTML, Javascript, maybe jquery.
Quest: Build an application to remotely play planning poker using WebSockets
node.js, HTML, Javascript (jquery)
Quest: Create an Autotest plugin (or a CI-Server plugin) that sonically signals the quality of your code using PD.
Ruby scripts, OSC library, PureData.
As I said, I will try to come up with a basic PureData sketch that will allow you to start with some basic sound capabilities already in place to smooth out the rather steep learning curve of PureData. Stay tuned.
Quest: Build a large dashboard displaying important metrics (Whatever that means to you) using HTML, SVG and Redis.
Sinatra, Redis, Raphael.js
Please note that Raphael is just one possibilty to create such graphics. There are also Libraries that use the canvas element to draw graphs instead of SVG.
Quest: Build a desktop application that controls an aspect of one of your rails web applications.
Rails, MacRuby/hotcocoa or QTRuby, RubyFX etc.
Quest: Build a Rube Goldberg machine that starts or that‘s started by a tweet or other forms of electronic messaging.
threads, duct tape, marbles, inclined planes, USB devices
The hardest part here (apart from building the rube goldberg machine) is to create physical action to start the machine. So the other way round is much simpler (sending a tweet at the end of the machine), since physical input exists in form of a mouse button or the space key of a keyboard. So the “starting the machine with a tweet” definitely will give you higher merits. :)
Quest: Build a hardware representation (e.g. stoplight) of your build status.
#{buildserver}, Arduino, Relais, Stop light, etc.
Please note that I know that this is nothing especially new or innovative, people have done this kind of stuff literally for ages. Still I think it is really important to build it by yourself. We (at mindmatters) even considered at one point to use the project kickoff phase to let the team build it’s build indicator itself. Also I’d like to add that the possibilities of the form of signalling are actually endless.
Please note that at this time, Project#X is more or less a placeholder, I’ve yet to come up with a good specific idea for it.
Quest: Build something with a multitouch/tangible interface
iPad, iPhone, Android, Reactable, whatever