O fish, are you constant to the old covenant? 
2011.03.23 02:19 - Entertainment, Books, Microcode
I finished reading Declare, by Tim Powers, a little bit ago, which has been an interesting experience for multiple reasons.

For starters, I read nearly the whole thing on my phone, having purchased the Kindle version. I don't think I'll do that again, right away. Spending hours staring at the screen of my phone seems to be a sure-fire recipe for eyestrain, though it's otherwise an okay experience. I'm quite sure I still prefer paper, on the whole, but I suspect a Kindle device is in my future sometime in the next year or so.

Declare, itself, is an excellent novel and I recommend it. No guarantees you'll enjoy it, but I did. Especially if you've read Charles Stross' The Atrocity Archives, if only for the contrast between the two. I suspect I'll add a hardcopy of this book to my next Amazon order, in case I wish to lend it out.
  |  [ 0 trackbacks ]   |  permalink
I don't see how the final result can live up to this 
2011.03.22 07:30 - Entertainment, Microcode, Internet Stupidity
but this Allies vs. Dino-Nazis thing is at least producing some fantastic marketing materials. Original link found at Everyday, No Days Off.
  |  [ 0 trackbacks ]   |  permalink
Quick Review: Homefront (PC) 
2011.03.20 21:32 - Guns, Magpul Masada/Bushmaster ACR, Entertainment, Microcode, Whining
I finished the single-player campaign of Homefront on the PC. I'm not real enthused.

As John Walker opines over at Rock, Paper, Shotgun, the single player campaign is scripted in a way antagonistic to human interaction. Walking is slow, and your access to an area is almost always gated by one or more of your companion NPCs.

What I found most obnoxious was the way the game handled weapons. There are two things I found specifically obnoxious:
  • Guns that almost certainly share ammunition and magazines in the real world do not in the game. Which is why I found myself hauling around an empty ACR early in the game, despite being surrounded by M4s and M16s. I'm too lazy to go back in to find out if this problem affected everything in the game that would have taken STANAG mags (i. e. the M4, M16, ACR, SCAR-L, and PWS Diablo), or just some of them. Maybe the M4 and M16 actually work right, and the other guns are understood to take different ammo. Dunno. At the moment, not in the mood to find out.
  • The gun or guns I have at the end of chapter A almost never carry over to chapter B. Which is how the aforementioned ACR disappeared at the end of the first chapter and was replaced by an M4 at the beginning of the second. "What's the matter," one of the NPCs quipped, "don't you like guns?" Actually, I love guns; I was trying to figure out where mine had gone.

And I can't say much good or bad about the graphics. The reviewers claim it's fantastic, graphically, all I can tell you is I needed to turn all the levers down to "Very Low" and it still ran poorly. Also, it's very brown (that's a TV Tropes link; click at your own discretion).

I'm not really interested in the multiplayer. The reviews say it's fine, but I'm not really in need of a multiplayer FPS right this second.
  |  [ 0 trackbacks ]   |  permalink
They Changed It! Now It Sucks! 
2011.03.14 08:51 - Entertainment, Microcode, Internet Stupidity, Whining
Been playing Dragon Age 2 for the better part of the last week. After some ridiculous number of hours, I've finally cleared the first act. ... I'm a little slow, here. I also gave up and turned the difficulty down to 'Casual'. Haven't quite got the hang of managing a whole party in this game, and the big fights seem to require it.

As noted, I'm a little slow, so while I've been getting out of tutorial land and into the meat of the game, the ├╝ber-nerds seem to have already cleared the game. Good for them. I'm seeing complaints (have been seeing for weeks/months, actually) that Dragon Age 2 is a poor sequel on the basis that changes a bunch of things, retroactively: the appearance of the Qunari being the most obviously visible change. BioWare was said (paraphrasing) to be selling out, EA was blamed, assertions were made about the long-term impact of this strategy on BioWare, and generally much hay was made by the nerds in the audience about the downfall of BioWare.

All I can say is this: the PC version of Mass Effect? Super crashy on my machine. Dragon Age? Also very unstable; so much so that I abandoned it before finishing the Battle of Ostagar. Dragon Age 2 has not crashed yet, and I've only run into a bugged quest (very annoying, but not the end of the world). If this is the result of EA's influence on BioWare, I think I'll take it.
  |  [ 0 trackbacks ]   |  permalink
Other People Should Make My Life Easier 
2010.08.27 09:29 - Entertainment, Microcode, Whining, Work-related
I'd like to be able to do something like this
try {
    /* and then, a miracle occurs! */
} catch (BarException beFoo => String.Equals(be.Property, "Foo")) {
    // foo handler
} catch (BarException beBar => String.Equal(be.Property, "Bar")) {
    // bar handler
} catch (BarException be) {
    // general BarException handler
}
Mostly because it seems slightly cleaner than the current approach to handling, e. g., OracleExceptions, where one might care about some of the error codes represented by the exception, but not all of them:
try {
    /* and then, a miracle occurs! */
} catch (BarException be) {
    if (String.Equals(be.Property, "Foo")) {
    // foo handler
    } else if (String.Equals(be.Property, "Bar")) {
    // bar handler
    } else {
    // general BarException handler
    }
}
Some flexibility is lost vs. using if-else statements instead, but you could produce the same thing with typeof and nobody sane does that if they can get out of it, either. Semantically, it's pretty much equivalent and, syntactically, it's more verbose (to no obvious semantic advantage), so I'm sure it's not actually a good idea. (Additional evidence it's a bad idea: I'm sure I'm not the first to hit on this idea, yet it isn't implement in C# as far as I can tell. Presumably, those guys know what they're doing.)

Granted, it would be even better if Oracle would throw different exception types for different error codes instead of throwing the one type with slightly different data, but some problems seem, prima facie, less intractable than others.
  |  [ 0 trackbacks ]   |  permalink

Next