Archive for November, 2009

Growing Your Own Mushrooms

Posted by on Sunday, 22 November, 2009

On the last farmer’s market day of the year (around Halloween), we bought a Grow-Your-Own-Mushrooms kit from the farmer we usually buy mushrooms from. Great novelty gift, to be sure. We couldn’t resist.

It’s a medium-sized box that’s really heavy, a solid 30lb brick of soil which is pre-seeded with mycelium. In case you missed Mycology 101, mycelium is the white stringy mat of threads which is the real fungus itself. When mycelium threads intersect from different organisms, they combine DNA and produce mushrooms as a ‘fruit’; the mushroom then releases spores from its vents (on the bottom of the cap) to spread new mycelium. In a nutshell.

(For the pictures below, click to get the bigger photo)

From Mushrooms

Opening the box, you can see the mycelium throughout the soil:

From Mushrooms

…just add some peat moss to the top, water the whole thing, then wait 2 weeks.

From Mushrooms

On day 14, things started to get interesting:

From Mushrooms

Day 16:

From Mushrooms

Day 19:

From Mushrooms

Day 21, time to harvest! The cap’s diameter is twice the size of the stem length.

From Mushrooms

Here’s a tiny youtube video of us ripping up the first big one:

Picking the shroom

…which we then ate in an omelette. Yum. Many more mushrooms to come over the next month.

1st Place in the Interactive Fiction Competition

Posted by on Wednesday, 18 November, 2009

Jack and I are giddy with glee, as our recently released text adventure just won 1st place in the 2009 Interactive Fiction Competition. As someone who’s been tracking the community of IF authors for 15 years, this is a bit of a fantasy come true. Most of the really accomplished, famous authors didn’t enter games this year (or released games outside the competition), thus making room for a new generation of authors. We owe the old-timers big thanks for inspiring us, writing great tools, and giving us a chance to shine!

If you haven’t played the game yet, go do so! Cuddle up with a laptop and cup of cocoa. You can get the game (and the source code too) from the main main website we set up. You can file bugs there too.

Note: My one frustration is that genre seems to have a bad reputation among gamers. The natural-language parser is mocked for being overly primitive and unfriendly to casual players. Paraphrased (from a friend):


The creature approaches!

> swing sword
What do you want to swing the sword at?

> creature
What about the creature?

> attack creature
What do you want to attack it with?

> the swod
I don't understand "swod".

> sword
What do you want to do with the sword?

I'm sorry, the creature has eaten you.

In reality, enthusiasts of text adventures consider the primitive parser to be a feature, not a bug. It expects commands of the form “verb noun” and only understands about 30 verbs. So it’s an easy interface to master; experienced players know them all by heart. If you haven’t played text adventures before, be sure to have this crib sheet with you, as it explains the sort of commands most games understand.

And now the obligatory post-mortem on the experience, taken from a post I made on the rec.arts.int-fiction newsgroup yesterday.

  1. The methodology of “write the transcript first” really works. Emily Short mentioned this technique on her blog, and I’m here to testify. As a programmer, I’m always tempted to start fiddling in I7 in technical ways, wondering if I can implement some clever algorithm — and then later trying to figure out a way to justify its use. This is not the way to write a good game. Instead, come up with a GOOD STORY first (or partner yourself with a great writer like Jack), and write out the entire hypothetical transcript first. Think of it like a screenplay: first conceive the whole experience from the user’s point of view, and decide if it’s a good script. If it is, then worry about the implementation. (For the curious, the original transcript Jack wrote — before a single line of code existed — is over here.)
  2. Keep the player captivated at all times! We goofed by requiring too much repetition of mundane routine for the first half of the game. IF geeks and programmers generally had the patience to muddle through (or noticed the status bar changing, and were intrigued about the double-meaning of things). But at least half of the players out there — including some beta-testers — rightfully had no patience for such a thing. “Just let me do something INTERESTING already!” Many people simply weren’t able to delay gratification (or keep faith) as long as we’d hoped. Especially when you have 20 other games standing by, ready to test. Given the blog reviews, we were convinced we were headed right for the Banana of Discord. Emily’s review and Jim Aikin’s reaction were the canonical example of this. We’ve learned our lesson here.
  3. Avoid linearity. This was my fear all along, when I first read Jack’s transcript… particularly in the second half of the game. I liked the story enough to overlook it, but reviewers correctly called us out. Killing invading bots may be fun, but this still ain’t no Photopia. In the future, we need to really construct some non-linear mid-game plot flow.
  4. Write a hint system.This seems to be the most requested feature, and I was surprised. I grew up playing Infocom games, when games were supposed to take weeks to solve and ‘walkthroughs’ were expensive InvisiClues you had to mail away for. Ordering the walkthrough was a badge of shame, an admission of defeat. These days, the culture seems to have changed quite a bit. People not only expect every game to have a walkthrough, but they check it after being stuck for 10 minutes (!) Maybe that’s just the environment of the Comp (when people are in a rush to “get through” quickly and judge), but clearly an in-game hints would make the game much more accessible to a wider audience. Perhaps fewer people would have run screaming from the repetition. 🙂

Early review of Canon 5D Mark II

Posted by on Saturday, 7 November, 2009

I just upgraded from a Canon 30D DSLR to a 5D Mark II. Here are my preliminary thoughts after a day of use, as someone who’s never owned a full-frame DSLR before.

The first and most obvious thought I have is: what unbelievable clarity. It seems to come from a combination of a massive LCD on the back with 4x more resolution and seeing MUCH more of the world through the viewfinder. It’s like getting a new set of eyes — I had no idea all this stuff was out there. I also feel less removed from the scene, more immersed. Looking through the old 30D now feels like peering through a tunnel.

The next big shock is that my lenses are all different now. Not having the 1.6x zoom factor is a big deal. I used to have a 30mm prime (effective 48mm), but usually rely on my 24-70mm lens as my main “walk around lens”, because it was effectively 38-112mm. Now my 24-70 is *really* 24-70, and it’s amazing to see how truly wide-angle 24mm really is. I even get a bit of moving-fisheye effect. Considering I have very little interest in landscape photography (and mostly focus on portraits), the whole 24-50mm range isn’t very interesting to me. I find myself either using the ‘nifty 50’ for simple creative stuff, or using my 70-200 as the walk-around lens. What a shift!

A scary thing is that RAW file size has gone from from ~8MB to ~24MB. It’s no longer painless to access my photos over a NAS drive via 802.11N wi-fi. I’m clearly going to have to move the whole photo library to a ‘miniature’ 500GB disk plugged directly into USB, and then be sure to back up this disk alongside my NAS disk.

There’s a nice bevy of UI improvements. It’s clear that Canon knows their target audience is professional photographers, since the cheesy “automatic modes” (portrait, sports, landscape, etc.) are gone from the dial. Fair enough. But I’m baffled as to why they added a dedicated button on the back to flip “picture modes”, which are modes that strategically modify the hues and saturations of photos as you take them. Does anyone actually use them, even in older generations of this camera? Everyone I’ve ever met turns off the feature altogether (selects ‘neutral’ or ‘faithful’ modes). We all adjust the colors in post-production anyway. The whole feature smells of the automatic modes they’ve already nixed.

The two party tricks of this DSLR are the live-view feature (just like point-n-shoot cameras) and the ability to record HD 1080p video at 30 frames/sec. Pretty impressive stuff. I doubt I’ll ever use the live view mode, and I’ve not quite figured out how to shoot video well. Of course, when 3 minutes of video takes up a whole gigabyte of space, I’m going to be conservative with it!

But still, if somebody said, “hey, your DSLR now has live-view mode on its rear LCD”, what would you expect the interface to be? Just a button that flips it on and off, right? Sure. What else would it possibly be? Hmmm. There’s definitely a dedicated button to activate the feature, but pushing the button seems to convert the camera into an entirely different beast. Suddenly controls don’t work the same, you have to choose one of three alien autofocusing modes (including one which does continuous facial recognition!). Making it autofocus actually momentarily *interrupts* the live view. Everything seems weird, and even weirder when shooting video. I’ve still not figured out how to make it continuously autofocus during video recording — maybe it’s not possible at all. I need to study the manual more. (But the video quality is VERY impressive nonetheless. One less gadget to carry on outings with kids!)

Overall, I’m amazed. But as with any new tool, I’ve got a lot of learning to do.

Subversion moving to the Apache Software Foundation

Posted by on Thursday, 5 November, 2009

It’s no longer a secret, but now a public press release.

Not that this should shock anybody, but in case you didn’t know, now you do. The overlap between Apache and Subversion communities has always been huge since day one — with essentially identical cultures. We’ve talked about doing this for years. It means we can finally dissolve the ‘Subversion corporation’ and let ASF handle all our finances and legal needs.

“Why didn’t this happen sooner? Why now?”, you may ask. There are several answers.

First, the intellectual property was scattered. Collabnet owned a huge chunk of it, but so did other corporations and a large handful of other random volunteers from the internet. The ASF requires software grants to join, and we didn’t have our eggs in one basket.

Second, when the Subversion project first developed legal needs a few years ago — and also started receiving money from Google’s Summer of Code — it was relatively easy to set up our own non-profit. It gave us a place for money to live, and an entity to defend the Subversion trademark from a number of abusive third parties.

But over time, running our own non-profit turned out to be an awkward time suck. So about a year ago I started focusing on collecting Contributor License Agreements (CLAs) from both individuals and corporations, including Collabnet itself. Once the IP was all concentrated in the Subversion Corporation, it freed us up to move to the ASF of dump all of the bureaucracy on them. 🙂

So this announcement is also a bit of a point of pride for myself. I’ve long stopped working on Subversion code, but I wanted to make sure the project was parked in a good place before I could really walk away guilt-free. I now feel like my “work is done”, and that the ASF will be an excellent long-term home for the project. This is exactly what the ASF specializes in: being a financial and legal umbrella for a host of communities over the long haul. The project is in excellent hands now.

Of course, Collabnet has always been the main supplier of “human capital” for the project in terms of full-time programmers writing code, and that’s not going to change as far as I can see. Collabnet deserves huge kudos for the massive financial investment (and risk) in funding this project for nearly 10 years, and it seems clear they’re going to continue to be the “center” of project direction and corporate support for years to come. And this pattern isn’t uncommon either: the Apache HTTPD Server itself is mostly made up of committers working on behalf of interested corporations.

What’s interesting to me, however, are all the comments on the net about how this is a “death knell” for Subversion — as though the ASF were some sort of graveyard. That seems like a very typical viewpoint from the open source universe — mistaking mature software like Apache or Subversion (or anything not new and shiny) for “old and crappy”. In my opinion, the open source world seems to ignore the other 90% of programmers working in tiny software shops that utterly rely on these technologies as foundational. Even though I’ve become a Mercurial user myself, I can assure you that these other products aren’t going away anytime soon!

Hm. I smell another talk here.