OpenPlans: Week 1
I just finished my first week of work, it's not actually. I'll explain later.)
The Open Planing Project (TOPP) is an funky place to be, and a nice follow-up to Olin and OLPC in that it's a hackerish place full of smart people and chaos that I haven't figured out yet and don't expect to ever fully understand. (This is good; when I understand things, I get bored.) I like environments that are full of undefined flux because I'm usually able to do more within (and with) them. I'd like to think that means I'm a creative person, as per John Gardner ("The truly creative person is not an outlaw but a lawmaker"), but the truth is probably somewhere closer to "I'm easily excited by shiny things."
Oh, yes. What does TOPP do? Good question. My own image isn't wholly stable either; the picture in my head morphs, constructivist-style, every time someone tries to explain it to me. We're out to save the world, of course. Or rather, out to help the world save itself. (I think) we build tools to enable people to gather, contribute, and manipulate information about their local and not-so-local communities, tools to find and collaborate with like-minded people, and run events and programs to encourage them to become activists about whatever they care about.
In particular, there's geoserver (an immensely powerful and popular geospatial data manipulation program - think the back-end of Google Maps, but nonproprietary) and openplans, which is sort of like sourceforge for non-coding projects. Openplans.org provides free, hosted, integrated tools (blogs/wikis/mailing lists/tasklists/etc) to grassroots groups to help them communicate and catalyze themselves more easily and effectively. Having been "The Computer Person" for far too many grassroots/project teams and therefore the one who's sat through several dozen blog/wiki/mailing-list/task-list/etc setups, I like this immensely. Consequently, I'm working on openplans.
There are other small projects in the office just starting up, but openplans (the software running on openplans.org, though anyone can download and install it on a local server) and geoserver are the two main ones, along with an implementation of the latter at nycstreets.org which specifically catalyzes action around traffic and urban planning in New York that make communities more vibrant and livable (less parking lots, more parks, that kind of thing).
And the best part is that they're open-source, so sharing things about my projects not only isn't violating any NDAs, it's part of my job. Rock. (And - and - and - PYTHON! YAY!)
I'm still not sure what I'm doing; the "what is Mel doing?" meeting got pushed back on 4 consecutive days due to high localized levels of randomness, so I finally settled on an Official Project (which was what I had started doing anyway) yesterday afternoon. It's stil being fleshed out so I'll write about it here (or more likely, on the TOPP blog and then link to it from here) when that's a wee bit more settled. Suffice it to say that it works nicely with my dual obsessions of learning about software and teaching other people how to use it, and requires that I do a lot of of doc writing in addition to my coding (which makes me happy - I'm weird like that).
In the meantime, lack of official assignments have never stopped me from doing work. (I usually prefer finding my own tasks to do, actually.) In addition to learning the bewildering new array of tools (couchdb is pretty sweet, and pylons equally so, though I have not figured out how to use nosetests yet), processes, software, and people, I repeatedly hit walls building the openplans stack on David's tower on Thursday and decided to go MEL SMASH! on the documentation, with a lot of help from the Very Smart Developers (thank you for putting up with my incessant questions, guys).
We now have new-dev-coherent build instructions (still needs some tuning, as I'm consolidating them into a script and want to test them on other platforms to make sure they're not Ubuntu-specific, and a lot of other really good feedback from the openplans devs). This wasn't a huge job or anything, but is slightly less trivial than it sounds; my first build of the software stack took 3 people (2 of whom had been through umpteen builds before) and 5 hours because of some undocumented library requirements that took some digging through error messages to figure out (and it was apparently a relatively smooth, fast, low-manpower install, which scares me slightly). I can now complete a build in under an hour with most of that hour spent doing Other Things while files download in the background. This is good.
My big overarching goal is to make as much of openplans accessible to external developers as possible. I'm dogfooding here, since as a new intern I'm essentially in the position of an "external developer" coming in, only with the more-relaxed time and space required to document and improve the process since I'm not pressed to start fixing bugs as soon as possible. They usually give interns Barrett-2* problems, and my project falls into that category. (I say "usually" because I'm either the second or third intern ever, or... in any case, numbered low enough to count on one hand without using binary.)
* from Prof. Dave Barrett, Olin's SCOPE (senior engineering capstone) program coordinator. Barrett-1 problems are mission-critical, live-or-die ones. Barrett-3 problems are ones that don't matter at all. Barrett-2 problems are ones that would be super-helpful to solve, but aren't in the critical path of deployment, and which consequently none of the normal employees has time to do.
This is kind of silly, but I love the free lunches, which are usually large enough that I don't have to eat dinner as well. Really nice perk, and it means I'm eating much better than I would otherwise (when I make my own food, I eat the cheapest stuff I can get that's vaguely nutritional, meaning bowls of vegetables and rice and beans which aren't too tasty). This week we went to a nearby burrito place, and I got a huge, steaming beauty the size of a small infant, slathered with two types of salsa, guacamole, and sour cream. The day before that was Indian food. I am stunned at the prices New York restaurants manage to charge.
The space itself is amusing, as I mentioned at the start of this post. It's in Manhattan and in a former stair factory (there's still a winch on one loft ceiling) that got turned into 3-4 different apartments, and then our office. One of these former apartments was apparently owned by a shoe designer with an obsession for Greco-Roman interior design, and is rife with figurines of cow heads, ornate tile patterns, gold-painted fixtures, huge plaster figureheads on the walls, and Very Large Ionic Columns proudly lifting up the loft and encircling the neon-blue-lit room. This section of the office is referred to colloquially as the Porn Palace, which makes for interesting room-scheduling emails.
So that's what I've been doing with my life lately. Over this weekend (among other fun things) I'm going to sit down and figure out how I'm going to re-fit everything else back into my life as well, although I think I've started to carve out more time for OLPC and some other projects that I was doing before while still getting sleep. It'd help if I lived in the city and didn't have a 2.25 hour commute to New Jersey each way (yes, I spend over 4 hours in transit daily) but I'll take what I can get, which in this case is free rent (hurrah for uncles!) that allows me to save up to run the OLPC Chicago grassroots office this summer. (My parents will complain here about me using all my time/energy/money to do things other than taking care of myself, to which I reply "but I'm happy doing this, and more helpful.")
It's a good way to start off the Chinese New Year.