Tuesday, January 27, 2009

Initial impressions: A good game. I like how the story and gameplay is weaved together. Starts with a now-classic "being driven in car but can move camera" scene, then gets you right into the action. A few dynamics have me impressed so far, but we'll see how they hold up.

Sunday, January 18, 2009

Annie and I are staying in Minnetonka, MN, in the loving wonderful home of Joe, Liz, and Jacob (Liz and Jake pictures below). We’ve wanted to come visit ever since Jake was born (August 8th, 2008), but various things have gotten in the way.

We finally made it (after my company gave me a sizable bonus… Thank you GLG!)!

On a side note, I’m using this post to try out Windows Live Writer. Paul Thurrott has great things to say about it:

This is the single nicest blog editor I've ever seen ... and it works with just about every single blogging service there is, and not just Microsoft's Spaces service. If you do use Spaces, all the better: Setup is simple, and you'll be up and running in no time.

So far so good.

And check out this scattershot photo album I automatically created! I just selected a bunch of photos and said “Insert as Album”. Sweet.

Thursday, January 15, 2009

Eric and I argue about programming all the time and about every little thing, but we're really just arguing about one thing. I value safety, and he values speed. Let me elaborate.

The safety I'm talking about is making sure my code works right. I'm for strong typing because it can help find errors at compile time. I believe that databases have to enforce their constraints as best they can even if you're the only client. I prefer centralized version control (CVCS) over distributed version control (DVCS) because the restrictions CVCS enforces promote healthy branching and code. I believe in continuous integration, including full unit and integration tests.

The speed Eric talks about is being able to write "5.times.per.day" in Ruby and have it just work the way you expect. Eric loves git because he's able to get input seamlessly from developers around the world and easily integrate new code. And he loves easily discoverable features of his languages of choice.

Most of the time, the programming context determines the value of the two assets. Building a mission-critical app that handles financial data? Safety rules the day. Building a site to determine if it is Christmas or not? Speed please.

Programmer personality also is a significant factor. I know I make mistakes, so I prefer to use tools that prevent/detect said mistakes. I also know that others might use my code at some point, and as anyone who has ever worked with someone else knows, other people are dumb.

The reason I just started writing about this was because I had to change a "Thread.Sleep" call in one of my integration tests from 2 seconds to 5 seconds. To make this change and formally deploy the code to my project's development environment, I had to run the code through the entire 12 minute build process. And that's AFTER running the unit tests locally (5 more minutes). It would've been so nice to circumvent the whole process. And I wanted so much to do just that! But I held fast to my rules, and now I know the published package built from that build is ready to be released to QA.

Wednesday, January 14, 2009

Every baseball off season I prepare a note sheet with things I read or learn about baseball players that might help me come draft season. An example note from last season: "michael bourn of + like a cheap Juan Pierre; will get steals but kill your average". Sometimes I'm right ("brad lidge rp + give him a looksee") and sometimes I'm wrong ("nick swisher of/1b + especially in OBP leagues, slg .824 in ST over .464 career"). But I like writing these things down and taking stock.

My HSL note sheet for this off season has grown to 41 players (from A.J. Burnett to Zack Greinke, alpha-sorted by first name). I'm a little concerned that the majority of my notes are on starting pitchers (17). I also only have one negative note (sorry J.J. Putz). I've added a draft column to the sheet to suggest to myself what round I should target the player in. This information will work great with Walrus's "must-draft-by" feature.

There's just so much information out there and we can't keep it all in our heads the whole time. My HSL note sheet has been step one to organize my information. Walrus is step two.

Monday, January 12, 2009

