Slashdot Comments for Posterity

I’ve had the following up on my office wall since 1999, when I first read it. It is reproduced here for posterity, though you can read the static version at the source.

My software design process (Score:4)
by Shoeboy (16224) on Monday August 09, @07:45PM (#1755777) (

This is how the shoeboy does things:

1. All the probable users are asked to contribute their thoughts on what the project was supposed to do. Most of them suggest things entirely unrelated to the description of the project.
2. All reasonable suggestions are torn up and fed to a goat.
3. The goat is sacrificed in the middle of an inverted pentagram while the PM chants “CTHULHU FNAGN” (this step is optional)
4. The development group works out a good application framework on a whiteboard. The least popular member of the group is then assigned to create a powerpoint detailing the proposed framework.
5. Out of bitterness, the guy writing the powerpoint discards the teams ideas and writes his own. The powerpoint is then sent to management.
6. Management approves or vetoes the project based on the color scheme used.
7. The team suddenly finds themselves commited to a shitty framework. The alpha geek on the team blames the PM and begins playing political games to get him/her replaced.
8. Deciding that misery loves company, the team asks the Unix and NT admins what platform the app should run on.
9. The Unix wookies and the NT trolls declare total war on each other and the PM gets cc’d on every message in the resulting flame war.
10. The team hires a bunch of contractors to help develop the project.
11. Performance review time. Everyone tries to look good at the expense of others. Massive flame wars erupt.
12. Team begins to develop application while attempting to keep PM in the dark.
13. PM gets revenge by requesting customer feedback on the proposed feature set.
14. Team vetoes all customer requests, promises to include them in the next version.
15. Management hears the customer complaints. Demands more powerpoints.
16. Reorg time. PM now reports to a new manager.
17. Team missed deadline for first beta as they are working on powerpoint slides.
18. Cubicle move. Work interrupted as everyone in the building starts moving cubes to the tune of ‘pop goes the weasel’. When the music stops, they all rush to a new cube except for one sluggish contractor who is promptly fired.
19. Team missed second beta deadline due to the loss of the contractor fired in step 18.
20. Management decides that the project will never get finished, cancels it.

This isn’t the best way to design software, but it seems to be a common method.

The Open CD

On Friday I spent the day with IT Staff of a couple of different school districts in Connecticut. We were there to see how they were using Open Source in the schools, and what sort of future plans they have in that area. For me, it was a very eye opening experience. While you may “understand” how constrained our public schools are when it comes to resources, until you spend a day with them, you probably don’t. It is extremely notable if an entire school district has a programmer on staff (almost no one has that). A programmer is defined as someone that knows PHP. For an pen applications to take hold in this space, they must be graphical, and never require dumping out to a shell to configure. While many open source projects are headed in this direction, very few are really there today.

Over the course of the day, The Open CD came up a few times, being discussed by some of the open technology advocates within the CT system. The Open CD is a CD ISO of Open Source applications that run natively on Microsoft Windows, and are considered best in class applications. It includes Open Office (equiv of MS Office), Scribus (page layout), GIMP (photo editing), Audacity (sound editing), Inkscape (vector drawing), Gaim (instant messaging), Firefox, Thunderbird (email), Celestia (astronomy application). As all the programs are under open licenses you can install it as many times as you like, wherever you like, with no fear of violating licenses. This is still a bit foreign to Windows users, but something people can get over the hump on pretty quickly. Prior to this meeting, I wasn’t really aware of The Open CD, but a weekend of stewing on it made me realize it is one of the best things since sliced bread.

While I remain a Linux advocate, and am not planning on running windows on any of my home boxes any time soon, Windows remains a reality on the desktop. But the strangle hold on the desktop is more about the applications than anything else. If you get people over to an Open Office, GIMP, Firefox world, then sitting at a windows machine with those installed is the same as sitting at an LTSP terminal with them installed, at least from a user perspective. This is a huge lesson that Novell learned in it’s mass linux migration: migration the application set to open alternatives first. The transition to Linux is much easier after this. The application stickiness is the big reason that alternative desktops have grown slowly.

Another fact is that nearly every retail computer sold comes with Windows, but you pay extra for MS Office. Instead of going after that which the user sees as part of the hardware for an open replacement, go after the thing that costs that an extra $100 dollars. If you bought the most popular proprietary versions of the applications on the open cd, at retail prices, you’d end up spending a couple thousand dollars for the set: MS Office, Adobe PageMaker, Adobe Photoshop, Adobe Illustrator, etc. And just think, now you are also putting Cellestia and Blender into the hands of kids, and just letting their imagination take them away. How exciting is that!

As MHVLUG starts out on it’s fifth year, we’ve had a bunch of members start to be really interested about ways in which we can tap into this large group of open source experts, and expand into our communities; giving back where it matters most. It seems to me that advocacy around The Open CD is a good place to start, as it provides a very real, very easy on ramp into the world of Open Technology that the 95% of Windows users can participate in as well. We’ll work on getting them over to Linux for critical components later, but just getting people exposed to a world where people write software under open licenses and give it away for free helps a lot to understanding why Linux is special, and why it is often the right answer for the job at hand.

Over the next many months I think we’ll be getting together with this group multiple times to provide some volunteer assistance in navigating the waters of Open Technology. I have to say, after Friday I was seriously energized about all the things we could do to help schools in this area, and can’t wait to see how this plays out over time.

Riding the Rail Trails

Yesterday Susan, Mike, Matt, Pyg, and I decided it would be a good day for a bike ride. Susan is just getting used to a bike with gears, so heading out to the Harlem Valley Rail Trail seemed like the thing to do.

It’s about a 40 minute drive from our house to Amenia, one of the main park and ride points for the rail trail. From Amenia you can ride 8 miles north, to Millerton, or 2.5 miles south, to the start of the trail. Along the way you ride past farms, streams, a swamp or two, and lamas. It took us just under an hour to get to Millerton, where the rail trail currently ends, awaiting completion of section 4 of the trail (sometime in 2008), which will add another 8 miles, and connect in the already completed section 5, which is 4 miles on it’s own. The ride back is slightly down hill, which meant we were flying along at 15 mph most of the way. 16 miles in 1:45 isn’t bad for a Sunday afternoon, especially considering everyone was riding mountain bikes.

It was the first ride out for most folks of the year, so there was the normal amount of “seat numbness”, but subsequent rides should have everyone toughened up enough that that won’t be an issue. It’s great to get out and explore a new area. I think next time we’ll probably start at the beginning of the trail, and remember our wallets, so we can get a little bite to eat in Millerton, then spin around and come home. I honestly can’t wait until the full 23 miles is opened up, as that would make a really nice full day trek.

Poughkeepsie Farm Project

Yesterday, Susan and I went to the Poughkeepsie Farm Project’s annual plant sale. The Poughkeepsie Farm Project started in 1999, leasing a stretch of Vassar College land to create a Community Supported Agriculture program. There are a fixed number of shares to the CSA sold each year, which include a required number of volunteer hours on the farm, and then share holders show up once a week and pick up their bag of fresh vegetables off the farm. This lets the farmer share the risks and rewards of the farm, and allows the farm to run totally organically. If something hits the beans this year, and there aren’t many, that was the risk. If there is a bumper crop of tomatos, those are split equally between all the members. In addition to the CSA, the PFP helps run the farmer’s market in Poughkeepsie, runs programs for bringing Poughkeepsie Youth onto the farm for internships, and gives away 20% of the yield of the farm to local food banks. I first heard about the PFP through one of my classmates in my leadership class last year. She and her husband had been part of the CSA for a few years, and it seemed like a great idea to join up.

At the plant sale the CSA sells starter plants for you garden, each member is mailed a coupon that gets them 2 for free. Given that we had a bit of an aphid explosion on some of our tomatos and peppers, this provided a chance to back fill a few of the plants we lost. After we purchased our plants, we hopped in on a tour of the farm, which spans over 7 acres of fields. They have a 5 year crop rotation model on the farm, which helps replenish the soil, as well as confuse the insects. As soon as some bug figures out a good place to lay eggs for next year, their crop is changed out from under them, so they never establish. At one point we wandered through the asparagus beds, where we were encouraged to reach down and snap of a bit to taste. My god, I don’t think I’ve ever tasted asparagus that fresh, and that delicious, ever. Susan’s eyes lit up incredibly after that. While we’d both been generally into the idea of the CSA, the prospect of the kind of food that we’ll be flush with starting in 2 weeks, and running until November, washed over both of us, and we realized how great of an idea this was.

As we wandered around the farm, we also got the sense of being part of something larger there. The whole PFP mission, with bringing quality food back to the community, is very touching. It will provide a great many opportunities to volunteer beyond just working on the farm, which I’m looking forward to. In an era of styrofoam tasting vegetables delivered via your mega mart from who knows where, the idea that this summer we’re going to get a majority of our vegetables from 5 miles away, grown without chemicals, is very appealing. The promise of huge flats of organic strawberries in a month is something I just can’t wait for. πŸ™‚

Deck Finished, awaiting inspection

We finished the deck last night, by doing the last 16 ballisters for the stair way. It’s an odd sense of both accomplishment and loss at the same time. Since sometime in February I’ve been focussed on the deck as a project. I had to come up with a plan, and make sure that plan was executed smoothly, especially as I had family come in from out of town to help out on it, and didn’t want to waste their time. Part of my brain has been devoted to the deck for the last 3 months, always making sure the next part of it was lined up to go. Now, it’s done, and I need to call the inspector today to come out and clear it.

But at the same time, building something like that from nothing has been very satifying, and I think I’ll miss not building every weekend. Most of the time I’m building virtual widgets, so producing a physical widget from time to time is quite a nice change of pace. I’ve got a set of corner shelves, and a potting bench for Susan that I need to build this summer, both of which will be fun, but not quite on the same scale.

Anyway, for now, I can have a lot of fun relaxing on the deck, before the bugs show up (a couple more weeks). I can also feel very accomplished for having a big summer project done before the summer even officially starts. πŸ™‚

Pidgin 2.0

Pidgin 2.0 just released, which has given me a chance to start looking at IM plugins (which I wasn’t going to do during Gaim’s 2 year beta cycle where that interface was always changing). Pidgin 2.0 has some nice changes to it, including final unification of buddy accounts, which I was so used to from Everybuddy years ago.

I’ve already found a couple of bugs in pidgin, but I’m also starting to get familiar enough with the source base that I’m starting to figure out fixes at the same time (at least for the less subtle ones). The last couple of days I spent some time forward porting a private set of plugins from 2.0b2 -> pidgin 2.0 without using the gaim-compat layer. I’ve still got one subtle segfault (looks like a race in buddy status update), but it was a great learning experience on the source base and the API. Hopefully I’ll manage to have enough time to hack up some other plugins over the next many moons.

Deck Progress

I realize that I’ve been rather silent about the deck since before concrete pouring weekend. The deck is nearly done, with only 16 ballisters left on the stairs to go. That will hopefully be completed on Tuesday night, so I can get our inspection scheduled RSN. I’ve got a bunch of pictures from various stages of building, though I’m going to wait until after our memorial day party to put them up, as I’d rather let people see it in person for the first time, instead of by pictures.

I will have to say the deck project has gotten me to buy a couple of really awesome new tools. The first of which is a hammer drill, with which I can put a 3/4 inch hole, 6 inches deep in our cinder blocks in about 10 seconds. Just awesome. πŸ™‚ I also now have a proper cutting table for my mitre saw, which gives me 3 1/2 foot extenders on either side with rollers and guides.