2011 Year in Review
Welcome to my third annual Year in Review! 2011 was the year of NASA Tweetups for me, attending 4 in total (plus a JPL open house), including the launch of the Juno mission to Jupiter. It was also a year of some firsts including buying an electric car and a hot air balloon ride.
Speeding up satellite predictions in PHP with HipHop
Background
Seeing something in space fly overhead with the naked eye is pretty awesome. It's not only a technical marvel to enjoy, but for me it helps keep things in perspective and my thoughts on the big picture. Ever since the first time I saw the International Space Station fly by, I've felt that it is something everyone should experience. I started looking at existing software to help remind me (and others) when the next pass of the ISS would be, and while there are a few good websites out there for satellite prediction, none of them did exactly what I wanted. So a few months ago I decided to try and build my own. The biggest piece of my project was going to be getting the actual satellite data. So I looked around for existing data APIs that I could use, but couldn't find anything other than scraping existing sites (which is not only fragile, but some have no published data policy). So, the first step was to figure out how to to generate the predictions myself.
More do it yourself home improvement fun – garbage disposal replacement
Ever since we moved into this place over three years ago, our garbage disposal has been a bit noisy, and more recently has started to smell bad. The model we had, the In-Sink-Erator Badger 5 Plus, was not easy to clean since the black rubber flap at in the drain was not removable. Since the disposal was pretty old, we decided to replace it.
PHP’s interactive shell as your application console
When developing a web application, it's common for your feature development to be ahead of any data administration tools you might need. While some frameworks, such as django, have built in admin tools for managing your application's data, many don't. At my current job we use Zend Framework, and have rolled our own lightweight model layer which does not have any fancy automatic admin tools. In addition to supporting database pools and selectors for partitioning of data, it also has transparent caching of data. While this is good for speed, it precludes you from making any data storage changes without going through this model layer or the cache will get out of sync. For now, rather than doing any DB queries directly, we do them through CLI jobs built for a specific task (batch updates, etc). This works fairly well, but often things come up that aren't yet supported in the application's admin tools, such as changing a user's status bits, etc.. Things that a CLI console would be useful for.
Our first foray into do-it-yourself plumbing repairs
Last week our drain in the garage got stopped up during a washing machine cycle, spilling water onto the floor. While the dishwasher was also affected, the rest of the house (kitchen sink and bathroom) were unaffected. This is good news since just a few months ago we had some major plumbing work done. It meant that the sewer line was clear, and the blockage was somewhere in our internal pipes. We decided to try out a new plumber since we had some minor issues with the previous work. But since they wanted $225 to snake the drain, we decided to take a stab at fixing it ourselves. If we failed, all we would lose most likely was some time and effort.



Twitter
Github
LinkedIn
Facebook
PEAR