TFC, mail server, wireless, XP

2002 October 2
by darkness

Moved the TFC server over today. Ended up having a corrupt copy that wouldn’t run on the new box, had to do an install from scratch sort of. Ended up working, but now no one’s connected. I find it quite depressing that people depended on the IP of the game server so much. Now that I take a look at GameSpy3D, I can see that it too keeps the IP around instead of a name. Hopefully people will look up our server on the master servers, especially considering it has the same name as the old server. I still get plenty of connection requests to the old server, too; I could NAT them but… come on, just connect to the new server. (I think 24 hours is enough warning for a server move.) Hopefully the new server will be busy enough tomorrow to have a meaningful practice. It’s certainly faster.

Got a customer’s web site working too. Meeting later in the week.

Important mail server acting up at work. Same mail server as before. Thankfully the changes I made to rc.sysinit have worked and it fsck -y’s properly after being MasterSwitched. Will have to put new hardware in it later in the week. I expected the crash was brought on by abnormally high load, and I think I was right: when it came back from being rebooted I found 7600 or so messages in the queue, and 3600 being bounced back to a user in one of the hosted domains. It seems one of our customers sent out (what should be an opt-in) mass mailing, and it just horked the poor server up. I turned down /etc/qmail/control/concurrencylocal and /etc/qmail/control/concurrencyremote, then disabled logging for mail.* in /etc/syslog.conf. It’s still up right now and has delivered most every message immediately deliverable from its queue.

Tried to get a friend-of-a-friend’s wireless card working to no avail. A Linksys cable router/wireless AP (802.11b) and a Linksys WPC11 (AFAIK; seemed to be Linksys PCMCIA card) in Win2k. Changed ESSID, turned WEP on, turned WEP off, disabled and enabled wireless on the AP, tried Ad-Hoc and Infrastructure. Nothing. Finally gave up after about an hour of playing with a laptop over VNC over a dial-up connection (the laptop was dialed up, that is).

Browsed through my IBM San Francisco patterns book; failed to grok it. They’ve got pretty complex patterns in there, especially for 0130 in the morning. Probably none that need to be applied to my current project. Also looked at the Law of Demeter again. The Pragmatic Programmer lists the Law of Demeter for functions as:

A method can only call methods defined on

  • itself (the object the method is defined in);

  • parameter objects;

  • objects created by the method;

  • or direct component objects.

I think I’m missing one; I’ll try and remember to check that later. It also, of course, cautions against following this too strictly.

I’ve spent an hour or two now looking over XP stuff. Started at http://www.extremeprogramming.org/. Big mistake. Now I’ve got … (counting) … somewhere in the neighborhood of 32 Mozilla tabs related to XP open.

At some point early on I became interested in how XP is applied to single person projects, such as the one I’m about to engage in. Found ExtremeProgrammingForOne with some useful information. Yet, an unanswered question:

Ok, I’m beginning to get this. I can see how XP can be used for integrating new functionality into an existing framework, but how does an extreme programmer write a framework from the ground up? I can see how to get requirements down as user stories, but won’t the first user story require a huge number of engineering tasks in order to construct the framework?

I’m sure I’m missing something here (possibly a decade of programming experience..) –DavidMcNicol

This one was an important one to me. As usual, seems like I’ll be making a good bit of framework classes and just gluing them together. I could go look for someone else’s, or maybe this time I’ll rewrite some of them for the last time; you know, actually reuse something.

ExtremeHacking describes a subset of XP principles that can be used for one person development.

Sometimes I get confused with all this talk of refactoring, so see RefactorMercilessly for some help there. This goes along with The Pragmatic Programmer’s idea of “don’t abide broken windows” (paraphrase from memory).

So now I got distracted with the word “abide” and ended up going to find dictionary.el. You don’t need to set up your own dictionary server for this; dict.org runs some, and dictionary.el is preconfigured to use them. I also found http://www.neilvandyke.org/webjump/webjump-plus.el.html along the way, which is a cool add-on to webjump (a package I had never heard of in the first place). dictionary.el is still much cooler for looking up definitions on the fly, though. I’ll update my .emacs too.

Time for bed.

No Comments

Leave A Comment

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS