14/04/2003 @23:29:17 ^00:37:59

Promised Downtime and other Miscellany

Apparently the server is going to be moved tomorrow night so this site, SNAFU, webnewsstats and all the other crap on here will disappear, let's hope it doesn't last for long, heh.

Bex reckons that in the last update I should have written "Fewer than three" and "Fewer than eleven"! Very humourous, but artistic license allows me to bend the rules!

I was invited to go to Amy's house to play cards with some of the other vult-- uh, some of the scifi lot, but I dislike competition with other people and tend to capitulate instantly so I figured it wasn't worth it. Playing games against other people is just not my thing, I mean I hate drinking games and everything... Never mind the barely-concealed animosity we all have for each other-- THAT WAS A JOKE ASSHATS! Heh it's all good you know...

Right, the rest of this update is about Doom and idiot programmers putting really dumb mistakes into their code. So you can stop reading if you want, heh:)

Blastem2 Speedruns

I think it's finally happened, I've got sick of Blastem2. Before that, however, I switched categories: in order to give myself some variation I tried getting the fastest exit on the map possible without killing all the monsters.

I recorded a 3'21" (twenty something percent kills) but when I watched again and it looked really slow and retarded. I've also recorded a 3'20" which is much the same. Oh well. But I think I've played this map enough for now:)

I'm playing it on Ultra-Violence skill. What I've been doing up until now, that is killing as many monsters as is possible, is termed "UV Max". If you don't kill all the monsters it's called "UV Speed". There are other standard categories in which people record demos for Doom; the definitive list is probably to be found at Compet-n, on the FAQ and Rules pages. (Yeah I'd have typed my own list out but it's not really worth it)

Scythe

Been playing the recently released Scythe megawad instead. So far I've done the first 21 maps and I agree with the general opinion on Doomworld that it's really good. The first 20 were pretty easy; indeed their small size, relative ease and fun gameplay factor combined to remind me of TVR!, which is itself an amazing piece of work.

Having said that, however, Scythe is known to get really hard towards the end, so I might not be able to finish it... Apparently map 26 has 300 revenants. I hate revenants and their damn homing missiles...

One piece of weirdness was right at the end of the super secret level. There is a megasphere behind the exit line, so in order to make sure I picked it up as I exited the level I straferan at it. PRBoom instantly segfaulted. Fortunately I had a savegame so I reloaded, tried again, same thing happened. However it turned out that I was able to pick up the megasphere without needing to bump it using straferunning, so I carried on. Nevertheless it is weird, PRBoom is usually pretty stable and quite hard to crash under normal circumstances.

Stupid bugs

Here is an opportunity to laugh at my retarded programming ability. I have my script that manages my IRC logs. What it's supposed to do is rotate the logs so they don't get too big, and delete the ones that are too small or too old. Rotation means renaming (say) #foo.log to #foo.log.0, having first renamed #foo.log.0 to #foo.log.1, having first renamed #foo.log.1 to #foo.log.2... you get the idea. The actual rotation is done by a program called savelog which is a standard part of Debian. My script just uses it for convenience.

Now the current incarnation of the program reads the names of all the files in the log file directory, classifying them as "old" or "new". Old files are ones that have already been rotated at least once (so their name ends with a dot and an number) and new ones haven't, so their name ends in ".log". It looks at the "new" list, deleting or rotating files as it sees fit, then looks at the "old" list, deleting the expired files and so forth. (there's a bit more to it than that, involving channel logs and client privmsg logs, but for the purposes of this article it doesn't need to be explained)

Anyway have you spotted the flaw? It's the wrong way round! It reads and caches the names, then performs rotations (possibly changing the names) then tries to delete old files, the names for which might have been changed in the last step!

Whoops. It took me quite a while to realise why it wasn't working properly...