Oblivion Redux

I’ve been woefully negligent in reporting my gaming activities here.  Not that anyone reads this anyway. :)

As last reported, I bought a mount for my level 45 Night Elf in World of Warcraft.  I spent another week or so playing around with it before realizing that the new, expensive cat that took weeks to save up for did almost nothing to improve my gaming experience.  I then concluded that WoW was a complete waste of my time and money.  So I cancelled the account in January and haven’t touched it since.  I’m happy to report, though, that the total amount of money I spent on WoW came out to about $50, which is typical for a video game.  I got two or three months of entertainment out of it, so that was a pretty good deal.

For about a month, I didn’t play anything.  Then, in a fit of boredom, I turned to the only other game I had purchased recently.  You guessed it:  Oblivion.

I’m almost ashamed to admit that, especially after I initially trashed the game in a mini-review back in November.  But I ran into one of those “dire emergency” situations and grudgingly tried it again, if for no other reason than to get my money’s worth out of it.  (Nothing sucks more than spending $50 on a game and not liking it.)

I’ve been hooked ever since.

Here’s what I like about it:

  • The game world is HUGE.  I mean, it’s unbelievable.  Even after playing this game for the better part of February, March and April, I haven’t even exposed a tenth of the points of interest on the map.
  • There are a bazillion different storylines you can follow if you get bored with the main objective.  This game is about as non-linear as you can get.  In fact, it’s almost impossible to stay focused on the main storyline.
  • The outdoor scenary is quite breathtaking for a computer game.

Oblivion reminds me of the first-person role-playing games I liked in the past, back before “action” was much of a component (games like Bard’s Tale, Ultima Underworld, Stonekeep, and Might and Magic VI).  Your primary goal in Oblivion is to wander around the countryside talking to people, gathering information, and fulfilling quests which all combine to slowly reveal the storyline.  Combat is actually kind of a distraction, and I still find it a little annoying.  (Probably because my characters have all sucked at combat.)

My first character was a thief, but, while it was fun sneaking all over the place, after a while I got tired of getting killed all the time.  Next I tried a plain old warrior, with which I was able to satisfactorily beat the crap out of monsters, but I don’t really like combat all that much in Oblivion.  (It’s a bit sluggish on my system.)  So I switched again to a shadowy Dark Elf mage, and I’ve advanced to the point in the story where I’m gathering help from all the town leaders to assist in Bruma’s defense against the hordes pouring forth from the Oblivion gates.  Unfortunately I’m getting killed a lot now in the Plains of Oblivion, so I’m a little frustrated with the game again.  Maybe I need to go back to my Nord warrior.

Anyway, the bottom line is that Oblivion is pretty cool, once you get past the initial learning curve.  It’s like reading a book, except you get to go wherever you want.

A Brief Look At SourceGrid 4.x

To implement an interface that somewhat resembles a check register for UvMoney, I’m going to need a list or grid control. I wrote a semi-usable grid control for .NET 1.1 a few years back, but I wanted to test drive a more mature grid for this project.

As you probably know, there are approximately 8,153 different grid controls available to the modern .NET developer. Writing a grid control, like writing a C++ string class, is one of those “rite of passage” projects that all programmers must go through at some point in their careers: Ie. everyone thinks they can build and sell a better grid control, and everyone tries. The result is a lot of grid controls in the marketplace, most of which are not very good.

For this round of testing, I decided to try out SourceGrid. It’s open source, and I remember reading about it some time ago on CodeProject. That, and the fact that it showed up first in a Google search for “open source .net grid control” gave me the confidence to choose it for this test.

The SourceGrid distribution is pretty austere — all you get is a big zip file with a lot of source code and a few binaries — but, really, what else do you need? The documentation is non-existent, but that’s not unusual for an open source project. Thankfully, there are plenty of easily-readable sample projects included. SourceGrid is what I think of as a “flat” grid — that is, you have to plug data into each one of the cells one by one. It has no data binding capability that I’m aware of.

I’ve been using SourceGrid for several weeks now in my prototype project. The API is pretty easy to learn, which is obviously a big plus. There are a few features here and there that don’t seem very intuitive to me, but I’ve seen worse, that’s for sure. Once you get the knack of the Model-View-Controller cell pattern, it’s not hard to modify the appearance of grid cells, and there is almost infinite flexibility thanks to the extensible design. (If you’re willing to write your own model, view, and controller classes, that is.) 

