12.19.08

Open Source Software Collaboration with Daan

Posted in Software Development at 4:15 pm by sam

I recently had a cool experience with open source software and the worldwide internet community.

A while back I was working at a giant insurance company that had a history of ginormous development teams and projects that grew way beyond original scope, went way over budget, and were occasionally canceled even after completion because the final product didn’t really end up meeting the users’ real needs. A couple of my bosses had read up on agile software development methods, Scrum in particular, and wanted to give it a try. Our team was pumped, and we found a toolset that would fit well with the agile approach (mostly centered around Trac and Subversion)…almost. We couldn’t find anything to display a real-time burndown chart, one of the key elements of Scrum. I dusted off some Python skills I’d used a few years earlier at a game dev job and learned how to write basic plugins for Trac. One weekend and a couple evenings later we had the ScrumBurndownPlugin. It was a quick and simple hack, but it got the job done. The team flourished under the agile approach. We rapid-prototyped and cranked out an application that was/is valued highly and used heavily by the company’s employees. But that’s not really the point of this story. The point is that I wrote the plugin at home, on my own time, so I was free to do with it what I chose.

I decided to release it to the open source community. I’ve used a ton of open source software in my career, but I hadn’t ever contributed before. I put it out on the trac-hacks.org site, and it didn’t take long until teams of people all over the world were finding, downloading, and using my little plugin to help manage their own development projects. I gotta tell you, that was a pretty fun feeling! That fun feeling, however, came with a new problem…feature requests and bug reports. Now I’m the type of person who tends to over-commit. Besides my real job I always have a half-dozen business ideas to work on, lots of friends and family to spend time with, a huge list of books to read, and a few crazy adventures to attempt. People were using my plugin in all kinds of configurations and setups that I had neither the time nor the inclination to debug. It was a simple weekend hack, and that’s it. This is where it gets cool. When I didn’t jump right into fixing the problems, other strangers started taking care of them for me. Every so often I’d get a code patch and an e-mail explaining how somebody somewhere fixed such-and-such issue or enhanced the plugin in some other way. Usually the fixes were pretty simple, so I’d look the code over real quick and apply the patch. How easy is that? Apparently it’s not easy enough for me because eventually I fell way behind even on applying other people’s fixes. We started using Redmine instead of Trac at my new employer, and I just didn’t have time to test anything.

A few months ago I put a note up on the wiki page for the plugin apologizing for being so far behind and suggesting that I’d like to hand the whole thing over to someone who would be faster/smarter/better at maintaining it. That’s where my new Dutch friend, Daan, comes in. Within a week of my post I got an introductory e-mail from him. He had been one of the people who had previously submitted some patches and upgrades. He explained that he had already made a bunch of feature improvements on the plugin that he was using internally at his company, and it would be a pretty natural fit for him to maintain it from now on. I was sold, and we switched the control over to him within a week. Now the plugin is back on track with a growing user base, Daan and I follow each other on Twitter, and we subscribe to each other’s blogs. How freakin’ cool is that?! Did I mention that he’s from the Netherlands, 2300 miles away? I intend to do a lot more traveling before I die, but so far I haven’t managed to make it beyond North America…and even though I know that this global collaboration thing has been happening more and more for quite a while now, it’s a really fun experience when it happens to oneself.

Where’s My Blank iDVD Theme? Here it is!

Posted in Miscellaneous, Nerddom at 2:05 pm by sam

I recently used iMovie and iDVD to create a new compilation of a DVD I had created a long time ago with a combination many different complicated and annoying pieces of software – one program to edit the music, another to stitch together photos and sync them to the music as a movie, yet another compress and encode the movie file into a DVD-friendly format, and still one more to put it all together as a DVD image and burn it to a disc. Back then the process for creating homemade DVDs was a nasty bog only a really dedicated geek would be willing to slosh through. So let me first say that iLife is a brilliant software package that makes it really fun and intuitive to put together slideshows and home movies and burn them to a disc that looks and feels (semi-) professional. It truly does play Falkor to the Swamps of Sadness you and your pal Atreyu used to have to endure. (Give me a new name, Bastian)

All that being said, why isn’t there a completely blank theme for iDVD? Sometimes I don’t want your stupid menus and graphics, Apple. What, should I choose Sunflowers or Vintage Vinyl for a movie to be played at my friend’s funeral? As a company that cares about aesthetic, you should be able to appreciate that.

The closest thing to a blank slate is the Full Frame theme that can be found in the iDVD 6 themes. But even that has an annoying semi-transparent bar across the middle of the screen. Soooo…after an hour or so of unsuccessful googling around for a solution, I took it upon myself to hack up the Full Frame theme and remove the non-essentials. Thankfully, the iDVD theme files are just xml files, so it only took a few guess’n'tests to find and delete the menus and images.

Here’s a zip file containing the hacked Full Frame theme. Here’s what you need to do to use it: Unzip the file somewhere, then copy the three files that you just unzipped to <your_user_home_folder>/Library/Application Support/iDVD/Installed Themes/iDVD 6/

WARNING: This will replace the previous Full Frame theme. So if you’re going to want the normal Full Frame theme again, either back it up or don’t do this.

12.01.08

Suckretariat Rides Again — D.B.A. The Nerdy Noobs

Posted in Fitness at 2:28 pm by sam

Last month I tried my luck at another adventure race. This time it was the Planet Adventure Sprint Race Redux. This race was a re-schedule of the original PA Sprint race that got rained out by the 500 year floods back in June. (Mitch, Lauren, Shannon, and I were tent-camping in the 500 year flood and, somehow, the inside of our tent stayed dry.) The original team for the June race was just Mitch and myself, and we were called The Nerdy Noobs. Tom ended up joining us for the Redux, so we had to work Suckretariat back into the name — officially, we raced as “The Nerdy Noobs (a.k.a. Suckretariat).”

The name of the game for the day was “Sam falls in the mud.” Something must have gone horribly wrong with my inner ear that day because I tripped at least 15 times during the orienteering course. I consider morale boosts my strongest contribution to the team as I provided many a spectacle of flops and rolls in the swamps. I was too quickly back on my feet for the cameras to catch me lying in the muck, but you can see the results of one of my swamp splats smeared across my face in the following shot from the canoe trip back across the lake.

check the muddy warpaint

check the muddy warpaint

Balance issues aside we learned a lot from the last event and were in 8th place after the orienteering, only 15 minutes behind the #1 team (the top 3 or 4 teams are sponsored and have very impressive matching jerseys and gear, by the way). We remembered to find handrails and ran at high speeds, as evidenced by the blur in this photo:

too fast for the camera

too fast for the camera

In true Suckretariat style, we missed a turn and checkpoint on the biking portion and went 2.5 miles out of the way. The resulting 22nd place finish was still higher than we expected, and we had just as many laughs as we did in the Indianapolis AR. Adventure racing is definitely my new favorite sport, and I’m looking forward to doing at least a few more races next year. Word on the street is that Planet Adventure may host a mini adventure race series, racing every Sunday through the summer.

orienteering - "the thinking sport"

orienteering - 'the thinking sport'

Sam fiddles with the map so that he doesn't have to carry the canoe.

Sam fiddles with the map so that he doesn't have to carry the canoe.