April 28, 2007

There have been a few things going on...between the diabetes diagnosis, a pending deadline at work, my infection, and some neighborhood drama, I haven't had a lot of time lately to do much work on anything.

April 20, 2007

My wife talked me into going to a "vacation club seminar" tonight for a company called Beachcomber Vacations (aka Castaways Vacation Club) so she could get a free prize. I figured I'd go along and see how keen my "rip-off sensor" was. Turns out it was dead on. Everyone else in the room got a really high pressure sales pitch, but my wife and I didn't for one reason: I did the math while they spoke.

When we arrived at their office in the NexBank building at the Dallas Galleria, the first thing I noticed was that there was absolutely no corporate branding anywhere. The decor shown to the public was as generic as it could be. While we were in the waiting room, I noticed that the only documentation lying around was fliers for how you could lease space in this building for short periods of time for meetings, etc. Not at permanent office space: Strike #1.

Our salesman admitted that this was his "third day," but tried to become our friends with constant handshakes, discussion about his school, his stock trades, etc. My brother used to do high-pressure sales as well, and I could recognize every trick in the book. Strike #2.

My wife was instructed to turn her cellphone off, and then they wrote "Anytime (Restricted)" and "Today (Unrestricted)" on the board. Ooh, fun, they were going to really try to pressure us. "Tell us yes or no tonight, don't tell us 'we need to think about it.'" Strike #3. They were out before the presentation started.

They started with a brief description of the program. Basically, you enroll in the program, and get discounts on travel. Even though they were claiming a 70% discount on average, the only examples I could point to seemed to show at most a 30% discount for everything except flights, where it was a savings of about $20-$30 a ticket at most. Not impressed. The price for this "wonderful discount?" $8,999 plus a $299 activation fee and $199 per year for maintenance.

Now, paying for discounts is rarely a good idea. Club stores like Costco and Sam's Club are worth it provided you buy in bulk at least once a quarter, but paying for a discount for something that you do rarely is only worth it if the benefits are clear and there is a low break-even in case situations change. Assuming an annual travel budget of $3,500 and savings of 30% through the club, you would break even around your twelfth year of membership, assuming all costs remain the same.

I sketched this out on the provided pad, showed it to the salesman, and said "no." He left us, then offered the same program to the people at the table behind us for under half the cost ($3,999).

So if any Texas residents want to go scam-sighting, check the 10th floor of Two Galleria Tower in Dallas...if they're still there on Monday.

April 18, 2007

My recent infection was the straw that broke the camel's back for me. Being ten pounds overweight, having sleep apnea, having fairly high stress levels, and a few other items led to me having a blood glucose level of 325 a week ago. I'm down to 270 today, but I'm still in the land of diabetes. It's especially scary since the last time my blood glucose was tested, it was 80.

Right now, it's looking like it was caught early enough that just "rebooting" the pancreas should be sufficient to get my bloog sugar back to normal, along with some minor dietary changes.

April 15, 2007

My ears stopped burning enough this weekend that I was able to start concentrating on coding again.

It's nice to dip back into USEMP after a brief absense.

This week, I need to upload the new site template that was created for USEMP, and finish troubleshooting my HUD changes and scattergun changes. Then I need to get the rest of my code over to Sarkie for a bit because starting Wednesday, things are going to be a bit hectic at work for a couple of weeks.

The power of the blogosphere is that it's an open communication channel. If you don't like what I'm saying, or disagree with what I'm saying, you can talk back to me. I read every single comment that comes in, and I try to take it to heart when there is constructive criticism towards any of my points of view.

When you talk to someone about Xbox Live on the Xbox 360, what is one of the first things that pops up in any conversation? Once you've learned how to use Live in one game, you know how to use Live in every other game. Server browsers and multiplayer matchmaking aren't even uniform between titles in the same series, let alone between companies. A uniform multiplayer experience will only help grow the PC multiplayer game market.

When you're playing on Xbox Live, I'm able to quickly tell what other people think of a player by pulling up his GamerCard. Good players (or people who are fun to play with) have high player rankings, while jackasses have low rankings. People have noticed that if someone's a jackass in one game, they're likely to be jackasses in other games...this is a way that their reputation can follow them.

And as a side note, just because developers can be implementing these features in their games doesn't necessarily mean that the developers should be implementing these features in their games. What makes more sense: spending ten man-months creating the server software, matchmaking functionality, rankings, ladders, etc. (not including debugging time), or spending two man-months to hook up an external library, call an API a minimum of 15 times per second, and fix the bugs that come up as a result of it?

April 4, 2007

I just got back from the doctor's office. What a wonderful experience, spending thirty minutes filling out paperwork just to find out it was the wrong paperwork, waiting in a non-air-conditioned office for over two hours, and then getting lectured for nearly an hour on not getting to the doctor's sooner.

Long story short: Over the last six weeks, my hearing has been on the decline. Earlier today, I could hear next to nothing out of my right ear, and I had about 50% hearing loss out of my left. It isn't degenerative hearing loss, and I'm good enough at reading lips that I've been able to cover for it, but it's still disturbing. I should have full hearing back within the next two weeks.

That said, I did like one side effect of my hearing going away...it forced me to pay closer attention to my surroundings and the people therein. Hopefully, I'll be able to keep that side effect going forward.

April 2, 2007

I think I finally figured out why I prefer Visual Basic to other programming languages. It strikes the perfect balance between functionality and usability.

I bring this up because I spent the entire weekend battling compiler errors in C++, adding in tons of casts in C#, writing helper functions in JavaScript, and all in all just getting frustrated by the amount of extra work I have to do in order to get even the simplest of things to work in life.

For example, I've got an RCA alarm clock set up in my bathroom. It starts out beeping very quietly, and over the course of a minute ramps up to where you can hear it from ourside our apartment. Nothing quite like having to traipse through two rooms in order to turn off the alarm to help you wake up. The only thing is that I'm usually so dead in the head in the morning that I completely space that it would normally take me seven or eight pounds on the "Off" button to turn it off. Turns out that the "Off" button on the alarm clock only works if the alarm clock "beep" is actively going on. Inbetween beeps, the "Off" button does nothing.

Now, this alarm clock has two seperate alarms on it.If both alarms are going off at once, the space where one alarm would be "Off" is where the other alarm would be beeping. In other words, hitting "Off" kills whichever alarm is beeping at the time. In this case, the method of adding additional functionality absolutely destroyed the usability of the alarm clock.

Don't even get me started on user experience issues in real life. At the DART stations, they have started installing new ticket machines that have significantly more functionality. You can purchase multiple passes and multiple types of passes at one time, which makes it more convenient for families and groups. However, unlike the old solid-state machines, these have monitors, so they require step-by-step Braille instructions on how to use them on the front. Only downside: the instructions don't work.

Step two of the instructions say, "For a $1.00 day pass, press button C. For a $0.50 single-ride pass, press buttons J, A, G & F." Button C does indeed purchase a day pass, but the other instructions act entirely differently. Pressing J cancels all previous orders, pressing A orders you a $2.50 day pass, and G & F are not bound to any functionality whatsoever. (The actual instructions should be press I, then C.)

So ask yourself one question: When you are designing your software, be it a library to be used by another programmer, a web page, a mod, a ticket machine, or an operating system, how much time do you focus on how much functionality you are adding, and what usability tradeoffs are you making for that functionality?

About Me

Currently Sr. Software Engineer in Test at Netflix. Formerly Sr. Quality Engineer on Firefly at Amazon, QA Manager at Ritual Entertainment, Software Test Lead at Microsoft Game Studios, Director of IT for Meeting Professionals International.

Opinions expressed are my own and do not necessarily represent those of any current, former, or future employer.