Unfortunately SourceGrid isn’t all roses, as we’ve all come to expect from open source projects. For a project that’s been around for many years, SourceGrid 4.x doesn’t feel very “mature” to me. In other words, there are bugs. To their credit, however, DevAge fixed several bugs quickly in versions 4.6 and 4.7. Presumably this is a trend that will continue.

As an example of the kind of bugs I’m talking about, I’m seeing some problems with layout of tool tip balloon windows. The balloons end up being different sizes even though it’s the same balloon with the same text in it each time.  And I noticed an oddity with scrolling using the arrow keys. I’m not sure if this was intentional or not, but if you hold down the down-arrow key, it jumps from page to page instead of smooth scrolling row by row, whereas it smooth scrolls like you would expect if you hold down the up-arrow key.

There isn’t any Designer support in SourceGrid, so don’t expect to do much dragging and dropping.  For me, that’s not an issue, but some people might not like it. 

Small bugs are tolerable, but this last one is a killer. One of the biggest problems I have with SourceGrid 4.x is the speed. It’s not very fast, to put it bluntly. In fact, undoubtedly due to the emphasis on extensibility, it’s pretty slow. This is apparently a known issue because “improved performance” is one of the planned features, so we can hope that a future version will be a lot snappier.

For the speed reason alone, I would think most people will want to either replace SourceGrid with a faster grid component, or dig deeper into the undocumented bowels of SourceGrid’s GridVirtual class. I for one would rather spend my time writing code than learning how to make someone else’s code work better, so I probably won’t use SourceGrid for this project.

Krehbiel Award

This is funny… There’s a “Krehbiel Award” at the University of Arkansas: 5 UA Fort Smith Employees to Receive Awards. “Dr. William Huskison of Fort Smith is the recipient of the Luella M. Krehbiel Teaching Excellence Award. … The Krehbiel Award recognizes contributions of UA Fort Smith’s part-time faculty. The award is named for Luella Krehbiel, who taught English and literature at the university from 1929 through 1958.”

Joe Blackburn Endorsed

Here are some things I saw today about our very own Virginia Senate 12th District Republican primary coming up on June 12:

Not Larry Sabato, the self-appointed moral compass of the Virginia blogosphere, reports (aka. read on Elephant Ears) that Walter Stosch’s challenger, Joe Blackburn, has picked up some “huge” endorsements.

Norman on Bearing Drift also looks at the endorsements in the Stosch v. Blackburn race, but the subject of endorsements is so utterly boring to me that I couldn’t follow it well enough to write even a one-sentence summary, so you’ll have to read it yourself. :)

V Beach At Gallipoli

Sometimes I like to go to Wikipedia and click random links until I find an interesting historical article. That probably sounds boring, but keep in mind that I’m easily entertained (especially when I’m at work behind a firewall that won’t let you browse anywhere fun).

Anyway, the other day I ended up on an article about the amphibious assault on Cape Helles during the Gallipoli campaign by British and Anzac troops in 1915.

When you think about dangerous amphibious assaults on heavily defended beaches, I would imagine most people (me included) immediately think of Omaha Beach on D-Day, June 6, 1944, and rightfully so. But I was surprised to learn that the British landing at V Beach on April 25, 1915 resulted in just as much carnage, if not more so.

The first wave of 700 British soldiers towed in rowboats were slaughtered by machinegun fire, leaving just “a few” soldiers pinned down behind a sand bank. Another 2,000 men waited to come ashore from the collier ship River Clyde, intentionally grounded on the beach, but every attempt to disembark resulted in massive casualties as the Turk machinegunners cut down anyone who stepped out onto the gangplanks. Allegedly only 21 of the first 200 soldiers to leave the River Clyde made it onto the beach. Four failed attempts to lead men out of the ship occurred before someone finally decided V Beach wasn’t going to be the best place to land the main invasion force. It wasn’t until nightfall that the British made it onto V Beach, and it wasn’t until the next morning that they finally took the defenses.

