"Extreme Programming" Pachyderm


Joshua Archer has been in the Learning Commons this week (up from the CSU Center for Distributed Learning at Sonoma State University. We're working on the code that will drive Pachyderm 2.0, and it's been a pretty intense week so far.

I'm feeling a bit out of my league, with King and Josh running with this stuff, and me panting about half a lap behind, struggling to keep up. Just like junior high school gym class all over again ;-)

Anyway, we've taken over the old computer lab in the Learning Commons, and have set up a pretty effective working area. It's sort of like Extreme Programming, with 1 computer shared between the three of us, and supporting computers for each. My laptop was hooked up to a projector, and King plugged another monitor into the projector's VGA out. This gave us 3 displays of the same screen (one about 10 feet wide for easy viewing). King also plugged a second keyboard/mouse combo into a spare USB port in the Powerbook, so he could take over as needed. King also had his Powerbook for searching docs, and Josh had his Thinkpad as well.

I'd always assumed I'd hate Extreme Programming. I thought it would suck, and that the programmers would be tripping over each other. Not the case (maybe just with this group?) - kind of a cool flow situation. Very slick, and amazingly efficient. 6 eyeballs on all of the code at all times.

Tuesday evening, we were still hacking away, but decided we should watch the final game of the World Cup of Hockey (Canada vs. Finland). So, we planned to string a coax cable into the lab to watch it on the projector. Coax cable wasn't long enough. Doh. So, King hooked up our own QuickTime broadcast of the game from CBC over the LAN to Josh's Thinkpad, which was then projected to the 10' shared screen (and Julian tapped the feed as well, from his cube down the hall). Worked great (there's a photo of this in my Flickr space), until Lawrie's daughter decided to change the channel to the Muppets with 10 minutes left in the game. Doh. ;-)

SubEthaEdit would make some of this multi-screen collaboration possible at a distance (with Josh back at the CDL, and King and myself here in Calgary), but there isn't the same chemistry involved without everyone in the same room.

The code that's coming out of these sessions is freaking amazing. King's mastery of the stuff that shouldn't be possible, and Josh's conceptual model of the whole system, are combining to make this some pretty sweet foundation code. The biggest change came last night, when we were winding up a 14-hour session after 9pm. We ended up trimming over half of the tables from the database. What was initially modeled on poster-sized paper produced on a large-format plotter, now fits comfortably (and more legibly) on 2 sheets of letter sized paper.

The other big thing that was developed was the implementation of a document model to represent Pachyderm presentations. We'll be writing the authoring tools, and they won't even have to know about databases. They'll be creating documents, and adding/manipulating the content of these documents. Very very cool stuff.

Anyway, tomorrow's the last day of this marathon hackathon. I sure hope I can keep up... ;-)


See Also