Pandemic is a really amazing game. Instead of players playing against each other, you are playing against the game mechanics to try to cure the world of 4 diseases that are breaking out in different geographies. Difficulty level can be adjusted by setting the frequency of the outbreaks. The noob level of pandemic is 4 epidemics. Susan and I can pretty much beat every instance of that. Last night we managed our first victory at the 5 epidemic level (after a fare number of losses). For anyone that knows the game, they'll notice we were at our final outbreak level when we won.
Moving 1.2 Tera Bytes
Back of the envelope math is good to do. I'm currently working to upgrade my raid array, but due to a lack of ports on the home server, I'm using a second box to build and initialize the new array. 1.2 Terrabytes / 100 Mbs network = 26 hours at theoretical peak performance. I'm getting about 80% of peak, so just over 30 hours. Ooof.
Goodbye Naughts
1999 was probably one of my worst years. It included lots of friends moving away, a rather awful breakup, and 2 funerals, one of which was for a friend from college. I was very happy to be done with that year.
New Year's 2000 was celebrated with a few friends from Wesleyan hanging out in my apartment in Beacon for the weekend. We play some video games, and went and saw Galaxy Quest on a lark after the new year. That turned out to be one of my favorite movies.
My future game plan on Jan 1 2000 was pretty much 2 fold. #1 go to the Sydney Olympics on IBM's dime (I was on the olympics.com team already at that point). #2 leave IBM as soon as I got back and join another tech company in either Boston or SF. My friend Trey and I had some tentative plans to collectively move to one of those cities and be roommates. The one thing I could have said with certainty in January 2000 was that I would not be at IBM 10 years later. Man, predictions are hard. :)
The 2 events that most shaped my decade happened in 2001. In January 2001, I made a decision to stay at IBM. I had an offer on the table from another company that would have taken me to Cambridge, but staying at IBM meant moving to the Linux Technology Center, which I really wanted to do. In June 2001 I met my future wife, Susan Tveekrem. We met at my parents house in Vermont, and I can still remember sitting next to her on the ramp up to the deck chatting with her. 5 years later she would be escorted by her father down that ramp in a beautiful white dress.
The other 2 events that get honorable mention for the decade both happened in 2003. In March 2003 the first MHVLUG meeting was held. I consider creating and maintaining that group to be one of my major constructive accomplishments. I learned a lot about people, group dynamics, and community building through that. I also made an incredible number of friends through that group. In September 2003, through some encouragement by Susan, I went back to school. 6 years later I'd graduate with a Masters Degree in Computer Science from Marist College. Working on that degree defined a lot of the decade as homework and exams were often constraints on many aspects of our lives.
Susan and I celebrated the end of the naughts at our house last night, with about 10 friends, many made through or because of MHVLUG, playing games till about 2 in the morning. Lots of great fun, and a good way to start off the Teens.
What I'm listening to
After I got my HTC Hero and purchased DoggCatcher, I've now got this entirely seemless podcast experience as my phone grabs the newest stuff any time I'm on wireless. It caused me to do some trimming and tuning on what is being pulled down as I work towards having approximately the same number of hours of podcasts a week as I've got car rides and yard work. For those interested, here is what I'm listening to now.
- Drunk and Retired. I honestly can't even remember how I originally found this podcast, it must have been through something ruby related at one point. This is Michael Cote's original podcast with Charles. They talk about random tech topics, zombie topics, now some fatherhood topics, but it's all around interesting, and lots of fun to listen to. Charles has some really great insights on development, and I've loved listening to his various journeys through ruby, java, and javascript. I enjoyed D&R enough that I went back to the beginning and listened to the entire backlog. I even really enjoyed the 4 hour scotch tasting episode... and yes, your read that right.
- IT Management Podcast. Once Cote got hired by Redmonk, he started producing more podcasts covering a range of subjects Redmonk was doing analysis on. I tried most of them, but IT Management Podcast is the only one that stuck. John Willis has a real wealth of knowledge in the industry, and very recently got hired by Canonical on cloud strategy. The podcast is honestly more cloud than "good old fashion IT management", as the boys would say, but that suits me just fine. If you are looking for a good source on what's new in cloud computing, this is one of the best out there.
- AstronomyCast. Once I got my telescope this was suggested to me by a friend of mine. AstronomyCast is incredible, just flat out incredible. Each of the 162 30 minute episodes to date takes on a specific topic in Astronomy and gives it a really wonderful treatment. The back and forth being Pamela and Frasier is really fun to listen to, and the do a great job of making the information very accessible. Honestly, anyone above the age of 12 could probably get into this quite easily. After listening to the entire AstronomyCast back catalog I feel like my knowledge of Astronomy is now at quite a reasonable level. This podcast also has the added benefit of being very wife friendly. It is one of the few science or technology podcasts that Susan is eager to listen to when we are doing a long drive in the car.
- Slacker Astronomy. Before I found AstronomyCast I found Slacker Astronomy. The slackers publish far less often then AstronomyCast, and it is a more free form model. To get into Slacker Astronomy you need to know a few more things about physics and astronomy out of the gate, as there is less explanation there. I appreciate that though, and am always psyched when I find out there has been another slacker podcast posted.
- 365 Days of Astronomy. In case you didn't realize, this is the International Year of Astronomy. This podcast was an interesting experiment to get volunteers from all over the world to put together 10 minute podcasts and have a new one every day. They aren't all great, but there are a lot of great ones in there. And the breadth of volunteers and subjects is quite nice. Even if you aren't into astronomy, check out this one epsiode on Roswell that really debunks a lot of the story and timelines associated with that myth.
- Geologic Podcast. The theme song in front of the 365 days of Astronomy was done by George Hrab, and eventually I decided to check out his podcast. It's not about geology. George is a musician, a skeptic, and all around great story teller. He also has a sense of production values for this podcast that rival some of the greatest radio being done today. The Geologic podcast airs once a week, and the moment I get my new episode I jump from whatever I'm listening to and flip over to it. The last time Nick and Heather were around I put in on in the car, and it happened to be the episode that starts with worst gig ever. I'm not really sure how we managed to stay on the road as we were laughing so hard during that story.
- Radio Lab. Radio Lab is This American Life meets science reporting. It tells some really compelling stories that all have some element of science in them along the way. I'm also really happy that it gives Robert Krulwich an outlet again, as I've always really appreciated him as a popular story teller. I find him far more compelling that Brian Green or Neil deGrasse Tyson as a popular voice for science. I do realize that he doesn't have the same credentials, but his ability to do outreach is far greater. Radio Lab is a WNYC production that is done somewhere irregularly, but great none the less.
- This American Life. It is probably hands down the best radio being produced today. A bad This American Life episode is still quite good. A good one... will make you weep, laugh out loud, and totally rethink some opinion you've held, all in the same hour. I'm really happy that the folks at This American Life let the podcast out there, because many other shows of that quality on NPR have not.
- Planet Money. Spawned out of the great This American Life reporting on the financial crisis last year, Planet Money was an attempt to bring a 3 times a week podcast out there that tried to explain economics for mere mortals. Planet Money was strong out of the gate, but had some issues finding a voice after 4 months of the financial crisis. Fortunately, they eventually did, and really broadened their approaches to exploring economics as applied to many fields. The many episodes they've done over the last 4 months on the economics of health care in the US have been incredible, and really informative, and often surprising when you start to understand the complexities in the current health care system. It also gives you a much more nuanced understanding to what a "free market" means, because every market is just actors inside of constraints. Economics is really about understanding how those constraints (be they incentives, regulations, taboos) change how the actors interact. The Pirates Have Timesheets episode gives you a really nice example of that.
- Wait wait don't tell me. This is the NPR news quiz show. It's sort of daily show light and airs weekly. I get it as a podcast mostly because 11am on Saturday is a dubious time for me to be near a radio. If we're working around the house, I typically listen to it live, if not, it's podcasted for me to enjoy it later.
- The Media Project. While On the Media is probably the more popular national show on this subject, I really like the take our local public radio station does with this. Sometimes I'll catch the Sunday rebroadcast live, if not, it's on the player and I listen to it that way.
- This Week in Science. This was a suggestion in DoggCatcher, and the first episode I listened to seemed quite good. I think this one is sticking around.
Things I used to listen to but gave up on for one reason or another
- LUG Radio. This show was great, but it ended. Damn you!
- Linux Outlaws. While it's still probably the best Linux show out there, it's far too dry for me. I know a lot of folks that like this more than LUG Radio because it's PG language instead of a hard R, but I don't mind vulgarity at a certain level in my podcasts.
- Security Now. I really felt like the information density was too low in this. While I do like Leo... the other guy got on my nerves from time to time. I know lots of folks that like this podcast, I'm just not one of them. Perhaps if you were more of a Microsoft user it would be more relevant.
- Floss Weekly. I was pretty frustrated by the treatment of Justin on the OpenSim episode. I just don't think it's right to put someone into apology mode on an interview show about the platform their project is written in, especially a show that gives smalltalk a pass.
- TWiT. John Dvorak is always wrong. I'm now convinced that is an axiom of the universe.
- Google Developer Podcast. This had similar issues to a lot of the Google developer bits on youtube. Informative but bland and too much reading scripts.
- The Gaurdian's Tech Weekly Podcast. This had exactly the opposite issue, it was too over produced. You could hear them watching time codes the entire episodes. One of the beauties of podcast medium is that if it's 28 minutes or 34 minutes, it doesn't matter. You don't need to rush something, or cut it off, to fit into a standard time block. They seem to have missed this memo.
- Some Ruby Podcast. Honestly, I don't even remember which one it was, but it had the same issue as Linux Outlaws. High on dry facts, low on interesting stories or banter. You really need to be a multi level black belt at podcasting before you are allowed near a sound effects board, and these guys broke that rule.
I'm sure I've forgotten some along the way, and I'm sure my listen list will be a bit different in a year, it always is. I'll actually be interested in revisiting this post in a year and see what's changed. Perhaps this might help you discover some new things to listen to. If so, or if you have other suggestions for your favorite podcasts, or this inspires your own write up of what you are listening to, I'd love to get a comment from you. P.S. Hope all you Americans out there have a happy Turkey Day tomorrow. Turkey and Cranberries are about the best things in the world as far as I'm concerned. :) Updated (11/28/2009) to be more specific on my criticism of FLOSS weekly, as Randal correctly called me out for having just a vague slap down.
Moving on from OpenSim
This has filtered a number of places, but I figured I should post it out on my blog as well, which will hit the OpenSim planet in the process.
I'm moving on from the OpenSim project, for now. I got involved a little over 2 years ago as part of my role in the Linux Technology Center at IBM. Over the past 2 years I've made incredible friends, and seen the OpenSim project grow from seeds and ideas to wondrous function. A really community exists around this project, one that is unquestionably going to change the world.
My official daytime activities are changing to something very unrelated. You'll still see other folks from the IBM team working actively in the community, Kurt, Rob, Arthur, Alan, Suzy, Zha, Dirk, but for now I'm going to disappear as I deep dive into my new work, and stop being such a slacker on some of the volunteer work I've let slide the end of this summer.
Good bye's are weird on the internet, because no one every really goes very far. But given how visible I've been at times on OpenSim, I figured I owed it to folks to say something instead of just disapearing into the ether. As I've learned in working with other open projects, good bye's are never final, so I hope to get engaged again in the future. Until then... keep on planting those virtual worlds and letting them bloom.
Talking at Ohio Linux Fest
As it turns out I'll be giving 2 talks at the Ohio Linux Fest, coming up on Sept 26th in Columbus Ohio.
OpenSim: Open Source 3D Worlds
For OpenSim folks seeing this in the planet (or elsewheres), I'll be giving an overview of OpenSim at Ohio Linux Fest. A little bit of history, a little bit of architecture, and hopefully some live demo (if the wireless holds out). I've done this before, and it's quite a bit of fun, especially when folks in the audience figure out the build tools for the first time, and the in world presentation gets a bunch of random things building in and around you. If you are within driving distance of Ohio Linux Fest, you should come out for it. And if you do, please come up and introduce yourself afterwards.
A Decade of Linux at IBM
I was asked today to fill another slot, with a talk that's become called a Decade of Linux at IBM. I've been part of the LTC for 8.5 years now, since near the inception, and part of some of the underground Linux movement at IBM before that. Starting in early 1999 I began running Linux as my primary desktop inside the firewall, and never looked back. I managed to sneak Linux into the Sydney 2000 Olympics, and was lucky enough to move into the LTC as it was starting to spin up in early 2001. This talk will be a mix of history and tech, with hopefully a couple of fun annecdotes from the early days of Linux at IBM, through to modern day, highlighting a lot of what we've accomplished as a group along the way.
Now I just need to work on my slides... as it's only 15 days away!
Kayak Adventure on Wappingers Creek
Last night Jim and I decided to take advantage of the evening and do the 7.5 mile stretch of wappingers creek that runs near my house. There is only one put in, and one take out, between water falls, and it's a one way trip down stream, so you need to plan with 2 cars.
For those that haven't noticed, we've gotten nearly 10 inches of rain this month, so the river level is high, and thus pretty fast still. There is only one section of this that I think you could call white water, which occurs about a mile in. But it's in a wide part of the river and very straight, so you just don't let it turn you around. The real challenges of the trip were the whirl pools, which there are many. As we were in 14.5 ft boats, they are more susceptible to being turned around, which you want to avoid at all costs (my shoulder is going to be sore from a last minute recovery the one time I nearly got spun around). There are also 2 low trees that you need to get your positioning right on (failure to do that on the first one got me a little wet, though not out of my boat), and one log jam that I had to just bump up into then muscle over a log to get back into the main flow.
Over the course of the trip we saw Malards, and Wood Ducks, adult and babies. At one point we kicked up 40 or so wood ducklings that led us down the river for 2 miles until they finally figured out they could go to the shore to get out of our way. It was pretty cool to see that flock of wood ducklings splash away in front of us. :) We also managed to see a beaver swimming across, as well as a couple of great blue herrons hanging out in a large dead tree towards the end of the journey. A beautiful site at sunset.
I only got my arm wet as I dodged under the first low tree, but Jim did manage to get fully out of his boat right before put out, as he got a little close to a tree that took him out. Overall it was a great 2 hour evening boating adventure. We'll definitely do it again, though it wouldn't hurt to let the water level go down just a bit so the tree dodging isn't so bad. :)
Why web design committees are so tough
I've been part of a process of redesigning the Poughkeepsie Farm Project website, both visually and functionally since about March. It's a group effort, with a good number of people from the PFP, all of whom expressed interest at the PFP annual leadership kickoff. Last night we did our first review of the graphic designs that were graciously done pro bono for the project.
It amazed me a bit how varied the feedback was. On most points there were people that had absolutely opposite opinions, and who agreed or disagreed with a point varied over ever detail discussed. It was spiritted but friendly. After about an hour of discussion we boiled it down to a base design, plus 6 concrete pieces of feedback that everyone wanted to see integrated.
I was thinking about why there was so many differences of opinion, and I realized web design committees are so tough because our interactions with the web are so personal. Browsing the web is a solitary experience. Everyone forms their opinions of what is good and bad in a vacuum, not influenced by others. This leads to opinions on good vs. bad designs that vary drastically. Page width/height issues, rotating content/or not, colors that are good or bad, what makes a good logo, how busy should things be, how often should things change.
Every one of us has some strong opinions in those areas due to what each of us use the internet for. That diversity of purpose is what makes the web as ubiquitous as it is, but it definitely makes the design process challenging, because we all tend to believe the rest of the world uses the internet the way we do. Which, ironically, is the only demonstrably false opinion that arises during the process.
Daily links valuable or not?
I'm curious if the couple of people that read this find the daily links valuable or not? I've been wondering if I should keep them here, or put up something like lifestream on a suburl with them, making the main blog just original content. I'm currently on the fence, and comments would be appreciated.
Software in the era of drive by contribution
I love git. I'll state that up front. I also love github, which I've expressed in the past. Both are making me look at software in a new way. I also think the pair of them are changing some of the rules we know for how open source projects emerge and move forward.
Recently I was working on building a Rails based Event Calendar for MHVLUG. This gave me a chance to dig in on ical, which has fascinated me since a set of talks at YAPC a decade ago. There were 2 ruby ical libraries out there (icalendar.rb and vpim.rb), neither did quite what I wanted, and both projects were more or less dormant (the mailing lists were lots of "is anyone alive?" posts). Ug, I was stuck, and if I had to start from scratch on ical, that was all I'd end up doing, never getting to my application.
I googled some more... and low and behold found a github.com fork of icalendar.rb, and forks of that. Those forks implemented about 50% of the fixes I needed to get ical generation with timezones to work. So I forked from one of those and 6 changesets later, had what I needed. I then built my application, and life was good.
A few days later I decided to collect up all the changes in all the github icalendar trees, and merge them into my tree. While git itself can be somewhat confusing, github adds this really slick web interface on top of git trees, that makes the merge process pretty painless. This is one of their key innovations, and it's just incredible. I selected all the outstanding changes that would merge cleanly, pulled them in, and now had a tree which largely encompassed the 8 existing forks on github.com. I posted back to the dead mailing list and let people know there was this now living github tree where the project had seemed dead. I got a couple of new patches people wanted in, and 2 months later the maintainer actually showed up again and gave me admin access to the icalendar project so I could publish official versions.
This pattern repeated a few more times on the project. I found a piece of code on github that did 90% of what I needed, but I needed a change. I created my fork, added my feature, and pushed it back out (with a pull request). A few days later the maintainer pulled them back in, and now they are officially part of the project. I'm not vested in those projects, but I had relevant fixes, and because we were all using a tool that makes it easy to be a casual contributor, they are now part of the open source projects in the sky.
Casual Contributions
If you haven't seen the paper on participation inequality, go and read it... now! Previously most of the studies on open source community participation focussed on big projects like the Linux Kernel, or Apache. That's sort of like trying to understand patterns of home construction by looking at Frank Loyd Wright's houses. Those projects are outliers in how communities work. This study did a much broader look at online communities and found the striking 1-9-90 pattern:
This is how communities work. 1% of the population does most of the work, 9% are casual contributors, and 90% are just consumers. Your user base is a silent majority. In an open source world the 1% are the core contributors, and possibly the heavy power users. 9% is the people that file a bug now and then, maybe a patch or two, everyone else is the people that just download your code and you never hear from them. This patern more or less holds true for all volunteer efforts.
In open source we've got an issue, which is that getting code from the 9% is hard. The 1% typically has access to a central source management repository, and can merge code fixes as soon as they see them. The 9% has to follow a completely different process, posting patches to trackers or mailing lists, many of which get lost because there are a bunch more manual steps to pull them into the main tree. If any process requires more effort by the 1%, it typically won't happen, they are full up on time as it is.
And this is where git and github, start making things interesting. While I run a number of open source efforts, I end up in the 9% all the time. If you are now using git for your main tree the 9% and the 1% are now using the same tools, which allow seemless inclusion of code. The merge algorithm on git is really wonderous. I've had instances of massive renaming of files while trying to integrate external fixes in those files, and everything just worked. It actually surprised the hell out of me.
The 9% just want to casually contribute something they aren't signing up for a lifestyle. Get my fix out there, if other people want it, great, if not, so be it. The fact that integration is 2 mouse clicks and 10 seconds of effort makes the chance of capturing those changes much more likely.
Recovering the Brown Field
Ever look at sourceforge.net? or any of the clones? 50% of those projects never got off the ground. Another 40% have died out for other reasons, the contributors: had a family, started working for a company that doesn't let them work in OSS, got bored withthe project, died, or became inactive for any number of other reasons. When open source software exploded in 2000, there was a lot of greenfield. Everyone was out there building new stuff that no one had done before. But now we have a lot of brown field. A lot of 1/2 planned, 1/2 finished pieces of code that have useful bits in them, but have been abandonned by their original creators.
Tools like git and github help you recover that brown field. In the last couple of months I run into project after project that petered out in 2006, but has a bunch of good code. That means they are about 2 critical bug fixes away from being useful on modern systems. It's really not much work, but in the old system , with the projects locked up in a forge with an SVN or CVS source management system, they were dead. You had to start over. With github you can import that tree and keep working.
It's a new pattern on how the open source community is going to function, while it could be built on any distributed SCM, the fact that git has a really good svn 2 way bridge, and that github made itself "person oriented" vs. "project oriented" really make me believe that it's creating a uniquely new pattern for both recovering the brown field of open source, and enabling the 9% to be much more effective with their output.
Software in the era of drive by contribution
Now that we've got a set of tools that really were designed for helping the 1% and the 9% work together, I think we're going to see a whole new blosoming of open source software. The rules of what it means to be a project contributor are changing, in really exciting ways. Forking used to cheap, and merging expensive, which is why forking was considered an insult. But with tools like git merging is cheap, so the offensiveness of forking goes away. It opens up for more experimentation, and more complex contributions happening outside the 1% group. All this increases the velocity of contribution, and thus the volume of open source software out there.
I really think distributed source control is changing a lot of assumptions for how software gets developed. So if you haven't yet dug into the space, do it.