Man, I'm looking like an expert myself. I'm not saying that I'm smarter than Joe Sheehan (or am I?), because clearly I'm not (otherwise I'd be writing for Baseball Prospectus). But at least I made one point :)

Most technically people I know hate talking to sales guys, preferring to instead do all their own research and buy from a website. I'm going to share a short story with you all about sales people.

A small web business decided to move from rented servers to owned servers, so the owner bought several server machines and rack space. He decided to save money by buying the hard drives and memory separately from the servers. However, when the server arrived, it did not come with the necessary drive rails for the hard drives. The company did not sell the drive rails, only the hard drives themselves with rails attached... for hundreds of dollars each!

If you follow the Stack Overflow podcast or blog, then you know that this owner was Jeff Atwood, writer behind codinghorror.com and cofounder of Stack Overflow. He ended up buying the drive rails on EBay for the right price, so the story ended well. But when I read his story, it reminded me of an exchange on the SO podcast I heard earlier. Jeff and Joel discussed that Dell sales guys give you a better deal than the website, and that "Dell is paying me [Jeff] to talk to a sales guy, and they are paying the sales guy a commission" (paraphrased).

I think they misunderstand why Dell wants businesses to talk to sales guys, and the story at the top of this post illustrates Dell's thinking. Companies want you to be happy with your purchase. They want you to buy from them again and to tell all your friends/coworkers/everyone how awesome your company is. The sales guys want you to be happy with your purchase so you don't return it and cost them their commission. So everyone at the company wants you to be happy with your purchase.

And they know things! They know how many drive rails come with each server unit and if replacements are available. They know if the laptop you want comes with a replaceable motherboard. They know the answers to the questions you didn't know to ask. And they know that happy customers are worth 5-10% off the bottom line.

The moral of the story is twofold. One, Dell knows what it's doing. It didn't rise to be the #1 seller of computers because of their pretty colors. Two, that people should consider talking to sales guys before making a purchase, no matter how much research they did. [UPDATE: Joel actually mentions this to Jeff in podcast 35, so he's still cool.]

Important caveat: this only goes for legitimate companies concerned with their reputation. Vince from ShamWOW doesn't care if you're happy because he got his $19.99 plus S/H.

Sunday, January 11, 2009

I'm not old. Not by a long shot. But I am getting older and more mature. I'm also spending more time with my wife. And more time working on my house. I find I have less and less time to play video games. This is a huge bummer!

I had many video games on my wish list, and I got three for Christmas (Orange Box, Rainbow Six Vegas, and Sins of a Solar Empire). I already beat Portal and am playing through Half Life 2 in Orange Box. I'm saving Rainbox Six Vegas for a rainy day (since the online playing opportunities at this point are almost nil). That leaves Sins of a Solar Empire.

I installed it on our new laptop (a sweet rig, I might add) and fired it up the other day. I've been excited about this title ever since I read about (publisher) Stardock's decision to go without DRM. And I've been craving a new RTS to bide my time until Starcraft 2 comes out.

But after installing the game and going through the tutorials, I found that I had no energy for playing. None. I thought I'd be chomping at the bit to flex my mad RTS skillz, even if just against the computer. But combine the lack of a solid story element (or at least lack of one that pulls me in from the get-go) and no multiplayer aspect (I have no friends to play the game with) and I just have no drive to play.

There are a few elements at play here. I have less time to play games, which means I'm searching for a greater payoff from games I play. That means games I can jump into more quickly (FPS) and games I can play with my friends (Starcraft 2). And that excludes most RTS games that my friends won't play.

The real final point I'm making is that I realized that I'm getting older and I have to pick the games I want to play more carefully (and maybe let my friends' game selection guide me more). Of course, I can play all the DS games I want; what else am I going to do on the train?

About Me

Currently employed to do .NET development, but I am comfortable in pretty much any language (not that I know them all, but most are pretty cool).

Husband for 6 years now, father of two daughters (see pics and videos to see how cute they are!).

Gamer for life; started on the Commodore 64 with Q-Bert, now playing mostly FPS titles. Really, just anything that is cool and fun.

Started a slow-pitch softball team a few years ago, nominated myself as the pitcher. I'm a decent hitter, but pretty solid pitcher (slow-pitch softball pitching is all about preventing walks, as there's not much you can do to prevent them from hitting the ball hard). Haven't played much since Mia was born, but I still have the itch!

Been a homeowner for 7 years now. It is both better and worse than I imagined it. More work than I imagined, but also feels better.