Wake Me Up!

Wake me up!

Alarms are alarming. They’re super fine and useful if you really need to be up at a certain time and it’s hard for you to hit it. Otherwise, they are the harbingers of morning terrorism.

I got my lights to slowly turn on to tell me it’s time to get up. It takes 15 minutes to go from 0 to full brightness, at the time I specify.

I’m finally back on a hacking/automation kick. For a number of reasons which I won’t write about, for everybody’s sake, It’s been ...


Password Security Primer 1

This weekend my sister's Twitter account was a victim of one sort of attack or another. She spammed me some advertising over direct message. It could be one of several things, but I'm going to drop some password advice for everybody.

Most sites and applications use a password for the base of their security and their ability to identify and authorize you to change things on your account with them. Having some knowledge about how to make and use good passwords is very important to staying secure online.

Why you should use good password practices:

  1. It's the ...


Philips Hue API Hacking

Here it is! My Python client for the Philips Hue system is done.

The Short:

It's available on Github.

Sample Usage:

from hue import Hue
h = Hue() # Initialize the class
h.station_ip = "" # your base station IP
h.get_state() # Authenticate, bootstrap your lighting system
# The first time, you have a minute between calling get_state() and pushing
# the button on your base station to authenticate your machine. It should
# Log and tell you if that is going to happen or not.
l = h.lights.get('l3') # get bulb #3
l.bri(0) # Dimmest
l.bri(255) # Brightest ...


WeMo API Hacking

WeMo Hacking part two!

In short! It works! miranda, with some tweaks and fixes is a good tool for tinkering with your Belkin WeMo switch with Python. I'd suggest starting with my toolkit here: https://github.com/issackelly/wemo

The WeMo is communicating over pretty standard UPnP, though like anything else, it has some quirks.

It wanted a very specific namespace string for the SOAP envelope that contained a trailing slash and Miranda wasn't sending that.

I also added the same User-Agent that the mobile app uses for the HTTP (via UDP for UPnP) headers, and fixed the ...


I'm Issac Kelly. I like to build things, with software and hardware. By day I do that at Nonchalance in San Francisco. I like to teach people, but mostly about the things I'm interested in. I'm currently a mentor at Hackbright Academy. I'm building open source automation, albeit slowly at Plum Garage.

If you want to know when I write

If you want to know when I write, you should give me your email address, or if rss is your thing, subscribe