It’s hard to imagine the kind of courage it takes to go someplace where you are almost certainly going to be shot to death in seconds. Can you imagine the poor guys in the second, third and fourth waves that left the ship? The last one saw three companies of men killed in front of them, and they still had to jump out and try to get ashore. Yikes.

It’s also hard to imagine the lunacy (arrogance?) of the commanders who thought that repeating the same failed tactic over and over again would somehow result in a different outcome. I think that was a recurring theme among the military commanders during World War I, much to the detriment of the soldiers in the trenches.

After Virginia Tech: Self-Defense

There are a lot of jumbled thoughts in my head after the Virginia Tech shooting last Monday. One of them is about personal self-defense.

Gun advocates say that if the students had had guns, they could have defended themselves. There is some logic to that, but there are also plenty of effective ways to defend oneself if one doesn’t happen to have a gun in their hand, and perhaps this mass murder coupled with the global threat of terrorism should prompt governments to invest in nationwide self-defense classes.

It may sound silly at first, but think about it. It’s fairly obvious that warfare of the future (both against terrorists and against random disgruntled sociopaths) is going to involve a lot of enemies deliberately hiding among and attacking civilians, so it makes sense that civilians should be given some training to defend themselves if they find themselves in danger. For that reason, I could see myself supporting legislation to require self-defense classes as part of a high school and/or college curriculum, perhaps augmenting P.E. classes.

It also leads me to wonder about compulsory tours of military service in this country. My father and grandfather both served in the Army (WWI and post-WWII), and I have no doubt that they would have had a calm, appropriate response to any kind of violence occurring around them because of their Army experience. I, on the other hand, would have to rely entirely on luck, primal instinct, and Quake. If we’re to live in a dangerous world where foreign or domestic terrorists could strike at any moment of any day, it makes sense for everyone to have at least some basic military training to rely on. Like it or not, there are a lot of bad people in the world, and a lot of us may find ourselves on a battlefield of some kind or another during the course of our lives.

After Virginia Tech: Media Death Toll Obsession

There are a lot of jumbled thoughts in my head after the Virginia Tech shooting on Monday. One of them is about the media’s grisly obsession with record-breaking death tolls.

I’ve noticed that the media seems unwilling to report any incident without attaching some kind of comparison to similar events in the past. For example, when discussing casualties in Iraq, reporters will invariably write or say something like, “100 people died in Iraq this week. That’s the most deaths in one week since last year.” Or something to that effect. With Scooter Libby, he was the “highest ranking official indicted since the Reagan administration.” You get the idea. It’s almost as though the bad news is not significant unless it’s worse than the previous bad news: If only 50 people die in a week, for example, the media considers those people underachievers.

This media obsession was on full display during the reporting of the Virginia Tech murders. When it was just one or two victims, the incident was just a footnote. It was, after all, “only” as bad as the last shooting at Virginia Tech last August. But when the death toll suddenly went up over 20, the sickeningly giddy comparisons started rolling in just as fast as the national media news trucks. Worst school shooting since Columbine. Worst school shooting since Texas 1966. Worst school shooting in US history. Worst single-perpetrator shooting of any kind in US history. It’s as if the media believes American viewers are so jaded and desensitized that they are incapable of grasping the magnitude of an event unless it’s compared against some other emotionally-charged event.

There are undoubtedly a lot of Americans like that, but I’m not one of them and I think it’s pretty insulting.

Brian Williams led off the NBC Nightly News For Dummies Monday Night with a line that went something like, “Not since 9/11 has there been a day that you remember where you were when you heard the news.” I remember where I was when I heard Brian Williams say that: On the couch, shaking my head in disbelief at the jaw-droppingly inane tabloid sensationalism that’s perverted modern journalism into little more than a bumbling Keystone Kops routine.

After Virginia Tech: Professor Liviu Librescu

I first heard about this man on the radio this morning, and have subsequently seen many blog posts about him. This is one blog meme that I’m happy to keep propagating, though.

Professor Liviu Librescu, 76, threw himself in front of the shooter when the man attempted to enter his classroom. The Israeli mechanics and engineering lecturer was shot to death, “but all the students lived – because of him,” Virginia Tech student Asael Arad – also an Israeli – told Army Radio.

From the Jerusalem Post: Israeli professor killed in US attack.

Seems like a great candidate for a posthumous medal to me.