- Fixed that damned security hole in the PHP experiment (Well, the one we knew about;) ) Many thanks to Felix for alerting me to escapeshellcmd()
- Some relatives visited yesterday and stayed the night. As a result there is a mattress in the back room. It's very, very bouncy. Too much fun:)
- Using Google Groups as a fake source of news articles to pipe to newsstats is harder than I thought. More fiddles will be needed to code that was already a gross hack. Oh great. Sometimes it's like I might as well resort to GOTOs:p
- Still haven't done any more work on that new improved makefile-based website setup I mentioned ages ago - typical eh??
- I wrote a post that someone actually found helpful! Gives you a warm glow.
- I wrote a lot of posts that weren't at all helpful. Link is to the newsgroup archive, there are too many stupid posts to link to all of them. Matthew "Ool" Hall seems to be getting remarkably wound up.
- For one reason or another I wasn't able to read the posts on the Doomworld Forums for a few days, so it took like two and a half hours to catch up this morning:/ I've had the connection on for nearly 14 hours today (although of course it's dropped out twice)
- It was very cold today. The weather has turned. The combination of cold, sunshine and occasional cloud is very, very reminiscent of this time of year. It's frankly quite scary. Mind you damn near everything scares me, especially people.
5 years of Doom!
Well, for me anyway, the game's been around for longer, but I got my copy five years ago yesterday (I meant to write this yesterday but I forgot until after I'd switched off the computer)
Hols
So I decided to go back into mail and news circulation and while I haven't yet spammed, flamed and trolled AAW and Simon's mailing lists completely down the hole, I'm working on it. I did some counting on the version of AAW kept by Zetnet's news server (the one to which I have access) and all of a sudden I've got over twice the number of posts on it as the next nearest person so yeah (although that lead was obviously higher as I'd just finished my posting for the day, I should do a count again tomorrow night before I post anything more, actually what I should do is write a program that turns Google Groups' version of AAW into something more countable like a faked NNTP stream, I'm sure it's possible...)
Minehunt/Minesweeper high score tables
Beginner (10 in 8x8) | Better (20 in 16x8) | Intermediate (40 in 16x16) | Good (60 in 24x16) | Expert (99 in 30x16) |
| 4 | (5/1/1997) | 11 | (6/1/1997) | 27 | (2/8/1998) | 45 | (3/8/1998) | 86 | (23/7/1998) |
| 4 | (28/2/1998) | 11 | (21/2/1997) | 28 | (2/3/1998) | 47 | (1/3/1998) | 92 | (23/7/1998) |
| 4 | (3/8/1998) | 11 | (17/7/1997) | 28 | (26/6/1998) | 47 | (3/8/1998) | 94 | (19/6/2000) |
| 4 | (5/8/1998) | 11 | (28/2/1998) | 28 | (6/9/1998) | 48 | (8/3/1997) | 95 | (12/5/1998) |
| 5 | (15/10/1996) | 11 | (1/3/1998) | 29 | (10/11/1997) | 49 | (22/9/1999) | 95 | (13/6/2000) |
Minehunt is a Minesweeper clone for RISC OS. It's almost entirely true to the original, except it's easier. I believe this is because RISC OS's mouse handling is so much smoother and more responsive than in Windows 3.11, which is the only other platform on which I have played Minesweeper very much. It also has two more skill levels and five top scores, not just one. For comparison here are my best times for Windows 3.11 Minesweeper:
Beginner (10 in 8x8) | Better (20 in 16x8) | Intermediate (40 in 16x16) | Good (60 in 24x16) | Expert (99 in 30x16) |
| 6 | (21/6/1996) | N/A | | 35 | (17/6/1999) | N/A | | 113 | (19/6/1999) |
I don't think I'll ever get anywhere near these times ever again in any version of Minesweeper on any platform. The Expert ones are probably suboptimal, but basically I can't be bothered to sit there plugging away until I get lucky with a board layout and it all clears quickly.
Inspired by an ancient thread in Google Groups.
In an effort to code something that isn't a gratuitous security hole (please don't click on that link if you're at work! Or even if not! Trust me!) we made this, a new file format:
<!-- BLOG entrytime uploadtime -->
valid standalone HTML fragment
This is repeated as necessary. "Standalone" means that it will go anywhere in an HTML document and not break it. So you could have a whole paragraph, or table or whatever. But a fragment of a table isn't standalone, somewhere else would have to insert the <table></table> tag pair.
Although this file format is not actually valid HTML (there's no DTD, header, body, title...) most browsers will still attempt to render it, so you could write it and still be able to check your links are correct and how everything lines up and so forth.
Then you have some scripts that get each fragment and plonk them into a template to make a valid document. The dates, which are EPOCH TIMES i.e. easily computer-readable, are present for the scripts to make headers for each entry and also for sorting into the correct file when the time comes to archive old material. This probably won't be dynamic but controlled by a Make file when the site content is written. It's more likely not to be a gross disgusting security hole that way (you've had enough disclaimers by now)
That's all very well but so far all I have is code to kludge the entries I've already got in this file and the archives out of them and into this new format. It's not pretty. There are all sorts of things that it needs to handle, spurious use of local time where GMT time would have been better, nonconsistent presence of upload times, the format of the <h1></h1> line changing randomly around the start of April, you name it...
"Note to self: Don't touch anything"
One of my experiments over at the PHP Experiment had a huge security hole in it, so I took it down. Now it simply redirects to another huge hole (so don't click the link if you're at work or something)
I was quite upset about this and if truth be told I still am. "I'd like to be a programmer" - who the hells are you trying to kid, Rob? You couldn't program if your life depended on it. Now get the hells away from everything in case you break it, you retard.
Last night I only had half a sleeping pill at 1am instead of a whole one, and I got to sleep just as quickly.
So that's good. I'm not forming a dependency on the things, right?
I shall have the remaining half of yesterday's pill tonight. I hope that by posting this I'm not going to get bitten by "spoke too soon" syndrome.
I got told off for not updating often sufficiently often. Thanks Bex. Why don't you update your site a little more often?? You haven't played PopEx for years! I think a static site needs some form of useful content, and, despite the high opinion you have of yourself (which I'm sure is totally justified, you'll hear no argument from me there) the undoubtable resulting supposition that "Hello, I'm Bex, look at me" is sufficiently useful content to produce traffic worthy of owning your own domain is not correct. Not everyone knows just how simply wonderful you are, after all.
I know some of you are waiting for me to write something about, um, recent events, e.g. certain people turning up on #warwick. Well... I dunno, I can't see a way that I won't come out of it looking like the bitter and twisted cuckold:) Plus, I've done enough being unnecessarily rude about people who don't deserve it today (see above)
So, before I do, go read Pete's site and his and his friend's hilarious idea of an instant message conversation (Pete, I'd say you chased the guy off) or Something Awful's hilarious idea of how to make friends (You might need to use the archives if the piece has gone off the front page)
Sleeping pills, times between ingestion and falling asleep:
- Thursday: Took an hour. I was expecting this, as unlike Wednesday I hadn't left the house all day.
- Friday: It took two hours to work. It was past 3am before I fell asleep, I was very annoyed, I nearly went "bugger this" and got up again, because trust me you don't want to hear my brain when I can't sleep>:(
- Saturday: I took the thing slightly longer before I went to bed. It took an hour between ingestion and sleep, but I spent less time lying in darkness. In fact this one worked rather too well and I felt really spaced out while trying to write my diary:)
Anyway it'll soon be time for another one, but first here's a link to a comedy site about how to write unmaintainable code.
STOP PRESS Remember The Mini-Mizer (a.k.a. a reasonably clever waste of time)? You build people in lego, it's quite funny. Anyway there's a secret adult bit, which I wondered about. Well, Rutherford found it: where it says at the top "picture yourself in plastic", you click on the word "plastic". Thanks Rutherford. I have to say it's a bit crap though:)
Sleeping pills, part two
So I bet if you read yesterday's update or were there on #warwick last night, you are wondering what, if any, success I had with the sleeping pills.
- I took one at about 1:15am and went to bed. I read for a while, then switched off the light, and settled down. The last thing I remember was the clock reading 1:43am. I don't actually remember falling asleep (I usually remember starting to fall asleep, I am aware of losing consciousness for a split second)
- The next thing I remember is a godawful racket outside the house. What the hell is going on? It's about 10am, so yeah, I've slept for like 8 hours. Dozily I look out the window, and see a huge refuse disposal truck. Oh, yeah, it's Thursday, there was a letter about "throw out your spring cleaning rubbish and the council will pick it up on Thursday"
- Unfortunately, but typically enough, I was still exhausted, having not slept "properly" (whatever the hell that is) for a very long time. Anyway I kept dozing off until about 1:30pm when I eventually managed to get up. However in the time I dreamt about having sex so it wasn't all bad:)
So, initial assessment. With these pills I believe I have a method by which I can put myself to sleep within half an hour of a chosen time. I think now I have to pick a time to go to sleep and stick to it, as well as set my alarm to wake me at some time in the morning, to form a habit.
PS I should point out, that's it for the moment. I can put myself to sleep on demand. Nothing else has changed. I still have no life and a list of stupid everyday stuff, as long as your arm, of which I am hopelessly scared. My mum says "one step at a time" but I don't care, it sucks. It's a shame they don't prescribe "sort out your stupid brain pills" or something.
Archiving
So I thought it was about time I ran the archiving routine again to stick another past month into a different file that no-one will ever read again. It showed up a huge hole in the script, that is, it doesn't support 5am thresholds properly (that's basically my "redefine midnight as 5am" thing)
It's more than a bug, I mean it's not trying to do something and get it wrong, it's actually not doing something at all, that it is really supposed to do and I thought it did do. It's a hole. I had to manually copy entries around between the different files! I mean, what's that all about! I'm supposed to have a script for that, but it doesn't work! "Whinge whinge whinge"
So I looked at the code, and once again realised how horrible it is. And NEdit has a very funny idea of where to open new windows, I can tell you. Oh well. I suppose it's something to do, isn't it...
Sleeping pills
I went to the doctors today for like the first time in absolutely ages. I'm not one for seeking medical attention but my mum made the appointment. Basically, it's about my sleeping patterns. As you may know I have this thing where I can't go to sleep, like at all, until most normal people who have lives and jobs and crap would have already been up for an hour and be on their way to work.
Never mind the whys, hows and wtfs of how this came about. Or alternatively flame me again on my life, or lack of it, if you like. Whatever. The result of this trip to the doctors was a prescription of 28, yes, count them, twenty eight sleeping pills. Fantastic.
I'm supposed to have one a day an hour before I want to go to sleep, which should be about midnight or 1am. If it works, I'll carry on the dosage until I have to go back to the doctors next Tuesday. If it doesn't, and I'm still awake at some godsawful hour of the morning, well, I'll take all of the remaining 27 in one go, that's bound to sort the problem once and for all.
PS I'M JOKING YOU FOOLS, I'M NOT GOING TO TAKE 27 HIGH POWERED SLEEPING PILLS ALL IN ONE GO. Maybe 25...
Anyway here's a funny link about John Romero's Doom 2 deathmatching. I got it off Doomworld. Who doesn't exclaim profanities out loud when they die in-game? I know I do, even though I've never played it multiplayer.
Yesterday, I went to the park and played with myself for an hour.
No, wait, I've missed out a word there
Yesterday, I went to the park and played football with myself for an hour.
Anyway, really lame gags aside, this was an effort to try to tire myself out, and thus be able to get to sleep before sunrise. Coupled with a random visit to the pub, someone's house and a couple of long walks through the back streets I managed to get to sleep at around 2am! Result!
I pretty much slept out the entire day, didn't wake up until like 1pm and even after that I kept dozing off and having weird dreams where I was inside a Doom map I've never played before and I probably should have drawn out and made myself, if it weren't for the fact that I hate all Doom map editors. It was in parts kind of like a shopping centre, and there was this one bit where there was this guy hiding in the toilets with a grappling hook, and he fired it at me and it hooked into the skin on my ankle. There aren't any monsters with grappling hooks in Doom though, so that was weird. There was another bit outside that really did look like a Doom level, textures and everything, and actual game monsters. The shopping centre bit was full of real actual people, no monsters, in fact I think it was a twisted version of West Orchards in Coventry.
I would have done the football thing again today, but of course any form of exercise always reacts badly with me the following day; this time, I can't move my right knee very much. Oh well.
I'm still subscribed to the triv lists, but on digest mode so I get the whole load in one go. These will be saved while I'm "on holiday". I'm not so dumb as to stop listening entirely, since if something cool happens I want to know about it. Most of the time nobody tells me anything of what happens, I have to sort of eavesdrop it out of other people's conversations. I don't like not being told stuff but on the other hand I think eavesdropping is a useful skill to have, so it's swings and roundabouts really.
Anyway, enough crap. Here's some links to, um... more crap:
Don't shut the curtains, it's only ten past seven!
So it's getting cold and so I shut the windows, then I shut the curtains by accident, sat back down, wondered where all the light went, wondered whether to turn my lights on, then I realised it wasn't actually dark outside and the curtains really should be open.
Anyway, this is what is apparently known as "E/N bullcrap". E/N is an acronym I have seen many times on various sites, and always wondered what it meant. Today I bothered to look it up! According to this site I found using Google it means "everything/nothing" and is usually an expression of the owner's thoughts, or some such. Sounds a bit, you know, artsy fartsy, for my tastes though.
There was a point to all this, well, there were several points to this but I can't quite nail them all in one go, so instead I'll just say that the site's server has survived its recent house moving intact and one IP change later here we are again.
PS I've decided to go on an "online holiday" from all my usual places, that is aaw, its related mailing lists (no big secret, really) and #warwick on astrolink.org. I see I had become far too abusive, defensive and so on, so I've decided to take a break to calm down. The newsgroup's pretty quiet anyway, so that's no problem, and I set the lists to deliver in digest mode so once a day I can scan them for any interesting news or whatever while I'm "away". I might turn up in #warwick (especially since this is Sunday, usually the busiest day) but don't expect me to say much! Oh, and I really have put a sign up above my screen that reads "If you can't say anything nice, please don't say anything at all"! See you.
In order to keep the rabid monkeys that browse this site satiated I have decided to write an update. I don't know why though as I haven't really got anything important I can be bothered to write about, and anyway from tomorrow evening or so up until probably next week this site will be down and noone will be able to read the rubbish I would be writing here anyway. Even if I were able to write here. But I can't because it'll be down.
Read some or all of the following instead. In no particular order:
As a last resort Annoy me by poking the stuff on my PHP experiment, which I really ought to do something with soon. Warning: excessive use may result in it being taken down. Warning: the graphics won't work as they're linked from here and since here will be unavailable, well, go figure. Warning: The experiment itself may be offline, it tends to get turned off as its server is apparently located next to a television set and is quite noisy, so its owner turns it off if there's something on that he or his housemates want to watch. Warning: ...meh, I was trying to write something funny to finish this off with but I can't think of anything, it's gone 5am and you should think yourselves lucky my sleeping patterns are so screwed and I'm writing this at all you ingrates.
Should smileys have noses or not?
Everyone who's been on the internet for more than like a day will know about smileys, or emoticons, or whatever new-age bullcrap you want to call them.
I knew about smileys before I first used the internet, thanks to some dumb magazine article. Therein, all smileys had noses: For illustrative purposes, ":-)" So that's the way I've always seen them. (As a sidenote some people use "o" for the nose instead of "-")
In the past few days I have found myself occasionally using what are sometimes known as midget smileys, that is ones without noses at all (":)") These are in fact much neater, especially with my recent habit of appending them to the previous sentence with no intervening space ("you suck:)")
Which do you prefer? I'd set up a poll if I could be bothered, but I can't.
Okay I lied, I can think of something about which to update
Mister "no I haven't got a Zero Wing fixation" Nelis took up my type-in challenge and in fact made a version of the program in Python. To prevent idiots cut and pasting it he put the program into an image (hope that link works, he might have removed it by now) I thought this was a sufficiently good idea for me to be bothered to type it in.
But it was full of bugs! I fell off my chair with humourousness:-)
PS When I first saw Python I wasn't sure about it, I don't like the way it forces you to indent your code in certain ways and it seems almost everything needs a colon on the end but after this, well, it's not too bad, but I think I'll stick to Perl and maybe shell scripts for interpreted languages for now.
Site unavailability warning
Rutherford moving house next week will cause some interruptions in the availability of this site and the rest on the server over that time and beyond. Not to mention last night, when a badly configured DHCP daemon took the whole lot out for a few hours...
PRBoom vs DIY
PRBoom is one of the most popular Doom source ports available, mainly because of its huge compatibility with the original code, but with its support of all the useful features of any Doom source port worth its disk space. It is pretty much what I wish DIY was, but while that supports many of the typical enhancements it doesn't support all of them.
Despite its dreadfully punned name I have used DIY for some three years now, because it is the only freely available Doom port to, and optimised for, RISC OS. Since you have to build it yourself (hence the name) I was unable to resist making a number of changes to it, changes to which I have become very accustomed (e.g. my enhanced map, support for moving backwards on a mouse key, some tiny changes for consistency, I should post the changelog but I can't be arsed...)
DIY has served me well over the years but let's face it my Debian box is that much faster than my Risc PC and other ports of Doom to Linux are that much better. DIY compiles on Linux but I tried it and quite frankly it was slower than on the Risc PC, all its optimisations are worked into RISC OS and I think it only compiles on "various Unices" because the guy who ported it is obsessed with cross-platform sources.
So we have the decision I don't want to make. Do I copy all my Doom stuff off my Risc PC onto my Debian box? First of all I have to make a bunch of changes to PRBoom's sources, and to maintain consistency I'd have to add them as options to its configuration menus and so on as well (but not all my changes would be necessary as some of them I pinched from PRBoom's direct predecessors in the first place:-) )
But assuming I do that, what then? The problem is, I don't really do that much else these days with the Risc PC other than keep it for Doom; none of the programs I've developed on it have been touched for years, the RISC OS market has moved on and I can't afford RISC OS 4 as an upgrade, it needs money spent on it that I don't have. So moving all my Doom stuff off it would basically kill it. This is profoundly depressing.
PS It's worth pointing out that if I found a music sequencer for Linux then my even older A3010 would be essentially killed off as well
Type-in madness!
Before the internet became popular you used to get computer magazines with software on the cover. (While I am aware that you still do, they're all crap and the web, although in many ways worse, is much better in my opinion, because you can laugh at all the people who post dumb stuff in online forums. While I am also aware that there was an internet before 1997, hardly anyone outside of universities and geeky research labs was on it and I'm damn sure there was no chance that I'd ever have been able to get on it even if I knew more about it than simply its existence.)
Even before that, you used to get computer magazines in which were type-in listings. These would often run to several hundred lines and be a nightmare to enter, in fact there was this one thing I started typing in once, it was like 900 lines long and... well, anyway, the type-in listing is a lost art. Recently I have been reading some ancient computer magazines from like 1992 and in a fit of nostalgia I'd like to revive that long-dead magazine form, the type-in program.
With that in mind here is a little bit of Perl I knocked up this afternoon. It makes factors of numbers and is very slow and simple but I'm going to post it anyway, so all of you nostalgic for some type-in action, get tappin' on those keys!
#!/usr/bin/perl
use strict; $^W=1;
my $number = $ARGV[0];
die "Usage: $0 <number>" unless $number;
my %exp;
my $factor = 2;
my $power = 0;
while ($number > 1) {
print "$factor : ";
while ($number % $factor == 0) {
$power++;
$number /= $factor;
print "$power ";
}
if ($power != 0) {
$exp{$factor} = $power;
print "\n";
} else {
print "\r";
}
$factor++;
$power = 0;
}
print "\n$ARGV[0] = 1";
for $factor (sort {$a <=> $b} keys %exp) {
print " x $factor^$exp{$factor}";
}
print "\n";
Type it in, save it as "factorise" or something and either do perl factorise <number> or if you're on a Unix system alter the bang path at the start as appropriate, make it executable, and then you can just run it.
Of course no type-in listing is complete without some sample output!
$ factorise 180
2 : 1 2
3 : 1 2
5 : 1
180 = 1 x 2^2 x 3^2 x 5^1
Don't just cut and paste it into an text editor and save it. That's cheating! Why do you think I didn't put any comments in? Everyone who's done type-in listings knows that comments are really pointless to enter, because they don't do anything! Instead, make the output look better, you can remove the first bit completely if you like, and find a way to make it not have to start off with "1 x" because that looks moronic but I'm too lazy to fix it.