Tuesday, April 22, 2008

Been a long time

I bit off more than I could easily chew at work recently.

Actually, I have been really working hard for about 3 weeks, with last week being the culmination and the hardest, and this week I am ramping down.

We haven't refactored the code base for so long, and I decided to do something to address a few outstanding technical issues with the product that ended up being a lot more work than I had originally accounted for.

This is the first time I have worked with a multiple document system. Add to that the fact that we keep the files in a datastructure that matches their structure in memory. There is no translation step on load or save. This means that links (urls) between files are just strings, they don't point at anything. If you change a document's location, or you move a resource, you had to run through the entire project looking for links to the renamed document or the moved resource to update them.

Needless to say, this didn't scale well.

Now, we parse urls into special objects that build a graph of the documents, the objects in the documents, and how they link to each other. We build a document graph. This sort of low level change, in a product as sophisticated as Blackfish, really takes a lot of work. It reduced complexity of move, rename, and delete operations considerably; but it increases the static complexity of the system. Anyway, it was hard, but it works and it is cool, clean, and fast.

I also had a bit of a breakdown physically two weeks ago. Sometimes I will train various different sports until I enter a state of physical exhaustion.

Real exhaustion isn't something that happens after you run a long time. You may be temporarily exhausted, but it takes weeks of overtraining to reach a true physical exhausted state. There are several key indicators you are overdoing it, but I don't usually notice them until they are pretty far along. High heart rate, even during the evening. Failure to sleep effectively, moodiness, pretty much all conditions I have without being exceptionally drained. You also stop healing effectively which is the largest problem.

Anyway, I pretty much took 2 weeks off from sports. Getting a very time consuming video game (Space Rangers 2) helped a lot. This game is pretty much all about zoning out wandering around the universe checking shizzle out. There is a point to it, but you can achieve it many different ways and there isn't a use to rushing. That and I am dancing with a very sweet girl from salsa so we just danced a lot (although I find it really tough to detach from hard work enough to dance well).

And, somewhat passive aggressively, I missed a meeting yesterday and just went to a baseball game. This pissed people off, but I needed the rest so what can I say? I got a somewhat direct email from the boss today telling me to either show up for the meeting or reschedule it. I don't intend to respond.

Anyway, I have started the physical stuff again, and what I am working on is wrapping up. The next 7 weeks should be OK for me. What I really need is some serious rest from this product, but I don't see that happening any time soon.

So, I am officially employed by NVIDIA. A large pay raise, and employee badge, and meeting some pretty cool people are what I have to show for it. Now I need to pay off the first loan on my house (the small one that ensures I don't have to pay loan insurance) and refinance the house. Rent it out and buy another.

Chris

No comments: