Archive of Interesting Code

A project to catalog (every?) interesting algorithm and data structure, ever.

The examples on this site are in a variety of languages. I generally prefer to use C++ for algorithms, since the STL provides a great framework for expressing algorithms that work on a variety of data types. I code up most data structures in Java, both because the Collections framework allows them to be integrated in seamlessly with other applications and because automatic garbage collection simplifies some of the resource management. Every now and then I’ll find an algorithm or data structure that is best represented in a different language like Haskell, in which case I’ll forgo my usual language conventions.

Archive of Interesting Code.

Brooklyn is my office

I’ve just crossed the two year mark of working from Brooklyn, New York as a member of a team based in Austin, Texas. Working remotely has taught me one very clear lesson — I must leave the house, every day.

As great as the *idea* of commuting 10 feet every morning is, in practice it can take a pretty serious toll. A day of not leaving the house can be fine, occasionally, but somewhere between the second and fifth day comes a transition into mild agoraphobia, and soon thereafter a trip out for coffee starts to look like a kamikaze mission.

So I spend my days on an endless coffee shop tour of Brooklyn. After a while it gets so that when your friends mention the new sandwich shop down the block, your ad hoc review isn’t about the food or the service — it’s about the wifi, the availability of power, and how many hours the owner will tollerate you hogging a table. Turns out that after a while even the kindest of baristas will not-so-gently remind you that she isn’t running a f**king boarding house.

So I move, a lot.

What if I could shave a few pounds of bag weight by leaving the MBP at home and going ultralight with my iPad and a nice Bluetooth keyboard?

This guy seems to have it all figured out.

Twelve months later and I find I’m still working like this. A combination of Vim and GNU Screen for development, Pages for writing, Keynote for presentations, Jump and VNC for unavoidable X windows work, Mobile Safari for web apps and a hefty dose of python scripts to smooth off all the edges. I use it for development, for presentations, for my side projects, for everything.

via Yield Thought, iPad + Linode, 1 Year Later.

So I’m ticking off the must haves and finding alternatives which make an all-tablet life potentially tolerable — and give me the freedom to spend some sunny afternoons in the park, happily working further from the power grid than I’d have ever dared in the past.