Manhattan Mayhem vs. Brooklyn Bombshells

This was an exciting bout, with some spectacular jams (including one 20-point scoring drive!).

I was told by someone at the last bout that Manhattan wasn’t all that good. It would appear that their information was slightly out of date. 🙂 The score was 72–30 Manhattan at the half, and they continued to expand their lead into a 146–91 victory.

The Mayhem have some good jammers—Em Dash is very quick, and Fisti Cuffs and GoGo BaiBai aren’t exactly pokey—but what utterly blew me away was their coordination as a team. Their defense was super-tight: a scene that repeated itself over and over throughout the game was a Bombshells jammer running into a wall of orange while Manhattan’s jammer whizzed by (or got whipped past). In one particularly good jam in the first half, Manhattan’s blockers managed to hold Li’l Red Terror back from even breaking through the pack while the Mayhem jammer got three grand slams.

Straight Razor put on a particularly good showing, and Pie was outstanding as a pivot—I swear she’s got eyes in the back of her head. They were also extremely adept at setting picks; Brooklyn’s blockers rarely got a crack at the Manhattan jammer without having to evade an opposing defender first. The only real downside to their defense was that, at least at first, they were a little too physical; there was a lot of time in the penalty box for the Mayhem, and Luna Impact got her bell rung about five minutes before the end of the first half…not cool.

This is not to disparage Brooklyn’s performance; Ani Dispanco and Li’l Red Terror proved they could get around the track in a hurry when they could break through the Manhattan defense. It seemed like by the end of the game they were getting frustrated, though, and playing a little rougher than was probably advisable—there was a series of three consecutive jams in the second half where the Brooklyn jammer ended up in the penalty box.

So far, I’ve been very happy with my first two GGRD experiences, and look forward to the next one.

Brooklyn and Manhattan get ready to jam

Brooklyn and Manhattan get ready to jam

The Evil Empire

After many years of using Mac OS and Linux nearly exclusively, I’m in a job where I’m using a Windows PC and having to write programs targeted at Windows users in Microsoft-created languages. It’s been a long time since I’ve had to deal with the Evil Empire more than cursorily. Some observations, good and bad:

Good

  • ASP.NET is a surprisingly well-thought-out development platform. It’s very good at keeping code and presentation separate, allows for modular design at a number of different levels, and allows you to do a lot of things declaratively instead of programmatically. It’s pretty fab for creating CRUD web applications.
  • C# is a pretty nice language. It’s not Python, but it does have a lot of nice features, including “delegates”, which almost let you believe that functions are first-class.
  • Visual Studio is really an amazing product. Intellisense is brilliant; a lot of times, you can type a couple of words, and then basically autocomplete your code. I hate to say it, but it might be on par with Emacs as a powerful IDE.

Basically, most of their tools for development are extremely well-done. The big problems crop up when they try to use those tools to create anything else:

Bad

Windows.
Oh, God, how I hadn’t missed this. Having to run anti-malware software because the OS is too dumb to prevent itself from getting infected in the first place. No way to conveniently enter characters that aren’t on the keyboard (I can has em-dash?) Third-party apps to do anything useful (you didn’t really want to play DVDs, did you?). Applications that require the use of the context menu to do important tasks. Stupid “Are You Sure?” confirmation dialogs. Rebooting because you changed the color of the desktop.

The thing that really, really agitates me, though, is the lack of control of the computer that Windows provides. Windows frequently decides that what it’s doing is more important than what you’re doing. You’ve got the start menu open, and an application starts up? The start menu’s gone; now you’re working with the application. Fire up an application, and then switch to another one while it’s loading? The new app will steal focus back when it creates its first window. Windows thinks you need to clean up your desktop/install anti-virus software/brush your teeth? Look, a little popup in the taskbar, getting me away from what I’m working on. And the modal dialog boxes!! Sure, you see them occasionally in any environment, but man, I run into a lot of them here. The bottom line in any computing environment is that I am supposed to be in control. At all times. The machine exists to serve me, not the other way around.

Internet Explorer 6
The bane of developers and users everywhere. Insecure. Buggy as crap. No debugging features that compare to other browsers. Unaware of standards that had existed for YEARS before it was released that every other browser has somehow managed to competently support . When you write a web app, you basically have to write your app twice; once for web browsers, and again for IE 6. It warmed my heart to see that IE 6 is not supported by the “new Facebook”, which will soon be the only way to use Facebook. Hopefully if another big player or two gives IE 6 the treatment it so richly deserves, it’ll be relegated to the junk heap before Microsoft officially puts a bullet in its head in July of 2010.
Outlook
Big. Evil. Doesn’t work well with anything other than Exchange. Clumsy, clumsy user interface. I was aghast to find that you can’t do ad-hoc searches of your mail. You want to find that message about TPS reports from a few days ago? Create a new search folder, make a new filter to tell it that you’re searching the whole message, type in “TPS”, save the folder, click on it, and wait. Then delete it when you’re done. On a Mac? Command-option-F TPS. Or Command-Space TPS and look through your entire system. People need to be able to search their mail quickly and conveniently. (Oh, and I hear that the HTML rendering engine in the new version of Outlook is the same one that Office uses, taking the dubious task of writing HTML email that will display reasonably on many clients from the realm of “difficult” to “impossible”.)

Programmatically Selecting a A GridView Row in ASP.NET

I recently ran into a situation where I wanted to be able to select a row in a GridView control when a page is loaded.

The obvious solution is just to (as suggested on many forums) add the “Selected” property to the row you’re interested in, but that’s fairly suboptimal. It doesn’t trigger the OnSelectedIndexChanged or OnSelectedIndexChanging events, and I don’t think it updates other properties like the SelectedIndex on the GridView. What I really wanted to do was trigger an event that would be identical to what would happen if you selected the row using the web interface.

Googling only revealed one place that claimed to have an answer, and of course, it’s the ever-annoying ExpertSexChange. I finally figured out a way to do it on my own, so I figured I’d share. (And, perhaps, deny the aforementioned site a bit of revenue. >:-) )

The trick is to use the containing Page object’s RaisePostBackEvent() method. It sounds obvious in retrospect, but I was looking for a method on the GridView object rather than the page. (There is a RaisePostBackEvent() method on the GridView object as well…but it’s protected.) Instead, you send the event to the Page object, which the control has registered itself with, and the page informs the control. Specifically, to select a row, make the event argument “Select$rowIndex”. Shazam!