Today was my last day at TOPP. I spent too short a time there (a 10 week internship is just enough to get you started), and I'll miss it terribly - it's always great to work with incredibly smart (yet down-to-earth) people who use their considerable powers For Good, and even more so if they're hackers - and even more so if they're hackers who are willing to teach me stuff. I'd strongly encourage anyone who wants to learn to be a hacker - perhaps (like me) even make a jump from academic to hacking/open-source dev cultures - to apply. It's also a fantastic place to learn how technical work can directly tie into social change. (Yes, there are chaos and rough edges, but guess what? That means it's hackable. I much prefer that to a polished, well-oiled culture/structure that I can't change.)
I swear I learned more about Linux in the past 10 weeks there than I had in the last 6 years of using it myself. I'd see people type commands or have a funky screen configuration, and go "whoa whoa, what is that?" whereupon they would enlighten me; I also learned by back-scrolling through the history of commands they typed into my terminal while helping me debug. Also, they sent me to PyCon. (As an intern. All expenses paid. How many companies would do that?)
Were I to do it all again, I'd set up some sort of study plan thing and focus on a different topic every week, read books, write code, get people to do it with me - like the time when David Winslow gathered a bunch of us in the office after work and we proceeded to, in unison, learn Haskell. We took turns writing solutions to tiny puzzles in Haskell on a big screen, and cheered when Seb typed in a refactored fibonacci number generator that was orders of magnitude faster than the "basic" answer and not many more lines of code (and then we played Smash Brothers on the Wii, which was also fun).
I also learned a ton about testing (which I no longer hate - in fact, I'm intensely intrigued by the notion of testing as a mental discipline now - thanks, Tim!) and how to work with large amounts of code you didn't write, and how to to talk to other devs, and why documentation is really hard, and why maintenance is so important (and so difficult - I worship Josh and Paul for doing this continually), and a little more of what makes software beautiful. I learned to be less high-pass and insistent on Fixing Everything Right Away (thanks Ethan!) and how to read and grep through code (yay for Jeff!), how OSS can be both exciting and economically feasible (go Seb!) and how a little bit of bash can go a long way, and how amazingly fast a good hacker can be (the Davids W and T, respectively) and how to design things so I don't burn the eyes of my audiences out in horror (Carly!) and how good workflows inform code (Sonali!) and how to run an awesome office (Brian, and now Rebecca) and... I just want to name every single person in the office and thank them profusely but this paragraph will get ridiculous, so just let it be known that I am (1) inspired - tremendously - by everyone at TOPP (2) am grateful for all that they have taught me.
Well, I'm still planning on hanging out on IRC; there are some projects there that I care tremendously about and want to keep on pushing forward - namely the dev centers for various subcomponents of the openplans stack and some of its supporting tools. (I work on things I care about as long as I have the means to do so, regardless of whether the means to do so comes from the projects that I care about directly - and hence do work on.) I'm also watching for the geo web to rise up and take the world by storm, with TOPP parading proudly in the front line opening it up to people.
Next stop: To Boston - and then shortly thereafter, onwards to Seattle.