Latest Entries »

or, Learning Why Your Hearing Doesn’t Matter When Nobuo Uematsu is Rocking Out Ten Feet From Your Face.

So, Lady Sephi messaged me out of the blue one day and asked if I was going to MAGFest in January. I had no idea what this MAGFest thing was, so I went and looked, and noticed two things of note:

  1. MAGFest is a four-day convention that features 24-hour board- and video-gaming rooms.
  2. Nobuo Uematsu was slated to be the guest of honor, along with his new band, the Earthbound Papas.

I was sold in a heartbeat; I called the hotel up a week later to make my reservation.

I’ll be honest; I’d never even heard of this convention, so I was completely floored when I first got there. First, because I’d never been to the Gaylord National Convention Center before, and second, because MAGFest is just that awesome.

Thursday, we booked it for MAGFest in the afternoon, and were a little late getting there, so Sephi ended up missing one of the panels she wanted to be at ( :( sorry, Sephi! ). We checked into the hotel, and then checked into the con, and went exploring a bit, being in a new hotel and all, with many things to see.

Of first, and most important, note: MAGFest features a 24-hour arcade. 100+ arcade machines of all different types, all set for free play. I felt like a little kid in a candy story.

Of second, and only slightly less important, note: MAGFest features music pretty much all day, every day, lasting well into the night. In the mornings, the space was basically open jamspace; in the evenings, it was scheduled concerts which completely rocked. It was awesome.

Thursday, I didn’t do much of anything, really; I hung out in the arcade and explored the convention’s offerings. I attended the panel on today’s video games sucking, which was pretty awesome, but then it was back to the arcade.

Friday, I hit the 1130 panel for OCRemix, a site I’m very fond of, and had a ball there. The OCRemix guys are all pretty awesome dudes, and it was a hugely informative panel. Following that, I hit the Orchestral Game Music & Society panel, where I was introduced to the Gamer Symphony Orchestra from the University of Maryland, and they were all pretty awesome, too. I promptly downloaded all of their music from their website (for, free, y’all!), because they are just that awesome. The recordings aren’t spectacular; there’s a bit of sonic bending in the environment that they perform in, but they sound pretty awesome in person. I was, unfortunately, disappointed with the Too Ugly For YouTube: Video Game Radio panel; it was basically an ego-stroking session for two online radio stations, and wasn’t very informative or interesting. Ah, well. Worse things could happen.

Friday night featured a trip back to OCRemix land; they basically had a party starting at midnight, and it was an absolute blast! There was a huge discussion about video game music, remixing, pushing the new albums, and generally having a great time. Prizes happened to the crowd, the panelists cracked us all up, and I really, really want to see them again next year. I had an absolute ball; thank you, everyone from OCRemix, for hanging out with us and letting us all have such a great time with you.

Saturday morning, I actually deigned to be awake for an 0930 panel. For the first time, I was exposed to Loading Ready Run–in person, no less!–as I got the live commentary from selected episodes of LRR. Totally worth being up at that ungodly hour of the morning, and besides, I made a new friend who had come all the way from Nova Scotia just to be at MAGFest. Later that day, I hit up the panel from the Smithsonian Museum, of all places, and learned about The Art of Video Games, an exhibit that opens on the 16th of March at the Smithsonian Museum of American Art. The curator for the exhibit is, besides being pretty cute, also a huge video games fan, so when her director asked her to do something with video games, she jumped on it. The end result of her working with Chris Melissinos is looking to be a fantastic event, and I’ll be there on opening day, particularly for the keynote speech that night from Nolan Bushnell.

Saturday night, Sephi and I piled into the main ballroom at 1900 just to get good seats for the whole reason we were there in the first place: the Earthbound Papas were on at 1030! We survived the mess through Bit Brigade, who basically played a live backing track to a complete run through of MegaMan, The OneUps, back for their tenth-year anniversary mellow funk-out (since their first live show was at MAGFest I) to showcase a cover of Dancing Mad that they’d prepared before they even learned that Uematsu would be at the con, and Year 200X, a thrash-metal band who actually did a pretty decent cover of Battery. Then…the Earthbound Papas went on stage. Let me explain…no, there is too much. Let me sum up: AWESOME. Their music is fantastic. They’re all enormously talented musicians, and in some ways I’m really happy they’re not working with SquareEnix anymore, because now they’re not restricted in what they can play. We got their Introduction, which is a fabulous piece, and then a bunch of music from Uematsu’s (and his compatriots’) years of developing music for Final Fantasy, Chrono Trigger, Bahamut’s Lagoon, and more. It was so fantastic, I didn’t care that I couldn’t hear much of anything for the rest of the weekend. If you have the time and money, take a moment and invest in a copy of Octave Theory (their first album); it’s worth every penny.

Sunday was pretty quiet; we hit the LRR Q&A panel and got to have some more laughs with Graham and Paul, and then we headed out ’cause we were just too exhausted to carry on. Sephi headed back home shortly after we returned to Herndon, and I promptly collapsed in bed. It was an exhausting weekend, and I’d had so much fun I just didn’t have the energy to keep awake much longer.

I am definitely going back next January.

Okay, not really.  But I do tend to tease him that some day, I might end up doing that very thing.  Given that I was working with nuts (yep, you’re going there; I can hear it!), it would have taken a lot to do Something Awful to the kitchen, but you never know.

So I found a recipe on accident that I bookmarked, mentally filing it away for something I could possibly make for Dad for Christmas, being that it was low-sodium (good for his heart, already under considerable genetic strain), relatively healthy, and had nuts.  Like his ubiquitous coffee mug, Dad loves to have something small in his pocket to snack on, because he – like both his daughters – tends to graze through the day.  So nuts are usually a popular choice, except that stuff from the store gets loaded down with salt, right?

Which brings us back to this.  “This” is peanuts, done in a chili-cayenne-lime coating, like apparently you can get in Mexico, from street vendors (having never been, I’ll have to take the site’s word for it).

The biggest thing about this undertaking is the time the little suckers require in the oven.  Otherwise, the ingredients are few and simple (good, in my book), and the process is easy (even better).  And it makes a lot, so maybe if he’s good, my brother will get some too.  Unless Dad decides he really likes them, and asks for more; then the brother-thing’s out of luck.

I’ve been very good, and only taste-tasted a few.  No, really!  I wanted to see how well the lime juice came through after the better part of an hour in the oven, and the answer is “all right.”  The chili powder and cayenne pepper are far more pronounced, which some may prefer.  I think maybe a smidgen more juice might have made things even more interesting, so I’ll have to experiment (after the holidays are over, though).  But they’re good — not particularly hot, and probably right pleasant to snack on, especially if you’ve got a cold something to drink with it.

or, I Worked at an Anime Convention and Didn’t Lose My Mind to Nyan-cat.

I did something very, very silly. I admit this. Unfortunately, it’s something I’m prone to doing: I volunteered to help out at a convention.

While I was at TCEP 18, I ended up talking to Imp and HotMamaB and YarnMouse, among other people, and eventually the topic of staffing conventions came up. (This topic always comes up at TCEP, being a relaxicon run for people who staff other conventions to have fun and relax at for a change.) Imp asked me if I wanted to help staff Guest Relations at Katsucon in February. I very quickly said no, because I’m foolish, but not that foolish. Unfortunately, then HotMamaB turned and fluttered her baby blues at me, and asked if wanted to be Medical’s gofer. I said no, but then Buls-i pointed out that the World Cosplay Summit’s US preliminary round would be hosted at Katsucon, so I promptly folded and offered up my soul services to Medical and signed on as their gofer. Somewhere along the way, I also found myself volunteering for AnimeUSA, since I figured, in for a penny, in for a pound. Why not go for the whole damned collection, if I was already volunteering for the biggest anime con in the area?

Either way, I ended up arriving at the hotel on Friday a bit after noon; the stupid real-life job thing interfered in my schedule, so I was late arriving on site. I was quickly run through staff reg and issued my badge and radio, then I hopped down to Medical and started my first shift.

Unlike Security, with their fixed, mostly-immutable shifts, Medical operates in a weird way, when it comes to schedules, but it generally works out: if you’re awake, and have your radio on, you’re on duty. If you’re not near your radio (or it’s turned off), your cell phone is a point of contact if they need backup. If you’re asleep, they likely won’t bother you unless it’s super-critical, but by then the hotel’s probably just exploded, anyway. I wasn’t sure what to expect, but I figured I’d be at the Medical desk the whole time I was awake; I was mostly correct in my assumption, but I did end up violating the ‘6’ part of the 6/2/1 rule pretty badly.

Friday was pretty mild, with one exception: we ended up responding on a code yellow at 0330, so I was up for a while. Other than that, the only thing of note was that I was introduced to all the Medical personnel, most of whom I actually didn’t know (what a change from previous convention staffing experience!). I hit the sack at around 0500, then turned around and was back on duty (after getting out of bed, eating, and showering) at 1100.

Saturday was much the same until evening came, and then the line-up for Matenrou Opera started. Medical got drafted to do line-wrangling and water bearing; the crowd was fairly big, and they were sweating in the lobby of the ballroom. The concert itself, though, went off without a hitch; we were very glad for this. Some time during the rave following the concert, though, there was a bit of miscommunication: someone called over the radio: “There’s a wedding going on in the rave!” This was interpreted as “Code Red in the rave!”, which Security responded to…and then a call came out sounding like “Code Blue in the rave!”, at which point Medical fluttered like an angry hornet’s nest and promptly crashed the party. Apparently, it went over like clockwork; I was at the desk, ready with the pen to keep the records. Medical cleared the mistaken call from the rave very quickly, and everything went back to normal. Later that night, though, we had another Code Yellow in the hotel area at 0500 (right as we were all getting ready to head for bed) that kept us up until 0700. I hit the sack a few minutes shy of 0730 on Sunday (sadly, the sun had started coming up, so it really did count as Sunday, too), and then was back on duty again by 1130.

Sunday was pretty quiet; everything ended up going very smoothly. I checked out of the hotel room and packed everything out to the truck before I turned my radio on. Angel got her stuff together and hopped off to browse through a few more things before her mother came to get her for dinner. All in all, things went by without any trouble, and then we broke the con and headed out for dinner. Medical had ourselves a fabulous post-con celebration at the Chipotle up the street, and then I piled Frank into the truck and hauled him up to Union Station so he could catch his train home.

One thing of major note: congratulations to Kit and Em! It’s a fabulous thing that’s happening for a pair of fabulous people; I wish you both all the best going forward.

I’m already looking forward to next year’s Anime USA; we’re in a new hotel in 2012 (the same hotel ShmooCon is at!), so it’ll be all-new fun adventures in figuring out how to get from the desk to the medics when they call for the O2 bag. See y’all there!

Tonight, we played Innovation.

Players: Tony and Angel.

  • Tony won Innovation with 6, followed by Angel (0).
  • Tony won Innovation with 6, followed by Angel (5).

or, How to Deal With Pests That Are Too Big for Their Own Good.

So, Grannie’s had this venison sitting in her freezer for forever and a day, and hadn’t done anything with it. When Hurricane Irene came knocking in August, Grannie packed up a couple of days in advance and brought herself up here for a couple of weeks while she waited for power to be restored at Ayrfield. Part of what she brought was the complete contents of her fridge and freezer, including a number of packages of the most organic venison you can find.

Naturally, when she left, she left the venison here. We’d made arrangements to hand some off to friends, but there were still a couple of packages of ground venison left (nominally ‘hot venison sausage’) that had been pretty badly freezer-burnt. I hate to let a good, dead white-tail go to waste, so I plotted.

After a bit of plotting, I stumbled across Mommy’s recipe for sausage soup, and said to myself, “Self, that’s probably the best way to deal with freezer-burnt meat. So, get cooking!” Of course, I then promptly ended up losing my life to the office for a while, but today, I finally got around to using the meat.

I’d previously defrosted it, and then browned it over the weekend so it would be ready for today. I also acquired a hefty load of things-what-food-eats at the nearby Purveyor of Such Things, and thus was prepared to render the remains of this dead, over-sized pest into edible food.

First, I dumped some extra-virgin olive oil into a six-quart pot, and promptly followed it with a finely-diced large yellow onion and about a teaspoon of minced garlic (because I misplaced my fresh garlic again). I let that sit to sauté for a bit while I washed and finely diced the potatoes. After I’d diced three of the six potatoes I had out, I up-cocked the bag of browned venison into the pot with the onions, mixed it all up, and resumed dicing potatoes.

By the time I got three potatoes into the pot, along with one large (28 oz) can of diced tomatoes and two quarts of chicken stock, I realized, “Well, crap. Looks like I should have used the bigger pot,” whereupon I retrieved the twelve-quart stock pot from the cabinet and swapped it in for the six-quart. I shan’t make that mistake again…

I added another quart and a half of chicken stock, the other three potatoes, and two handfuls of baby carrots to the pot, gave everything a nice healthy stir, and left it on medium heat with the lid on. Then I went outside to observe asteroid YU55; I’m not entirely sure, but I think I saw it. Either way, after about 20 minutes outside or so, we came back in and I gave the pot another stir. By this time, the soup was bubbling merrily away, looking and smelling good enough to eat right then, but it wasn’t quite done.

I pulled out a large bundle of green chard and separated it roughly in half; the other half went back in the fridge. I chopped the leaves off the stems, and rendered them width-wise into strips about an inch and a half wide; this seemed to be a good size to work with. In my opinion, the chard is what makes this edible. Without it, the soup very much resembles pot roast that fragmented. With the chard, it has a bit extra zing, and definite green flavors which are good for you.

After the soup had been boiling for about 45 minutes, I turned the heat down and dumped in the chard. I let it cook over low flame for about five minutes, then added a healthy grinding of fresh salt and pepper, and let it cook another five minutes or so before proclaiming it done.

It turned out reasonably well; it’s not spectacular, but what do you expect for severely freezer-burnt meat?

As always, pix or it didn’t happen:

Soup in a bowl!

Soup in a pot!


For those of you who want a recipe, here’s something I cobbled together from the above:


  • 2-3 lb ground venison
  • 1 large yellow onion, finely diced
  • 1-ish tsp minced garlic
  • 6 medium potatoes, finely diced
  • 28 oz diced tomatoes
  • 3.5 qt chicken stock
  • 3-ish c red or green chard, chopped
  • olive oil
  • salt and pepper to taste


  1. Pour some olive oil in a rather large pot.
  2. Add the onion (finely diced) and the minced garlic, then sauté over a medium-high flame.
  3. Add the ground venison, and sauté the meat with the onion and garlic until the meat is slightly browned.
  4. When the meat is browned, add the potatoes (finely diced), tomatoes, carrots and chicken stock to the pot, then cover. Simmer for 30-45 minutes.
  5. Add the chopped chard the pot. Simmer uncovered for 5 minutes.
  6. Add salt and pepper to taste, then simmer for another 5 minutes.

Makes ~8 quarts of soup.

Tonight, we attended Ludus and played Eminent Domain.

Players: CT7, Byron, and Tony.

  • Byron won Eminent Domain with 49, followed by CT7 (35).
  • Tony won Eminent Domain with 12, followed by CT7 (9), and Byron (5).
  • Byron won Eminent Domain with 44, followed by Tony (34), and CT7 (23).

Afterward, we came home and played Innovation.

Players: Tony and Angel.

  • Tony won Innovation with 6, followed by Angel (3).
  • Tony won Innovation with 6, followed by Angel (0).

Tonight, we played SPANC and Zombie Dice.

Players: Tony, Boots, and Harpy.

  • Tony won SPANC with 10, followed by Harpy (8) and Boots (4).
  • Boots won Zombie Dice with 13, followed by Tony (0).
  • Harpy won Zombie Dice with 15, followed by Tony (14), and Boots (7).
  • Tony won Zombie Dice with 14, followed by Boots (7).

or, Feeling Your Headache Melting Away is the Best Feeling in the World.

Went to TCEP 18 this year. Had a blast. I’ll be honest; the whole convention was something of a blur for me, especially now, two weeks after the fact. There were a few things that stood out, though, and some of them were freaking hilarious, so I’ll share.

Friday was Hell On Earth for me. At least, it was, until about 11:00, at which point I handed off the documents I needed to turn in, and left the office. I didn’t know for sure if I was going to be well enough to attend the convention, but when I got home, I realized that the relaxing sensation I was feeling on my commute was my stress headache dissipating. I packed my bags, and off I went to the con.

I left right at the beginning of rush hour; this was a mistake. Fortunately, I made it through rush hour to Laurel with a minimum of fuss. The trip took about 70 minutes longer than it should have, but I arrived in one piece (as did the Little Red Truck), and promptly set about unloading the con suite, which showed up about five minutes behind me. After that was done, I set out to eat dinner with the other carnivores; normally, I head out on the bait run, but I really needed mass quantities of red meat. I ordered a ribeye, bloody rare. What I got was a piece of shoe leather, introduced to fire, so I sent it back. The second plate came out with a perfect steak, and I promptly set about enjoying it. After that, I recall some games happening, but I can’t for the life of me remember which ones…

Saturday came, and with it came more gaming and socializing. Not that I remember much of what, at this point, other than “fun”.

Sunday was somewhat more memorable. There was a LARP scheduled: Miskatonic Class Reunion. A good time was had by all. Byron, who was in charge of the game, had previously asked me if I wanted to play or run, and I asked him to put me where I was most needed. I got handed a shill. My entire purpose in the game was to stand up in front of everyone, tell them how awesome the punch was, and they really ought to try it, start to make a speech… and then keel over dead. I felt my death scene was particularly well done. Poor HotMamaB, though, later cussed me out for it. Apparently, her train of thought at the start of the game was similar to this:

“What the heck!? Since when does Tony wear a suit? Great! I actually get to play in a game with Tony! Wait, he’s dead. Dammit!”

…or something like that, anyway. What I particularly remember was the cross look on her face when she realized that, no, I was Really Most Sincerely Dead.

While everyone else was playing, I ended up running out for lunch with Joan, and we found this really neat little pan-Asian joint about five miles down the road, and it was fabulous. As in, I really enjoyed what I ate, and the prices weren’t even wince-worthy. After I got back, I promptly got dragged in as a GMs handyman, to handle props and stuff that Byron didn’t have enough hands to deal with. It was fun, running around and sticking little red stars on people who had no clue why they were getting them…

More gaming happened after that, and HotMamaB’s Sprog #2 pulled out a really classy move in Apples to Apples. When the adjective was “comedic”, Sprog  #2–who is seven–pulled out “my first time”. Byron promptly fell out of his chair, and came to report this move to HotMamaB, who started imitating a tomato. I have the coolest friends, with the coolest sprogs, and they provide endless entertainment. I also ended up failing to reign in my helium hand; more on that will probably come in a later post.

Monday morning was kind of a drag; I got to hang out with everyone, but I kept getting the usual end-of-con feeling of not wanting it to end. We gamed, we laughed, we partied, we had an excellent time. Hopefully, I’ll see everyone again next year, and perhaps even some new faces.

or, Convincing Oneself is the Next Step Toward Insanity.

I’m not a programmer, dammit. I keep telling this to people who ask, and I keep telling this to myself. Yet, here I am, admittedly flailing about more like a yard-guard scr1pt-k1dd!3 than doing Significant Things, but I’ve written another package for your amusement.

This one also starts with technical difficulties in operating the Top Secret Radio Network. When I built the TSRN website, we were broadcasting over a ShoutCast server hosted at, and things were very simple. Things remained simple when I spun up a ShoutCast server at to replace tess. Things got even simpler when I moved the website to its new home on rbx as well. Then things sat stagnant for a while.

You may recall my post from last month wherein I described a plugin I’d developed for Exaile to support updating title information on a ShoutCast an Icecast server. I realized at some point last night that while I’d switched the server from ShoutCast to Icecast, I hadn’t updated the website to reflect this change.

The website sports a ticker on the right-hand panel that displays current server information, including the stream title, current track, and listener numbers. The ticker is derived (read: ripped wholesale) in large part from the MusicTicker XML package that I located while trying to find something to handle this function. This package hasn’t been updated in years, but it did what I needed it to do, with a minimum of fussing around with it. The problem: it only deals with ShoutCast XML; if you feed it Icecast XML for an active stream, it gags and dies. I wanted to fix this. It shouldn’t be that difficult, right?

Well, it wasn’t that difficult a fix, really; it only involved me staying up until 0500 beating my head on PHP’s supposedly ‘SimpleXML’ parser (which is, I guess, if you’re a stronger programmer than I am). The end result is the beginnings of a replacement, which vaguely resembles MusicTicker.  It’s not quite where I want it yet, and it only really supports monitoring one mountpoint at a time, but it seems to be doing the trick for the moment. I have some plans to work on this some more in the next few days to handle everything I want it to handle, but it’s in a sufficiently advanced state that I felt okay sharing it with everyone. You can get it here:

git clone

Normally, I would release it under the revised BSD license, but because it’s derived from a GPLv2-licensed work, I’ve released it under the terms of the GPLv3. As usual, there is neither warranty nor active support, but I’ll probably answer short questions about it.

or, Learning to Hate Python One Commit at a Time

Most of the time, I’m content to remain Not A Programmer. After all, I’m not. I studied it for a while, and I know most of the basics, but advanced programming and algorithm studies and things like that just don’t interest me. I like doing things with computers, not trying to make them do things. Unfortunately, I found myself in a bit of a bind.

In my Copious Spare Time, I do an Internet radio broadcast for my amusement and the amusement of my friends. It’s fun, silly, and (now that I’m not trying to do it from 0200-0500 Eastern) relaxing. The problem, of course, is that I don’t operate anything remotely resembling a standard amateur rig for doing this. Part of any broadcast rig is music playback software, part of the rig is the streaming software, and part of the rig is a little widget that updates the metadata on the server with the song title information. A lot of software packages exist that tie all three of these components together in one application, but I don’t like any of the options available to GNU/Linux users.

To compensate for not having a handy-dandy all-in-one package that I liked, I found three separate components that I liked and tied them together with some spaghetti. To handle the streaming, I use a package called Darkice. It’s pretty flexible, and it’s super-easy to use. For music playback, I used to use XMMS, but it was deprecated even then and the development team was busily working on XMMS2, which doesn’t work the same. The last part was the trickiest. Neither Darkice nor XMMS will update the stream’s metadata with the current song title, since it’s not a job either of them is designed to do. So, I ended up digging up a little script called ‘’ (available here) that would use a command-line HTTP client to update the metadata. XMMS had a plugin that let you run a command on certain events, and I configured everything accordingly.

Time passed.

I no longer use XMMS for my music; it doesn’t do the job I wanted it to do. I started using Amarok 1.4, and was seriously impressed with its functionality. It was well organized, easy to use, and even extensible with a plugin interface. The problem, of course, is that the plugin available for Amarok to update metadata was for Icecast servers only, and I was broadcasting over ShoutCast. I eventually buckled down and started hacking together a plugin for Amarok that would do the job I wanted it to do, but I never actually completed it.

More time passed.

Amarok got ‘updated’ to the new 2.x branch, and I stopped using Amarok. The new interface is ugly, clumsy, and painfully frustrating to use. I lost all interest in developing plugins for Amarok when I stopped using it as my primary source of aural entertainment. Eventually, though, after much trial and error, I stumbled across a project by people with similar enough tastes in music players to me: Exaile. Exile has most of the features of Amarok 1.4 that I really liked, and though it still has a few bugs, it works pretty well. Too, it’s written with a GTK+ interface, where my primary complaint about Amarok was its reliance on KDE (a desktop environment I would rather pass hedgehogs than use). Exaile also supports a plugin infrastructure, which allows for easy extension of functionality through the use of Python scripts. I hoped dearly someone had written a plugin to handle ShoutCast, or even Icecast, updates, but no dice.

I finally had enough. Last week, I broke down and started hacking together a plugin for Exaile to do what I wanted it to do. It took me a while to get caught up on Python; even simple stuff for most programmers takes me hours to puzzle out and implement, because my head’s just not wired the same way. Also, most of the formal study I put into programming was done with Java, which doesn’t look or feel anything like Python to me. The end result, though, is something I’m actually kinda proud of. I actually successfully produced a working plugin, that does everything I want it to, and even includes a configuration dialog to allow for users to set their own servers. Along the way, I stopped using ShoutCast, and went solely with an Icecast approach, so I dropped the idea of supporting ShoutCast with this plugin, but it works quickly and easily with Icecast, and I’m happy with it.

More to the point, I posted it here on this website where you can download it and use it for yourself. I may be updating it with a README file later, or perhaps even packaging it up, but for now, you can get it here:

git clone

Just put it in your Exaile plugins directory and away you go.

It’s released under the terms of the Revised BSD license, so don’t expect extensive support, but I’ll answer short questions about it if anyone’s curious.