My Hobby and My Job Are The Same (In a Good Way)

As I was handling yet another grade appeal last week, I made an interesting realization: my hobby and my (ostensible) job are the same.

For reference, the hobby to which I’m referring is judging Magic: The Gathering, and the job is being the Head TA for our introductory programming course (in Java).

So how are they the same?
<ul><li>I have a horde of people I’m supposed to enforce some order on.</li><li>The horde in question is filled with interesting characters– but for the most part, they’re smart, funny, great people to talk to, who I enjoy conversing with during any free second I happen to have.</li><ul><li>At GP: Daytona, a man I talked to was kind enough to share the secret for getting his wonderful huge Magic case; it looked like a 6xsized Ultra Pro case, but while it was at least as high quality, it was 1/3rd the cost of the small Ultra Pro one ($20 for the huge one, compared to $60 for a very small Ultra Pro case); the big secret was that Ultra Pro rebrands a toolbox found at Home Depot. How neat is that?</li><li>At GP: Philadelphia, I got to speak to a former US Robotics programmer, who now spends his time making computers for impoverished children, about the OLPC project.
</li></ul><li>My role is to help people, without being improperly helpful.</li><ul><li>In Magic, we answer the smallest possible question– this differs somewhat depending on what kind of tournament it is, but in general, we answer the question people ask, not the one they actually need to know to make the right decision, or the one they want us to answer, or the one asking what the best play in a situation is.</li><li>In Java, this becomes answering questions without giving away design questions, or answering questions they should have found in their textbook.
</li><li>In both cases, not giving them all the information in the world annoys the hell out of the people. (In Java, particularly, students demand that I just “do it” for them. Why would I do that? In Magic, players don’t demand I play the game for them– which is good, because while I’m actually reasonably good both at TAing Java and programming in Java, I’m not a good Magic player, at least not on the Grand Prix level.)</li></ul><li>The horde of people cheat, fairly often.</li><ul><li>In point of fact, this is not fair to the Magic community. The Java babies cheat way, way more– in one recent semester, we had a consistent thee or four different people caught (provably) cheating, EACH WEEK. That’s not even the highest rate we’ve had in the five semesters I’ve been doing this– and understand, this is with a class size of approximately 100. At Grand Prix: Philadelphia, we had maybe three or four disqualified, with 969 players. And we’ve not yet had a disqualification at JHUMagic. (Though hordes of judges are playing today; maybe this will be our first. :-) )</li></ul><li>Players appeal, all the time, often for very little reason.</li><ul><li>In Java, I’m actually the first line of appeals, so they get to come explain themselves to me. That doesn’t stop them from going to Dr. Houlahan (often without telling her that they’ve spoken to me; this leads to an obnoxious “playing Daddy vs. Mommy” problem), but sometimes I can talk some sense into them. “No, you don’t get points for having thought about the assignment. 0 means 0.”</li><li>In Magic, I only Head Judge JHUMagic tournaments, so there aren’t judges working under me; hence, I don’t receive appeals. But I do occasionally have appeals against my rulings, which is fine; it’s the player’s right, and I’ll be the first to admit that my rulings aren’t always correct. (Players tend to appeal the ones where they are correct, however, which is amusing.) The advantage here is that unlike in Java, when players are offensive about doing it (standing up and yelling for the Head Judge while I’m trying to speak– and understand, I’m always happy to get the HJ for them), it’s an actual infraction, with consequences; in Java, I can’t take off more points for being rude. (Though I want to. :-) )</li></ul><li>My signature has become wildly corrupted.</li><ul><li>In each of these activities, I don’t actually sign things, I just initial them. When I was only CAing, my initials were, you know, letters you could read. Since I’ve started judging as well (also requiring initialing), my initials have devolved into this kind of wild blur, best executed in black pen. It’s fairly amusing.</li></ul></ul>But hey– they’re both fun. (Well, judging is. :-) ) And in both activities, I have slowly established a rapport with the people involved (both other judges/graders and with the players/students), which is fun; players recognized me at GP: Philadelphia from judging at DreamWizards, and some new players at JHUMagic last week recognized me from the coverage of GP: Philadelphia (not the best photo, but here goes):

