I couldn’t find a triangles loading gif so I decided to make my own… still working out the kinks.
I couldn’t find a triangles loading gif so I decided to make my own… still working out the kinks.
So, I started an online portfolio… Yep, it’s a tumblr.
And now… time to fill it up…
“Dear niece - on your 8th birthday,
As a future woman in technology, I want so much more for you than I can articulate. Hopefully, things will have seen some change when you are ready to make this world your own. If that is not the case, here is what I wish for you, for every young woman, and for this industry…”–
To a Future Woman In Tech | @bitchwhocodes
Naturally, as a female—not to even mention, a minority—developer, Stacey Mulcahy’s letter really resonated with me. What really hit me, though, is to what extent each of her individual points relate to my own experiences… and the fact that it really took reading her note to find myself looking back on some experiences that seemed okay at the time now really leaving a bad taste in my mouth.
I suppose I have no choice but to be a trailblazer for now but can only hope that things will change sooner than later.
This is a follow-up to Arduino/Pi-Powered Bathroom Vacancy Light [PART II]… I finally threw my code up on github! I am still working out the kinks so keep an eye on the repo in the coming weeks/months.
Yeah, I know. It’s been a while… like 6 months… but I’ve finally finished the first iteration of my Arduino/Pi-Powered Bathroom Vacancy Light!
Here’s PART I.
If you haven’t read it yet… you should, otherwise the rest of this post won’t make any sense.
THE RESEARCH
Since last May, I’ve discovered the Raspberry Pi, a credit card-sized Linux computer, and Pusher, an easy way to incorporate real-time updates into web-connected projects. I decided that the Pi would be a great substitute for the second Arduino that was originally going to receive signals and trigger the light in my bedroom and Pusher would act as a good notification system that both devices could easily access (and prevent me from having to bother with a pointless database table).
THE TOOLS
THE PROCESS
First, I figured out the Arduino bit. After reading a couple of chapters of this intro to arduino book, I was able to piece together a sketch that utilizes the WiFly to post data (a 1 if the door is closed, 0 if it is open) to a page on my server when triggered by a magnetic reed switch that is attached to the bathroom door.
Next, I coded the page hosted on my server in php. It utilizes the PHP Pusher client library (found here) to forward the message posted to the page by the Arduino via Pusher.
Finally, I set up the Pi (with wifi adapter) to run a background python script that is subscribed to the same Pusher channel using the python library (found here). When the bathroom door is closed, the Arduino posts a “1” to my server, the PHP then uses that to trigger a Pusher message, which is then picked up by the Pi’s python script. When the Pi receives a “1”, it turns its LED on, and vice versa. Done.
NEXT STEPS…
If/when I choose to do more with this project, these are the first things that I might try to tackle:
Last month I received a frantic text message from my roommate. “I have an awesome idea but no one to do it with! :(”
His idea involved taking a swing voter in the upcoming presidential election and putting their vote up to a vote on Twitter. Each public tweet containing either one of our two hashtags would count as a vote in either direction and at the end of the project span, our swing voter would vote for whichever side had the most “twitter-votes”. A seemingly simple concept, somewhat controversial (if you’re passionate about that sort of thing, though I saw it as more of a fun/weird experiment than a serious statement), but it was definitely going to be a team effort.
As he had only seen the few hackathon projects I had done (and left unfinished and in “prototype”, un-hosted form, as most hackathon projects usually are), and most all of my other work is on internal company tools and apps, he was originally going to look elsewhere for a developer. I took that as a challenge—we were launching this thing within 2 weeks and I was going to code it.
The guidelines I listed were the following:
So I took to Google…
The first thing I discovered was Twitter’s awesome Streaming API—it allows you to hook into their ridiculous firehose (though they make you limit your search, only a few huge data companies have access to the full firehose offering) stream of real-time tweets and apply your own filters.
The next thing I discovered was 140dev’s awesome open source PHP/MySQL solution for getting and parsing tweets from the Streaming API, called Phirehose—I was able to use their code as a base and filter our tweet votes (while also easily limiting the number of votes per user_id that we count into our database) with only 2 PHP scripts that run on the server at all times. The vote percentages shown in the middle of the two feeds are populated from a simple json file that is updated every 5 minutes from a simple query to our “votes” database table.
I knew that, in the event that the site was a huge hit, storing the full tweet data in our own DB and then constantly querying it to show the tweets in two separate feeds on our homepage might be a bad idea (I’m pretty sure I don’t have the backend chops to scale a database for that kind of activity)—not to mention it might violate Twitter’s new API rules. Referring to the Twitter API again, I found that two Embedded Timelines would do the job for free (and legally).
As for the back-end, I have been especially into AWS lately so it was all done on a basic micro EC2 instance and a MySQL DB on RDS.
Things I particularly liked about working on this project (I like lists):
Things I want to explore for future projects:
Thanks for reading! If you have any questions or just want to discuss nerdy things like this, hit me up on twitter… and PLEASE VOTE FOR JORDAN!
aaand I’m finally getting started on that Arduino project idea from May…
Way back in June I participated in my second hackathon, AngelHack NYC. It’s crazy that I feel as if I’m already addicted to going to these things even though I’ve only officially gone to two at this point (the Foursquare Hack Day that is coming up will most likely be my third!). It must just be the combination of feelings that you experience after 24 hours of straight planning/coding—pure exhaustion, excitement, relief, anticipation. As someone who is coming up with ideas on a near daily basis and wanting to jump from project to project, going to a hackathon is a serious exercise in focus. To start and finish a project prototype in a span of 24 hours alone is a serious accomplishment.
The project my team completed was Fanfare—an app that allows concertgoers to link up with their Facebook friends with similar musical tastes and assists with the group ticket purchasing/distributing of funds. As a huge music fan and concertgoer myself, I came up with the idea after trying and failing to find a friend to go see Quadron (an amazing band who hasn’t quite made its landing in the US yet) with me at Rockwood Music Hall.
Our team didn’t make it to the finals but won a prize from Facebook for Fanfare’s use of the Facebook Open Graph API! :) Of course this is an app that I would love to complete and launch, but alas it’s one of many on my queue right now…
I’ll update again soon about my current projects! Good things are coming.
I have finally decided to start a project with Arduino and… as I am a problem-solver, I have decided to learn as I go and solve a problem at the same time.
THE PROBLEM
I live in a 3 bedroom apartment that I share with two other roommates. They are wonderful people, however, we all share a similar morning schedule and I often find myself pulling myself out of bed and zombie-walking to the hallway only to find the bathroom occupied. I am not at all a morning person, so you can see why this situation is less than ideal. Do I get back in bed and check again in 5 minutes and risk losing the bathroom AGAIN to my other roommate or do I just sit in the hallway and wait for it to be vacant again?
THE PROPOSED SOLUTION
The ideal solution would be to have an airplane-style lavatory vacancy light… in my bedroom. Crazy? Probably. Awesome? Incredibly so!
I think this will ultimately involve using 2 Arduinos—one equipped with a WiShield and a magnetic contact switch attached to the bathroom door that writes or logs a true/false value to my web server, and the other reading data from my server (with another WiShield?) and controlling the alert light attached to the inside of my bedroom wall.
This is my first foray into microcontrollers… and electronics, really… so any and all feedback is greatly appreciated! I am still in research mode and am in the process of drafting a real plan with this blog post acting as my first draft/official project proposal.
Stay tuned for more updates along the way…

Team Fourplay (above) and Team Sidewinder (below) took home the MetaLayer API Awards at TechCrunch Disrupt 2012. Both apps were built from concept to working product in only 48 hours!
FourPlay (previously Team Serendipity) used our Text API in combination with Foursquare to take ‘missed connection’ posts from Craigslist and matched the places where the encounter occurred with location data from Foursquare’s API. The result is a brilliant way to potentially find people you might have missed by looking at who’s checking in, or who’s been at those places recently!
That’s my team!