I'm playing with home automation/control. I integrated "smart" devices from 6 different vendors into a webapp with voice control that I run on wall-mounted tablets throughout the house [1]. From any room, I can say things like "dim the lights", "lock the front door", "turn up the heat" or "launch netflix on the living room TV". And, because I'm a bit of a Trekkie, the computer talks back. [2]
None of it's particularly hard. I wrote a node.js server that serves a webpage for the dashboard, and passes messages back and forth between that webpage and the various devices.
Belkin WeMo switches and motion sensors are UPnP. Discovery can be flaky sometimes, otherwise they work well and there's plenty of sample code out there for UPnP and WeMo specifically.
The garage doors are Chamberlain MyQ, a proprietary website/app with no public API, but the website talks to a JSON API that was simple enough to figure out with Chrome's network inspector. I probably wouldn't buy MyQ stuff again if I were starting over just because of how closed it is. They don't want to integrate with anything else.
The Nest thermostat has a JSON API, also unofficial though an official one is in beta testing. There's a node package for that, so plug-and-play for me.
The rest of my stuff is Z-wave (short range 900MHz radio), which you need a hub for, to bridge that network to the home IP network. I got a Vera Lite for that as it's the best hub I found that has no subscription fees, is entirely self-hosted (there's an optional cloud component for remote access and setting backup without configuring your firewall), and exposes a REST API. That was the easiest thing to code against -- to lock/unlock the deadbolt on my front door for example, I just GET a URL with the device ID and command in the query string.
My son and I have been working on our hobby site http://CutRateGamer.com for the last two years. We both love PC games and were always on the lookout for great deals.
The site started out as a simple blog, but, being a lazy programmer, manually looking for deals got old quick; so I decided to automate as much as I possibly could. We are at the point were the site almost runs itself.
It has been a great excuse to try out new technology, keep my skills sharp, learn marketing, teach my son programming and what goes into running a website.
Mines a real "pet" project. I installed a bluetooth signal/sensor in my dogs harness, put an infrared sensor strip on backdoor and hacked together something like twillo for notifications. When I let him outside, I know when he is back at the door because his motion gets picked up by the sensor and a text message gets fired off to say "Woof. Let me in. Love Simon." This didn't take me long to build and it gets the job done. Still refining. It's all good fun... COST: under $19 for all electronics.
Do you have a blog describing the parts and where you got them? I'm interested in doing the same type of thing, but for a different situation and was going about it differently.
I make this sweet Google Chrome extension for fun in my spare time: http://streamus.com It's a YouTube music player that I find more useful than Spotify b/c it integrates well with the browser. I've put 16 months of nights/weekends into it. It has 14k users, 4.8/5 in the web store and is completely open-source:
I find it fun for a TON of reasons. I'm learning a lot more about programming than I ever had in the past. This is the first time I've ever been super interested in absorbing material because it has a great impact upon me.
I get messages from people all around the world every day saying thanks for the work. That feeling is super rewarding -- more so than a paycheck. I've had to bust out Google Translator to try and decipher messages and hold conversations, had people tell me their dreams of getting to America or even something as simple as just being excited to talk to the developer. It's really great.
Finally, it solves a problem I was having and for that I am stoked! I went from having tons of bookmarks organizing music on YouTube to having a much more friendly interface for storing and listening to the music.
To teach myself Python "properly", I've been slowly writing a script that posts to Github's Gists - I'm finding it more and more useful as a note taking utility so I wrote something that lets me pipe input into it and get a URL out.
I also buy far, far too many tiny devices like Raspberry Pis and Cubieboards.
I think between experimenting with and reversing tiny linux-running devices (I'm looking at you, consumer router manufacturers) I'll find a new career direction, but at the moment it's a good challenge and a glorious time and money sink.
I've been having a lot of fun playing around with site scraping. Which probably sounds weird and lame but the challenge of building stuff from metadata has been interesting, and seeing how context behaves between linked sites. Here is an example, which builds a threaded feed from outbound links (still not quite ready for prime time): http://precis.gopagoda.com/url/https://news.ycombinator.com/...
Also i'm cloning HN in Laravel. Most of the basics work but i've got nothing online to show yet. I find it fun because I like imaging how the structure of the site might affect the way people communicate and use it.
Building a citation manager (for like research papers and stuff) that maintains a central list of all sources, authors, and publications cited and also helps manage paper/project level stuff for the individual level. Hoping that the central list makes it easier to keep the db clean and also provides the user with some benefit by being able to just look stuff up instead of typing it in.
I'm currently building ghostream (https://github.com/ghostream/ghostream) - it is a data stream processing framework. Having used numerous commercial ones (most notably IBM's Streams), and building various other part-frameworks (i.e. for time and budget reasons focussed on one particular thing) I has an itch to build an open source one (while storm and samza are definitely related, I feel they fall into a slightly different category - I'm all about the streams :) )
It is still in very active development - but the base is solidifying and the new test framework is starting to shape up nicely.
I teach an intro programming class in Python each fall, and this fall I started an open project to help my students learn Python: http://introtopython.org
It's progressing steadily, and people seem to be responding positively to the first project, a tutorial about plotting geospatial data using matplotlib and Basemap: http://introtopython.org/visualization_earthquakes.html
PS I just accidentally ended a 132-day github streak, mostly focused on this project. I stared watching a movie with my wife last night, and at the end of the movie I looked at the clock and realized I forgot to make a commit before 11pm. No matter, it was never about the streak anyway. :)
I've been working on implementing my first Lisp compiler and virtual machine. My last Lisp was a simple inefficient AST interpreter, so this seems like the next step up.
I'm using Twilio, PythonAnywhere, and Google Directions API to send myself texts when my commute length is longer than a specified tolerance, then sending texts with commute lengths for alternate routes if they are shorter. Currently gathering commute length data to make my commute length tolerances dependent on an average commute length for that workday plus a specified percentage above that.
Also playing around with Flask and other APIs as well as building a blog in Django.
Great idea. This would have helped me with my morning commute today when SF Muni had a bit of a meltdown. Have you put the source up on github? Also, if you're already playing around with APIs and frameworks like Flask and get the itch to create a REST API, check out flask-restful https://github.com/twilio/flask-restful.
http://www.trackersound.com/
I'm working on a website where people can track the artists and bands they like in order to be notified when a new album/EP is released. It's like Songkick or BandsInTown but for albums instead of concerts.
It's still work in progress and I'm also looking for a new website name.
I'm teaching myself Obj-C, one of my apps[1] has made it to the store and whilst I continue to learn, I'll be pushing improvements to it. I've just pushed another app that'll hopefully make it to the store - the simplest QR Code Scanner ever.
Playing around with making projects with Arduino + sensors, it's fun because there is so much you can do with the Arduino platform these days. The hardware course in university was a rush through, and I never really had time to experiment on my own with it (the real learning). So now, I get to do it with the Arduino, which makes it SO much easier (and cheaper) than it use to be.
I'm working on http://trysnitch.com to make simple mobile notifications by issuing http requests with JSON data. Getting to know Appcelerator for mobile development and Flask as a backend.
My group of close friends and I meet up once a week to slay dragons (yes, we are nerds). I was unimpressed by the character sheet offerings available online so I ended up creating my own for fun. It is running on flask, postgres and knockout.
That sounds really interesting, and I've often wanted to do something similar myself. Do you have plans for a convenient curses-based interface, so I don't have to type stuff out or press enter all the time?
Really lumail is a console application, similar to mutt, but with a different feature-set. (i.e. No IMAP, no POP3, real scripting, modal-mode, and similar.)
1: http://i.imgur.com/sduLRv6.jpg
2: http://www.lcarscom.net/sounds.htm