the 2011 Perl QA Hackathon in Amsterdam

April 21, 2011

I was very privileged to attend the first QA Hackathon in Oslo in 2008 and also the second in Birmingham in 2009. Last year I couldn’t attend, but this year things fell in line nicely, and I was very glad to accept the invitation and find my way to Amsterdam and’s offices for this year’s event. As always, we had an excellent space to work in, lodgings convenient to the office, and good dinners organized each night. I didn’t have to think about anything but code, and that’s just how I like it!

Read More

transcoding stuff to play on Roku

April 9, 2011

A few weeks ago, I was near my wits end with our XBMC box. XBMC itself seemed pretty good, but the hardware I had it running on wasn’t so great, and one complication after another just made it a pain. What I’d wanted when I set the box up was something less annoying than trying to play video over pseudo-UPnP stuff supported by XBox or PS3. My XBMC setup wasn’t quite living up to that.

Read More

D&D Edition Synopsis: Monster Blocks

April 1, 2011

Recently, I made a daily agenda for myself. Each day of the week, I spend a good part of my “free” time working on something important to me, like maintaining my free software, reading my queue of books, or working on my D&D games. This has been really helpful, and on the D&D front, I’ve been getting a lot of thinking done about the changes that Dungeons and Dragons has gone through over the years. I’m not a hardcore fan of any particular edition. There are things I like about each of them. I’ve been thinking about trying to write a really comprehensive explanation of what I do and don’t like, but I don’t think that’s really going to happen.

Read More

low-tech combat and character tracker

March 11, 2011

I see lots of people talk about using software on their laptops or smartphones for tracking combat in D&D. Mostly, people talk about tracking initiative. This always struck me as weird: I just write down everybody in order on a scrap of paper and throw it out later.

Read More

getting the band (of demihuman heroes) back together

March 6, 2011

Last night was the first session of my otherwise long-running tabletop RPG game in over a year. Our old venue had become unavailable, last year, then other complications came up, and finally when things seemed like we could get things moving, there was just a lot of inertia to overcome. Finally, I sent out a grumpy, “Should we just call things off forever, or what?” Fortunately, I got quick responses from everyone: no, the previously mentioned date is good. Unfortunately, the date was in just a few days, and I only had the next session planned in broad strokes.

Read More

wherein I continue to fail at being a dungeon master

February 23, 2011

In 2005 or so, I started running a science fiction role-playing game, and it ran for a little under five years. I had a lot of fun, and I think the game had some merit, but I got frustrated with a lot of its failures and wrote a post mortem in which I put most of the blame on myself for a lot of problems that I brought down on my own. Below, I reproduce most of my report to the players:

Read More

my new sony reader

November 20, 2010

My first ebook reader was a Sony PRS-300, which I bought just about a year ago. There was a lot to like about it, and I never felt particularly tempted to replace it with a Kindle. It really all comes down to one thing: the size. If you compare the Kindle and the Sony Reader sizes, you can see just how much bigger the Kindle 3 is than the PRS-300. The Sony reader fit much better in my pockets, so I could take it anywhere. I’d take it on walks to 7-11, to the playground with Martha, on short car trips, or anything. The Kindle is just a little too big for that to be as comfortable.

Read More

composing your own behavior across Moose class structures

November 5, 2010

In my last entry, I wrote about how role composition and advice and BUILD interact. A number of times, I’ve wanted to get behavior that was like BUILD, but without needing the stub method hacks that are needed to get roles to participate in the method call. A very simple example came when I was writing Throwable::X, which had a mechanism for all of its contituent parts to contribute tags. The idea was that any class or role that was part of your class hierarchy could implement an x_tags method that would return a list of tag strings. These methods would all get called and the resulting set of tags would be uniqued and returned.

Read More