1.31 Open Beta Weekend

Sorry for the silence. It’s been a helluva week.

We’ve been cranking away at 1.31, and this week was stress-test week. Needless to say, with little sleep, 3 mewling kittens and a mewling kittens-mother, plus everything at work … I haven’t even glanced at the blog.

People seem to be really taking to 1.31. Many people were dubious about eye-candy overhauls, as is the main stay of 1.31. But seriously, this isn’t a few visual tweaks.

Also, once we get the host code changes properly bedded down (the beta cluster runs on 5x dual 800Mhz Xeons machines) there are some minor tweaks that really rock gameplay.

Dang this is tedious :)

The 1.31 code base has had a lot of “syrup to sugar” changes: A lot of it is simple syntactic-sugar, to accommodate the wiles of the Intel compiler. But that makes it really difficult to spot the real differences between the two code bases.

So I’m going through and synchronizing the two with meld.

Darnit but it’s mind numbingly boring :)

[edit: Finished! The client guys will be really unhappy when they pull in the morning and all but 3 files in the project have been touched :) Screw ’em though, they’re all cosmetic changes that were getting in the way of my working on 3 branches at once ;-P]

bashrc and openssh

Just thought I’d document this for web-posterity…

Some of our systems rely on a large number of environment variables that get loaded via .profile or .bashrc, but most importantly the PATH variable.

Under Ubuntu and Fedora 9+ this stopped working when using “ssh <host> <command>”.

After much googling and head scratching, I finally found the cause.

Our bashrc files all had something like this near the start:

if [ -z "$PS1" ] ; then
  return   # or exit or something

Using OpenSSH’s ssh in command mode, e.g. ssh dev-strat stophost, results in a non-interactive login, for which “PS1” is not set.

So if you’re having a hard time getting your ssh commands to load their environment… Check for that.

A few tools go a long way

I need to start working on my sales pitch/technique. As Motor pointed out, 1.31 is getting close. You want to know how close? Join the queue. Now, isn’t that just wrong? Hey, hands up, mea culpa, I’ve been a significant cause of 1.31 delays. But that just makes the was-once-a-manager in me even more irate.

How can we possibly not know how close we are? Aren’t we a seasoned software developer?

Workin’ Mercurial

On Friday I used Mercurial‘s built-in repository conversion tool to build a Mercurial repository from Subversion 1.30 branch. Went home, cloned that to my Linux and Windows boxes and I’ve been tinkering over the weekend.

With the inotify extension, it’s really zipping under Linux; especially with atime changes disabled.

And I notice that I’m very quickly falling back into the habit of early commits.

The only bottleneck in the system is that the master repository is on a Windows Server 2003 share, and cloning/pulling/pushing are a little slow. I suspect that I need to look into setting up hgservice or something.

But if we do switch to Mercurial, I think we’ll probably set it up alongside Trac (which I increasingly dislike) or Redmine or something: Trac development seems somewhat bumbling, Redmine is generally nicer but it has rude rough edges – e.g. the forum system is kinda noddy. I will probably like Redmine more when I quit trying to integrate it to our Windows domain logins and use our game-database logins like we do with Trac right now.

But I don’t HAVE a printer…

Why do so many Linux operating systems have cups and other printing services as a high level dependency? It may be trivial, but it’s one more attack vector and one more set of running tasks…

So much to do…

As excited as we are about 1.31, frankly some of the stuff we’re able to start talking about for 1.32 is pure woodie-material. The experience Ramp has drawn from working in the deep, dark bowels of the engine this patch are putting some host and client discussions on the same page in ways we haven’t been able to since Thunder headed off to Blizzard.

Had an awesome impromptu earlier with Rafter and Ramp and the thing I really took away was that you could see what were previously three opposing stances finding a mutual horizon. And a very promising horizon.

Ramp and I have also discussed a number of natural follow-ons to the turret accuracy improvements, including a system we’ve discussed with Killer for improving the update system to allow more frequent, more accurate updates with lower bandwidth usage and better client-to-client synchronization.

Also good to hear Ramp enthusiastic about fixes to long time annoyances that he is seeing with new clarity from a deep perspective.

And I got another performance tweak for the Intel Compiler ticketed.

Soda Check (Pepsi/Mtn Dew)

Pepsi and Mountain Dew have “throwback” cans/bottles in stores right now, made with cane sugar instead of corn syrup. They’re way easy to miss – I ignored the Pepsis as diet.

Man – they really rock. The most immediately noticeable thing is that they feel “wetter” on the tounge, more refreshing and have a purer, simpler, cleaner flavor.

I’m curious what the purpose of selling these limited time drinks is? Do they think that people will switch from coke to pepsi because they like the throwback? It’s been years since I could drink a pepsi, but I’m fixing to head back to the store right now and stock up on the throwbacks.

ALWAYS listen to Bloo(*)

Failing to heed his advice, I was a bit late in waiting to get them neutered, and Sooty managed to find a socket for his recharger :( Judging by the size of Frosty’s belly, I’m expecting a fair sized litter :(

(* Except when he is clearly wrong)

Cats without so much of the cat…

CatGenie: Restored my apartment from “palace of cat poop” to “my home” again. The fact I saw it in an infomercial mean’t buying one was a last resort for me, but now I wish I’d bought it long, long ago…