GP Philadelphia Finals.jpgFor now, off to judge what I hope will be the largest JHUMagic tournament ever; several judges are coming up early for the draft, as we’re holding a Judge Seminar afterward. Should be fun!


28 Hours Later

So, having worked a bit more on the blog (notice the new, new layout; incredible thanks to Bryan Tighe, for having adapted the Hemingway theme to Movable Type, and to Byrne Reese, for hosting it), I have several other issues with Movable Type, as I handle the little bits of the transition:

<ul><li>Standards Compliance. Yes, I know that standards are kind of a pain to deal with– but there are good reasons for them (so that we can all blame IE for rendering problems, for one, but also so that any screenreader/weird experimental browser/etc. can all read the page the same way. The big ones (XHTML, CSS) have been around forever. So why is it that Movable Type, as shipped, doesn’t validate as either clean CSS or XHTML? The CSS one is just a warning– but it’s simple to fix, enough so that it makes it seem like it’s been ignored. As for XHTML– again, it’s not hard. They specify XHTML 1.0 Transitional (not the highest possible bar), but they don’t even get there! None of this may be their highest priority, but it makes me somewhat cranky when I have to go poke through template code to fix something that is broken by default. (You’ll note that my pages are now fully compliant XHTML 1.0 Strict and CSS 2.1; check the bottom of the page.) Please note, however, that I had at least as much to fix with Wordpress when I started with it, so this isn’t MT-specific; if, however, MT were to make it perfect (at least with the set of default templates/styles) it would be a nice thing.
</li><li>There’s no built-in support for a blogroll. It’s not the biggest thing in the world, but especially because of XFN, it would be really nice if MT had some easy, chromed way to add blog links with XFN relationships to a widget somewhere. It’s certainly not impossible to do myself, but it seems like an often-wished-for feature they’re missing. I know people want it, because of the number of users of the MT Blogroll plugin– unfortunately, that hasn’t been updated for MT 4.x, so it’s not useful to me. Wordpress does have this.
</li></ul>On the other hand, I’ve found more things to like about Movable Type, as well:
<ul><li>It’s dead-easy to write my own widgets, something I personally struggled with in Wordpress. It took only a few minutes to make a blogroll that fit in a widget (not dynamic or database driven, but it works and looks fine); you can see it in action down at the bottom.</li><li>Awesome defaults– for instance, look at the Archive Page. Isn’t that nice? Wordpress never gave me anything as clean and functional as that for my archives, though I could have used it. (And obviously, it becomes more important the more you blog.)</li><li>Once again, incredible speed compared to Wordpress. Your mileage may vary, but compared to a version of Wordpress my shared host had specifically worked on to make it faster– MT just kicks its butt.</li></ul>So I’m still happy. Adding a few things would make me even happier, but I suppose you don’t always get what you want right away. For now– back to work, this time on the sort of things for which I’m graded. :-)

[EDIT: For spelling, as pointed out subtly by Byrne in the comments. :-) ]


Changing to Movable Type!

Hello, denizens of the Interweb!

It’s been a long time (more than a month!) since I’ve posted, and this post isn’t going to try to cover all that; that’s what the next one will be for. Instead, I wanted to point out (for those of you who don’t look at my site, or those of you on feedreaders) that my layout has hugely changed; this is because I’ve switched from Wordpress, which I’ve always used, to Movable Type.

Why did I make the switch, one might fairly ask? Well, I’ve been bothered by Wordpress’ speed issues for a while now. They’re partly due to the fact that I use shared hosting, sure, but honestly, it was driving me crazy to have to wait 15 seconds for the front page of my blog to load, and over a minute for a post to finish being posted.

Secondly, I was actually convinced by Anil Dash’s very funny (and not a little informative) post, “A Wordpress 2.5 Upgrade Guide.” It went through the list of advantages of Movable Type, and showed how with the impending release of WP 2.5– the best choice was to leave WP entirely. Obviously it was somewhat tongue-in-cheek– but the WP community appears to have taken it as pure evil. Matt Mullenweg, a man who I thought would have made a rational and insightful riposte, instead replied in the blog comments with an ad hominem not related to the article– and that’s setting aside his Twitter response. With advocates like that– MT seemed like a more fun place to be.

So then, how was the actual changeover process?

Well, first, Movable Type’s import functionality leaves something to be desired. Having exported my blog in the WXR format as requested, I imported it into Movable Type– and found that MT lost all my tags, and all of my paragraph breaks, from all my previous blog posts. This isn’t good– they’re in the XML file (I checked), so this isn’t WP’s fault. I’ve gone through and restored the tags, but I haven’t gotten around to fixing formatting; it’s a much larger job.

Other than that, the changeover went quite well– and I’m pleased with the results. My blog loads much faster (due to the static generation in MT), but even the long-form publishing to make static pages (basically the slowest thing you can do; it has to recreate every part of the blog) is faster than it takes WP to push out one post. How great is that?

The administrative interface is much more responsive generally, too, allowing me to make the changes to add Analytics, for instance, much faster than WP can even show me where that code is.

My plugins are mostly unneeded with MT– OpenID support, for instance, is in the core. So “it just works,” not “it works as soon as I fight with it for a couple weeks,” which was my experience with OpenID on Wordpress. (Admittedly, that was partly because the original OpenID plugin for WP stopped maintenance, so I had to switch over to a new one.)

So we’ll see how this goes; if nothing else, I hope the new, slicker interface will encourage me to post a bit more often. :-)


A Big Month

Hello, all! So for those keeping track, it’s been very nearly a month since the last time I posted (excluding the earlier post about switching software, of course). Here’s the rundown of the interesting things that’ve happened to me in the interim:

<ul><li>When last I wrote, I’d just arrived in New Haven to visit Quinlan– we got to hear his small group of musical friends play, which was fun. :-) Also got to meet his girlfriend.</li><li>I got a new phone! It’s an iPhone, so I had to drop my Montana number– but as I have GrandCentral, I have one still (it’s just different): 406-545-0430. If you want my real cell phone number (say, so you can send me text messages), call me on the 406 number first, and I’ll give it to you.
</li><li>I judged at Grand Prix: Philadelphia, which was a blast; three days of awesome play. I was given the opportunity to judge the Grand Prix Finals– an amazing chance, where I got to sit very quietly and not make a fuss (assuming, of course, the players knew how to play correctly; they did :-) ). Also took some photos, mostly of judging stuff (always fun to have a big group of judges– 30+ attended). Nick, the L1 I helped train from L0, also got his stripes, which is always a great thing to see.</li><li>I helped my sister, Shannon, celebrate her 21st birthday in fine style– mostly at one fine establishment, but also sampling from others as the night went on.</li><li>I went up to visit my godson (now three years old!) in New Jersey, during the second weekend of Spring Break.</li><li>I broke up with Caitlin– my girlfriend, of two years and a bit. sigh This raised, to me, an interesting question about technological identity (though I’m hardly the first person to consider it, I hadn’t thought about it personally before).
</li><li>I accepted an incredible offer to go spend the summer in San Francisco, working with lots of really neat people at Six Apart! I’m delighted. I’ll be working under David, on Open Platforms. (On a related note, if you know of anyone who wants a subletter / housesitter in the area for the summer, let me know!)</li></ul>And, of course, the usual JHU grind of projects and homework. So I should probably go now, and attend to my Operating Systems project (pwn a linux box with a kernel module; obviously it’s not hard, but it’s meant to teach how silly it is to load untrusted kernel modules), my Programming Languages homework (do things in the Professor’s pet language), or any of my other ongoing major projects (Java Lab, research code, Information Retrieval, Constitutional Law V, Digital Preservation….) Should be fun.