

31 Jan 2006 (Tuesday)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Finishing stuff. Smaller picture. Quiz things. Alpha-blended birds. Doing stuff. Eric. |
I've been finishing off yesterday's mini 'something-complicated' project today. Pretty easy in general, it seems. I had a few headaches when I found that I was putting code into a dynamic area - You Can't Do That - but that was pretty simple to get around.
I've shrunk the 'self portrait' picture on yesterday's entry 'cos it was
just a tad bit. It's a little scarey to have a huge Justin staring at you
. It's a little amusing that I've noticed that ears have odd
convoluted shapes, but not given myself a proportional nose. The eyes are a
little high, too, but I think that's a mistake that kids probably make
anyhow - quick check says that I'm right - eyes should be in the middle
(vertically) of the head, but because we place a lot more emphasis on the
lower face, we tend to make them more prominent. They're also meant to be
level with your ears - I think the ears are a little low on the picture, but
then I think the shape was done by the teacher. It was 20 years ago, I can't
really remember that much.
Although, I guess I am criticising the work of an 8 year old. Not sure that's really so healthy. Even if it is me.
An off-by-one bug was preventing things like Europe from working in the quiz, 'cos it only has 10 tracks - the same number as the quiz length. Which I've now fixed. I've also reduced the weightings of 'Hits', 'Live', 'Concert' and similar album and track names so that similarly named tacks will end up coming from the main studio albums, rather than live versions. Hopefully. Doesn't stop differently named files appearing twice - eg 'Promenade' vs 'Promenade (Live)'. I'll need to work out some reasonable method for dealing with such things, but not right now.
I found Ian's funky alpha-blend demos earlier today whilst looking for the hacked around Gyrinus I did. I'd forgotten quite how cute the alpha-blending could be.
Since I've got back from Claire's I've noticed that I've had sore fingers and no nails every day. I think that says something. I'm not sure exactly what, but I don't think I'd like it.
I'm not sure what I'm doing tomorrow in specific terms. I know the general
and over-arching area, but not the specifics. I'll probably just delve
through my ToDo emails (he says, firing off another to himself) and deal
with them. Some are so long term they won't get done any time soon though
.
I'm sort-of puzzled with myself for not doing something that I should have done a while back but just haven't had the nerve to start. I used to have a problem with starting doing programming things. Actually I still do for some things, but that's just because I think about how daunting they are. Actually, I think that's it. I've just quickly thought through the things I've not done that I want to do and it's all because I've thought about it and the scale of it scares me. The things where I've either not thought about the scale and implications, or I've thought about them and decided "I'll worry about that when I get to it", I've got on with and done. And those things where I've thought about the scale and how much is involved tend to get run away from. I wonder if that's the same for other people ?
Anyhow, maybe I should stop worrying about the big picture and just worry
about the starting
. 'Baby steps', as I keep saying to myself.
I came upstairs with supper and I was trying to work out if I had anything to watch tonight. Was there a Scrubs I hadn't seen, or was I going to watch the next Galactica (I think I'm up to The Man With Nine Lives - which I remember when I first saw it thinking 'oh! I know that face, who is it?') ? And then I saw the book beside the bed and remembered I started reading Eric again. It's a lot more fun than dry handbooks, and I need a little bit of a break.
I ended up writing a rather long, and rambley (and possibly condescending)
usenet posting earlier. So rather than posting it, I've left it on one
side. There's quite a collection there now
.
Return to top | Comment on the diary
|
"I need to do something complicated" A 7 year old Justin. |
I said to myself this morning "I need to do something complicated" because everything I've done recently has been pretty simple. Partly because that's the sort of thing I've been trying to do, and partly because even the 'complicated' things I thought I would have problems with have sort of been rattled off without any problems. We'll just ignore the nasty aborts that I couldn't resolve even with lots of debugging, because I'm starting to think that the problem isn't where it seemed to be.
So, I thought "I'll do the album reviews in my generic fetcher". And I did. It's now mid-afternoon and I'm going to have to do some real work instead - which is even less complicated than the album reviews, but in little bits. On the plus side, though, we've now got a silly number of album reviews with the rest of the stuff in the music collection. I'm only using AMG at present, because I've not been able to find a useful album review site.
It's possible I need to re-evaluate my need to do something complicated, though. Normally it's a natural reaction to feeling bad, because it's a "I'll show them" (where 'them' isn't even a definite group, it's just a representation of the world to distinguish myself from 'them') response. Ultimately, the thing that I end up doing is pointless and unuseful in the wider scheme, and unappreciated even for its technical merit within smaller groups. The main reason for these things is that the complicated thing I usually end up doing is a technical challenge and a proof to myself that I can actually do something 'clever' without reference to its ultimate goals. Clever for the sake of being clever, if you like. I can't think of any particular projects undertaken under the guise of 'I need something complicated' which were ever of real use outside of my own curiousity.
That said, the Mozilla work went (eventually) a very useful direction (although it's not complete yet! so that does somewhat damp that sort of comment), and the Doom network and desktop hacking did eventually result in my working on it, Heretic and Hexen. On the other hand, though, the Doom work was a toy, and the reactionary 'complicated' thing was making Gyrinus run in the desktop, and then a little later PacMania run in the desktop (which worked once, I think, before I lost interest in it - it was more complex than Gyrinus).
Dad's found a little folder of my work from when I was at school. I'm going to try to scan in the bits, just so that I've got a record. It's from when I was 7. Very strange.
Return to top | Comment on the diary
|
What's that song? Johnny And The Bomb. |
Pretty productive day. Not in a useful way, but a fun and interesting way. I've sorted out all the Beatles and Eagles music that I'd had pending for ages and that took up a litle time. Then I decided that I should do what I said I wouldn't do because it would take too long - I'd re-write it using the local MP3 collection. So I have. And very cute it is. Not quite as cute as the original 'cos I don't do the big splatted ticks and stuff. But, it does work rather well - at least on the artists I've tried. The interface is all template based, so I can redesign it at some later date if I want to. I'm really rather pleased with it.
Obviously I can't make it available to the public or anything 'cos of the way that it's tied to my local collection and of course the lack of any rights for public reproduction kinda limits that! Actually, the excerpt caching isn't amazingly efficient. We don't ever clean the cache that we squeezekeep, so it generates a large amount of temporary files at about 100K per excerpt (that's about enough for 25 seconds of playback). In theory, though, it should reduce the processing load if multiple clients are trying to play the game simultaneously.
I'm tempted, actually, to extend the Cover/Lyric/Bio/CDDB fetcher to include Album reviews. Only that's probably a larger undertaking than I want to get in to right now. A project for some other day, I think. Not a big project, admittedly, but still one that'll be fun. Lots more information for the nice web interface to my music.
I missed the last episode of Johnny And The Bomb today. I vaguely remembered that they'd said it was on earlier but it wasn't until it had finished that it actually meant anything to me. Bother. Oh well.
My eyes are going blurry now, so I think I'll call it a night. I've spent a little while longer 'testing' (yes, that's what you call it!) the quiz.
I must try eating Shreddies without sugar. They taste a little different. Um, less sugary for a start. Whilst I was at Claire's and Justin's I got to try Cherios, which were quite nice.
Julian mentioned something about Lewis - which dad was watching downstairs but I was too distracted by the quiz thing to watch - and the body count. It strikes me as being a little odd that we consider places like New York, or LA as being very dangerous. And yet around the peaceful little town of Oxford (in Morse and Lewis), and the villages of Midsomer (in Midsomer Murders), they just rack up the body count. If I could find a comparison to a well known film, I would. And surely there must be some website out there that actually keeps track of the body count in things. But I couldn't find one.
Return to top | Comment on the diary
|
Annoying aborts. |
I've got an abort that's happened. I've got lots of debug about it. I've got backtraces. I've got memory dumps. I've got the source to the code which was failing. I can see why it aborts. I've just got no friggin' clue how it got into that state. Magically a word in memory is becoming overlarge (such that the address it references does not exist). That's one thing. But then before being referenced there, the address becomes significantly larger (&14410000 larger, to be precise). This value does not exist in memory dumps I've examined. Not does simple rotations of it (as might be achieved by an unaligned memory access). The code in question does not rotate the values before any additions. It is not accidentally jumped to, to the best of my knowledge from object and source tracing, and there is no indication in the backtrace that the code should not have been called.
All in all, it's a puzzler. One which I think I can find no answer to at this present time. Even with the much more extensive debugging and tracing information I've added, I'm no closer to having a solution to this crash. I'll file away the logs and hopefully I'll have some another day. Or maybe it'll crash again, in a slightly different way, and All Will Become Clear. Well, maybe.
A few things are obvious that need doing from this debugging...
There are probably other things that were annoying but I've forgotten them now.
In other news, Julian pointed me at a 'guess the song' site -
What's
that song. Probably quite simple to knock up a similar interface
on the local music collection. Only I'm pretty sure I don't have the time.
Oh, it needs Windows Media Player, sadly, to do their version. It's a good
waste of an hour though
.
Return to top | Comment on the diary
|
Zzyzx. Moria. |
The Zeromancer album 'Zzyzx' (not 'Xyzzy' which I keep trying to say or write) somehow reminds me of Duran Duran. I'm not sure why, but it is a lot lighter than 'Eurotrash'. I wouldn't say it felt like a different group, but it's a different feel that it has to it musically.
[ |
Don't read anything more into the lyrical content than that it's a nice track and I happen to be listening to it at the moment.
I keep thinking, as I'm writing entries for the diary, that I should have a shortcut (although actually it'd be a longcut 'cos it involves more work, but it would result in more consistency) for naming groups and albums. Julian uses magic %blah escapes which get expanded to magical things - which is why he sometimes has them in his diary when he's forgotten the right 'blah' to stick in.
I would never have found Zeromancer if it hadn't been for... now let's see
how far back I can attribute this
. The player rolled into Zeromancer
from Zero 7, which I was listening to because it was in the same style
according to some site as Röyksopp, which I had been listening to because
the player had rolled into it from Roxette (passing through Roxy Music on
the way, which I already knew). That's about as far back as I can go, I
think. I knew Röyksopp before that anyhow, because of 'Poor Leno', but
hadn't really listened to them much more than hearing that track. One of the
videos for Poor Leno is cute.
Looking through my old floppies archives for the recursive bezier curve assembler, I found Moria this evening. Much time wasted playing it. Bah.
I don't feel that today has been too productive. It has, really, and I've
got everything done that I said I would. It just doesn't seem that way for
some reason. However, it's now after 2am and I should be in bed. Really. I
did get to see this week's 'Life On Mars' though
. Mum pointed out
Kenny from Press Gang who I really didn't recognise (that's Lee Ross).
At this point I think I need to go to bed though, because I don't think I can do much more without it taking lots of time.
Return to top | Comment on the diary
|
Sigh. |
Not got much done today. Andrew took up two hours of my time on the phone,
whilst I was in the middle of writing a long and probably pointless news
posting (my first for ages) and then Chris rang. And I've not had anything
to eat this evening.
Oh well.
Return to top | Comment on the diary
|
Home now. Work with libraries. |
I'm home now and I miss seeing Bethany. Aww. I've got some photos though, so at least I can have a picture of her. I might put one up beside the little picture I have of Jessica, if I can find a nice one that'll frame well.
On the way home I managed to finish off some of the stuff I'd been doing at night whilst I've been away. This evening I've sorted out the more general problems and reduced things to their simpler level, rather than the very debuggy and experimental form that they were before. The only problem with this is that if I'm to use it across all the components I have it'll mean 'a little while' extra doing builds because all the exported components will need to build additional variants of themselves. That's not so fun and will probably make the exports directory significantly larger. A quick count says that it's around 75M at the moment. If I reckon on about 90% of that being the object files (based on the size of a few libraries I've got lying around), that will increase to being around 142M. That's a whole lot of space just for libraries.
I had thought, long ago, that I could build the libraries in multiple forms, with Fortify, but put it off because of this large increase in size (and build time) that would result.
I'm going to try to get to bed at a sensible time. So here goes. Night.
Return to top | Comment on the diary
|
Whitby. |
We went to Whitby today. It was quite strange being back there. I think I've been once since we were at primary school and it gave a lot of very strange memories to be there. Rather a nice day out.
Justin's really tired today. He fell asleep and went to bed a little early and Claire and I chatted for a bit.
Return to top | Comment on the diary
|
Walking. Television. |
So, what have we done today ? Well, Claire, Bethany and I went for a little walk around the village and came back and Bethany was fast asleep. She had hiccups before she went and it was so very cute. After we came back we played for a little bit until she got tired of that and wanted something to eat. We recorded Johnny And The Bomb so that we could watch it when she'd gone to bed.
[ |
Return to top | Comment on the diary
|
Shopping. Diary. |
Bethany and I went shopping today. And Claire came too
. We went to
the supermarket and she watched all the people and the pretty colours and
she got tired. I've written that sort of sentence a few times now and each
time tried not to make it sound like I'm 5, but I can't do it, so there
you have it. It was great fun to be out with her. Partly because I almost
feel grown up (nah, not really, but I can pretend) and partly because...
well, I think it's just because it's a cute little baby to look after -
even if her mummy's right there and it's really me she looks after
.
Looking at the diary today I noticed the name 'Dr Paul Stevenson' and I thought "I know that name. And I knew it wasn't one of my old lecturers but that's the sort of area I thought it was in. And a quick search throws it up as someone at Julian's uni, so that's where I'll have heard of him from.
We also watched (we being Claire and Justin and I, not Bethany and I) Mr and Mrs Smith tonight. Very fun film.
Return to top | Comment on the diary
|
Bethany. |
I've been playing with Bethany today. She's so gorgeous. When she's happy she sticks her tongue out. She likes chewing - well, sucking really - things.
Return to top | Comment on the diary
|
Using Samba with SSH. Dreaming away. |
I want to be able to mount my discs when I'm not actually at home. My connection to my home machine is via SSH through a private tunnel (yes, I know SSH is 'secure', but my private tunnel is my own encryption which whilst rudimentary still isn't SSH so no attack against SSH will compromise it), so I need to set up a tunnel for Samba traffic. Here's how we do it (with some help from other websites for some of the specifics)...
We need port 139 from the remote machine to end up as port 139 on the local machine. It seems to not be possible to use any other port for Samba, so we have to be clever. We can't use port 139 normally, though, because we want to still have sharing on the local machine. If I didn't want to do that I could just disable the 'File and print sharing' on the interface - I could just forward port 139 and all would be well. What we need is another interface. One that isn't using port 139.
So we go to the 'Add hardware' dialogues in Control panel and add a special network adapter 'Microsoft loopback adapter'. Having added it, we need to configure it. We go to the 'Internet protocol' properties for the adapter and we give it a private address which we know is safe. Now, I would have preferred to give it an address like 127.0.0.2, but it looks like the address configuration window doesn't allow that. So I've used 10.0.0.1. For the default gateway and DNS settings, I just left it blank.
Next, go to Advanced, and select the DNS tab. Disable the 'Register this connections address in DNS' 'cos it's a bit pointless. Confirm the dialogues until you get back to the main properties window. Select the 'File and printer sharing' option and uninstall it - this'll ensure that you've not got anything using the local port 139. You'll probably want to turn off the 'Show icon in notification area' and 'Notify me when this connection has no connectivity' 'cos they're quite pointless. Then you can close that dialogue which will start those settings up. You might want to rename the connection name in the Network connections configuration - I've changed mine from 'Local area connection 2' to 'Loopback' which makes it easier to see which one you mean.
Next we need to load up Putty. Putty is cool. It does what we want. The SSH client from SSH.com doesn't, it seems. What we want is to bind not only to a port but to a host address as well. In putty this is pretty simple. We go to the Tunnels section of the configuration and we want to add a new tunnel. We're adding a local tunnel with the source port set to '10.0.0.1:139' (see, there's our loopback address). And the destination port is '127.0.0.1:139' (where we're going). Do not tick the 'Local ports accept connections from other hosts' as that would make it a little less secure (!). And that's pretty much it. Save all your Putty settings together so that you can invoke it easily. Create a nice little shortcut and then edit it so that the command it invokes is '"path\putty.exe" -load session name' and you've got a nice quick way to set up both your remote shell, remote discs and (if you remembered to enable it) X forwarding.
If you're me, using my private tunnel, you'll also need to set the keep alives to around 75 seconds so that the tunnel doesn't give up on you and close the connection when nothing's happening. The extra traffic is so minimal you won't really care.
If my instructions are unclear, try Edwin Olson's instructions which are what I based mine on and they're a little more structured.
Ha! And doing that trick prevents the TrueGrid NFS server from functioning properly. The mount daemon and NFS server bind themselves to the 10.0.0.1 address, rather than the external address or all addresses. So I've replaced it with the evaluation version of ProNFS which appears to work suitably well for my purposes.
Last night's dream was strange. I was visiting friends, and we were going out somewhere, to see someone, but they didn't want to take the car. So we went by bike instead. I don't remember who we were going to see but they were at the top of a block of flats - 20 storeys high or so. I remember enjoying going up the stairs with them. When we got to the top, the guy asked me if I was having an affair with his wife, and I said yes, and he said 'ah'. I said I'd better go, and set off back down the stairs. When I was leaving the area, having reached the bottom and walking away, I looked back and saw his wife falling from the top floor and hitting the ground. Hard. That was quite disturbing, and probably comes from the disturbing things that I came across yesterday. The rest... well, that's just a dream.
When do dreams become nightmares ? Is it just when they actually scare you ?
Return to top | Comment on the diary
|
Verb-pairs. Calling All Stations. |
It's obvious, when you've been writing code even for a short period of time that there are a number of verbs that you obviously pair together. It's important that you get their usage right, so that you know what the distinction is between them. I'm pretty sure from my own memory that I've violated these rules once or twice through carelessness. But mostly I think they hold. As I've just come across one that I quickly spotted was wrong, I think I'll just jot down the common pairs (or more - there are some cases where extra terms are necessary for special operations). I'm pretty sure that I remember seeing some of these terms used in various places - probably from C++.
| Verbs | Meaning / Usage |
|---|---|
| add, remove, (update) | Manipulate a list (however it's organised). I'm pretty sure that you could argue that insert should be in there too, but that tends to require a relative position and mostly I prefer my lists to organise themselves rather than the caller trying to determine the organisation. |
| push, pull/pop | Manipulating a stack. Oddly, whilst 'pop' is most commonly used for stack elements, 'pull' makes more sense, being the literal opposite of 'push'. Makes me wonder why 'pop' was ever used. |
| init, final, (shutdown) | Implementation (usually source-file constrained) initialisation and finalisation. Initialisation sets up the non-static initialised references and begins any other operations that is required. Finalisation shuts the entire thing down prior to the exit of the tool. Shutdown differs from Finalisation in that it tends to make the implementation quiescent, rather than fully freeing all resources. Usually Finalisation includes a Shutdown call as one of its first operations (if it exists, obviously). |
| create, destroy | Similar in purpose to the C++ constructor and destructor, these functions are used to create a new structure, reference, or other resource that may be manipulated, and to free all its workspace and dependants. |
I can't actually think of any more at the moment. That probably covers most
of the operations anyhow. Probably not worth mentioning really, but it
amused me a little to write up my thoughts anyhow. What made me think about
it ? I had written blah_delete and realised quickly that that's
not right because it's not the complement of blah_add. Why not
? I'm not really sure. I think if I was to make a distinction it would be
that 'delete' should free all the resource and 'remove' shouldn't (ie the
remove leaves the references present and just removes from the list), but I
really avoid that kind of thing because it's quite a different way of
thinking about the list - the list being just a list holding
objects rather than a list of managed objects. I should probably read more,
or at least read more specific stuff from more structured languages. A lot
of my writing style tends to come from how seems more natural, especially as
the only person that sees my code these days is me. Maybe that also
influences my commenting and documentation - I think that my commenting is
sufficient, but maybe that's because it's mostly me that reads it.
My copy of Calling All Stations has gone walkies, it seems. Unlike the copy of Tubular Bells III, the case seems to have gone walkies with the disc. That's a little annoying.
Today has been a day of upsetting things in unexpected places.
I know I'm a bit flakey, but... what do I mean ? I had a sentence but now it's gone. I think maybe that's wahat I meant.
[ |
Return to top | Comment on the diary
|
Life On Mars. |
Life on Mars was quite cool again. Too tired to write anything more though.
Return to top | Comment on the diary
|
Like A Prayer. Johnny and the Bomb. Trainline. |
I tried listening to the version of 'Like A Prayer' from the album of the same name, rather than the other version I've got - which is the one that I usually listen to - and they're different. For a start the other version I have opens with the word 'God'. The 'other version' is from 'The Immaculate Collection', and it's interestingly different. It's a different mix definately. There's extra instruments - or possibly further forward in the mix - in the other version, and the choir on the album version is much less 'wide' than it is on the other version. It just feels like there's more to it. Listening to the album version seems a little flat - it's not due to the MP3 quality which is equivilent. Of course they might have been encoded by different programs, but I'm pretty sure I've stuck with CDCopy and the same LAME all the time. The ending section, from around 4:20 onward is distinctly different, with different lyrical section (repeated bits, so not significantly interesting), in the album version to the other version; the other version has a male vocal 'yeah' section and 'dub-dub-dub de-dub-de-dub' electronic section, and ends with more of the choir section than the album version. It's a little interesting there; the choir is definately a backing in the album version, but it feels like it makes up more of the track in the other version.
Makes me wonder if I should listen to the other tracks on the albums to see if there's any other significant differences that I was unaware of. Well, Papa Don't Preach on Immaculate Collection seems to have a little extra echo (over that on True Blue) on Madonna's voice in places, but that might just be my hearing things. The Xylophone-type synthesiser sound on the Immaculate Collection is much more prominent than on True Blue. There's this odd echo section on the 'We are in love' on the Immaculate Collection which sounds really tacky, compared to the same section on True Blue. Yeah, I think they over-did the echo on the Immaculate Collection version.
I don't think I'm going to go through them all. But interesting.
Although... What does 'Live To Tell' have to offer ? Well, it's about 30 seconds shorter than on True Blue. That doesn't bode well, really. Otherwise, though, it seems to be the same - I think the cut sections are entirely instrumental at the beginning. Oh, no I lied. There's a extra backing section on Immaculate version just before we go into the second section - that doesn't feel right because it's meant to be sung alone (IMO). There's a backing on the True Blue version at the end too, which I'm not so keen on now that I hear it. Different, but certainly not as much as Like A Prayer.
Well, that's half an hour gone on comparing tracks.
Quick notes because it's getting late and I've still got two or three things to do today before I slope off to bed. Hmm. Have I mentioned I wasn't sure that was a phrase ? I think so. I also seem to remember pondering on the phrase 'would that I could' which sounds very wrong, but I believe is actually right. Not entirely sure on its derivation though. Oh, I've got a cat. Greebo, looking for food. Grendel's been sitting with me a bit of today, being settled but cuddly. Fast asleep with his paws holding my arm. Very cute.
I think I may have over done the sugar in my tea, 'cos it still tastes sweet after a Jelly Baby.
Oh, and the first episode of Johnny and the Bomb was on today. Interesting. I really don't remember it that well, although some bits come back to me. Seeing Zoë Wanamaker as Mr Tachyon is quite col.
The continuing saga of security holes... The Trainline allows you to register and supply details through their secure server. Sadly they blindly ignore case on your password, so there's 50% of your personal security down the pan. The server's apparently very secure according to the information that Opera tells me. That's great. Only then they spoil it by emailing you confirmation details once you've registered - including the password you gave them. You've got to admit as security goes, that's pretty pathetic.
Return to top | Comment on the diary
|
Adam Scoville. Not 6502. |
I've finally remembered a name that I've been trying to remember for a few weeks now. Actually might even be a few months. 'Adam Scoville' or some spelling of that surname. Anyhow; one of the people I really looked up to at school.
I must write out 100 times, "ARM is not 6502". That's why I was getting
confused oddness last night. It's not all that often that I confuse the two
- they're so amazingly different, but I think I was probably tired when I
wrote the code. LDR does not set flags
.
Tra-la-la. Lots of the code that I went through earlier in trying to find my silly bug was very broken. In longstanding and serious ways. It's bogglesome that these things don't trip people up more.
I feel a little better today. I don't know why, but I feel better nonetheless. Oh, and Dad told me that 'Johnny and The Bomb' is on BBC1 tomorrow. Might be good; might be bad. We'll see.
Return to top | Comment on the diary
|
Moyet. Birthdays. What Else Is There ? |
I was trying to work out what a track was. I knew the introduction must and what I thought was a lyric but I couldn't find it. I was looking through the collection thinking, "It's Yaz" (it wasn't in there) then "It's Eurythmics" (after looking in there I decided it wasn't right), then "It's Alison Moyet" (no, but I have a 'Don't Go' in there, which is the right thing, so...) then "Hey, it's Yazoo". So my first guess was actually correct. Yay me.
From that, though we have a nice little run of music that is in a similar style
I was wondering this morning about what a time traveller would do about birthdays. Obviously they'd be getting older than everyone else around them if they went back in time a short period because by they time they reached the point at which they left they'd have lift extra time. So would they take that time off the day they celebrated their birthday ? Or would they just detach the conceptually different but temporally identical birth-day and age-day from one another such that the former remained the same date but the latter drifted backward in time ? Strictly, it doesn't drift back in time unless they reached that point by going back a short period; it's only the day on which the traveller's internal 'age' trips over another year. Of course, being a time traveller, they can ensure that they are always at the right day so that both their age-day and birth-day are coincident. As well, obviously, as catching the TV shows they missed because they forgot.
I've just seen the video for Royksopp's 'What else is there?'. Odd. A little reminiscent of Archive's 'Sleep'.
I've got a puzzle on my hands tonight. 'Something' is managing to disable output to the screen. Sprites still work. Draw still works. But both are 'unbounded'. From which we deduce that it's the Wrch stream that's bust. Somehow. Obviously we're not redirected to a sprite because there's something appearing on the screen. But we're not diverting output to the printer, because there's nothing coming out of those devices. We're not in VDU 21 mode, because we can't disable it. A mode change restores things to normal. We're not in VDUXV mode - the output stream flags tell us this. In fact, the entire output stream flags imply that everything is well - not even diverted to serial. We aren't within a Printing operation - mainly we know because there isn't a printing system installed on the machine during tests, but also because the sprite output would go to the printing system as well. There's nothing on WrchV that could catch the output and disable it coming to us. Spool works, though. Presumably the VDU queue must be empty because there's no way that that could remain the state for long - 255 characters maximum, as it's stored in a byte. VDU stream redirection is not being used, so that's not it.
It's a puzzle. I know how to trigger it, reliably, but testing the components that could affect things on an earlier system shows they work fine. Which implies that it's something about the system as a whole that's stuffed. Well, the VDU system. There's something I'm missing, I'm sure.
I'm not thinking right now; I need some rest and something else to think about for a bit. Grr. Something that's not the things that I'm not meant to be thinking about and as soon as I said that I started thinking about. Grr more.
Return to top | Comment on the diary
|
What to say. |
I'm not sure what to say today. I had thought, before I went to bed last night, about doing a sort of list of things I wanted to say to expand on, but I haven't really found the concentration to do even that. I've done a lot of other things - a lot of other more complex things - but now can't seem to find the energy to.
On the other hand, I keep thinking I should write something to Caroline and then stopping myself. And then questioning why I stop myself and whether that really all that productive for me, and if it would be better for me to at least write something to her just to say that I'm alive. But then I go back to the fact that I'm just someone she once knew, in a different life, and I'm of no consequence to her. And so I don't. I do tend to yo-yo between those different, contradictory states, sometimes within the space of a single argument. I know it's all .. what's the word... circular will do. It's all very circular and self-reinforcing, but I just need something to keep my mind occupied so that I don't end up thinking those things.
Which, at the end of the day, is why I keep trying to do increasingly complicated things. It doesn't really matter what they are. Only that it stops my mind drifting to those things.
I can't actually think of what productive things I've done today. I wrote up a list of the stuff I did over December last night before going to sleep, using the CVS log entries as my reference. It was somewhat more than I had anticipated. You can get a lot done in month, it seems. Of course, none of it means anything, but it seemed a lot. Possibly, actually, it seemed a lot to me because I know how difficult some of the things that I did were. The BTS, for example, was one thing and it might not seem much, but it was a lot of pain and testing and - importantly - thinking.
Today... I've written one C file that I've not tested or even compiled yet. But is seems sort-of right. I'll look at it more tomorrow and then integrate it with the assembler, assuming I can get the API correct. I could spend a few days just trying out different APIs in real use. Most of the time when doing these things, getting the back-end implementation is the easiest thing to do - getting the developer-facing API into a shape that matches RISC OS' ethos and actually feels right in use is quite hard. For the complicated things anyhow. Obviously when it's one SWI it's a doddle, but getting more advanced bits right is hard. The core ImageFile API is 'right', although it took a long time to get there. Some little bits of it aren't quite as nice as they could be, but I'm not so worried about them. Anyhow, I ramble.
Today has actually been productive, although there seems less to show for it than yesterday - mainly because yesterday we had lot of documentation-writing and updates to things. John Tytgat's sent a nice little fix for CMunge's C++ handling with the GCC Toolchain that'll need dropping in tomorrow. I've still got a load of ToDo notes in my email, but they, too, can wait.
Ah yes, I updated my (Cover, Lyric, CDDB, Bio) Fetcher to support fetching of biographies from AMG today as well. It seems to work pretty well, and most of the artists in the collection are now biographied. Those that weren't biographied by sing365 anyhow. There's loads of other AMG information that we could use but I've not yet decided how to integrate it yet. I was thinking just having a few files extra would probably work - '_Members.txt', '_Influences.txt', etc. But it's a bit icky. The alternative would be to have a _MetaInfo.txt which included colon separated fields. Not sure I'm keen on that either. One day I'll decide.
Oh - my Last.fm subscriber status was dropped a couple of days ago so I can no longer see what people are looking at my profile and see my friends current listening, etc. I'm not sure I'm that worried. I don't need to know those things and I don't listen to their radio, so it's not a big deal.
I think I'll just stick on 'What Else Is There?' as it's about the right mood for me now, and then probably slope off to bed. 'slope off to bed' ? Is that really a phrase I can use ? It sounded right in my head when I thought it, but like anything you say enough times it sort of degrades with repetition.
Hot chocolate time. I feel tired. Not sure if it's 'I'm going to fall asleep' tired, though.
Return to top | Comment on the diary
|
Christmas presents. |
I've got too much chocolate this year for Christmas, I think. At the current rate, I'll have probably managed to finish is around August. There's still some of my birthday present left. It's not that I don't like chocolate, but more that it's not something that I eat much of in general.
I remember having lots of things I wanted to say last night but was tired and now I think I remember them but I'm tired. This could go on for a few nights, I think. Maybe I should do what I did last month (actually, I think it was November) and just jot down headings or sentences when I'm tired and fill them in when I am not so tired.
Only having written that I've forgotten. Bah. Must remember to try to eat 3 meals per day. Maybe 4. Breakfast, lunch, tea, supper. That'd probably help my lack of nails.
Return to top | Comment on the diary
|
Day out. |
Well, I've had a nice day out with Farren today. It's actually quite strange, as I've not seen her in months. But then as I socialise precisely not at all, it's really nice to actually spend some time with her. It'd be nice if it was a more regular thing really, but I doubt that'll come to pass.
On the other hand, being elsewhere gives me some time to reflect on other things. And I had mum chatting to me on the way down - she was off to see Julian and Simon today, helping Simon move, and dropped me off. Which was a whole thing in itself.
Not a lot else seems to have happened today. Or maybe I just don't remember any of it.
Return to top | Comment on the diary
|
Life On Mars. |
[ |
First episode of Life On Mars today. As good as I was hoping it would be. Nicely paced so I could follow it and very well done. I think it's going to be a good series. Certainly makes Monday night worth looking forward to. It's repeated in the early hours of Friday morning (12:15am, I believe), so I can probably set the tape for that - it ran out part way through.
Lots of documentation done today. Well, one document but it seems to have taken most of the day together with the little tweaks where things were inconsistent.
Return to top | Comment on the diary
|
Eyes failing me. |
Eyes are failing me now and I don't have much to write about today. Just a few more extensions to BTS, and I came up with some extreme cunningness for the decoder tool that I hadn't thought of initially. Nope, I can't remember anything else practical about today. Oh, except a few comments on spiders and Arrested Development from people today. Thanks!
Return to top | Comment on the diary
|
Funky dreams. Code changes. |
Today's funky dream was about three time traveling people who had to put right things that have gone wrong, but every time they go back in time they find that things aren't quite the way that they should be. Like they'd find that guards around the embassy were in different positions, or that one of their three had suddenly got a withering illness, or that trees were blue.
When I got up, mum asked if I was ok, which was a little odd, so I thought I must look pretty rough - my legs were killing me (which is usually the case after odd dreams) so that seemed pretty reasonable. I went through to the kitchen and found that it was quarter to three, which is late even for me. I guess I must have been tired.
I might be a little perverse to think that changing a number small
expressions from '&C' into '2_11<<(2*1)' and
believing that the latter is clearer. It is. Honest. I just don't have any
symbols defined around which would make it clearer. It's a protection level
described in two bits-per-setting within a 32bit word, and I'm changing
setting 1 to 2_11. Actually, I'm clearing those bits 'cos it's in a BIC, so
I'm setting 2_00 in the word, but that's not the point.
I think today's gone pretty well, all in all. My 3x speed increase isn't quite there - I think that the average I got was closer to 2.4x - but that's still visibly different. And that's what matters to me here. It was so distinctly slower, and it wasn't purely a perceptual thing.
Well it's 3am and mum's not home. I shouldn't be surprised. I'm going to bed in a bit. I think a hot chocolate and then a jump into a nice comfortable bed is in order. Or at the very least a hot chocolate.
The lights in this room are wrong. They cast the wrong shadows. I think it's the universe's fault for having poor physics. Or something.
Hungry. I think there's a sausage downstairs with my name on it. And some hot chocolate. Although probably not together.
Is there a name for the thoughts that you have before you fall asleep ? Those burning fiery nighttime beliefs that seem to make so much sense (to steal a phrase from Douglas Adams) ? They're not 'dreams' because you've not asleep, and they're not 'daydreams' because it's not day. Well, maybe they are; after all isn't daydream meant to infer that it's not whilst you're asleep rather than the fact that it's day. Only they're not dreams so much as ideas of things to do, or possibilities, or stuff, rather than situations which generally makes up dreams. Although, maybe they are the same. I mean what is a 'thing to do' other than a definition of an action, and whilst you're deciding on it you're thinking it through as if you're there, so it's not all that different to a dream.
I think they're really just nascent dreams which cannot form fully because you're still too conscious. Because of that, I'm going to call them 'dreamlings'.
Bah. I think everything's going fine and then running one of my normal
scripts that I run every day - hell, every few minutes on a busy day -
suddenly starts reporting errors. They've gone away now. But I'm not a happy
bunny because of them.
Return to top | Comment on the diary
|
DDT ? Blood (I'll get it!) Implementation Defined. Ariadne the Spider. Successful day. |
I just ran the Hexen that I have pinned to the background to see if it still
worked. I'm not actually sure that it does work, but it did start up DDT
which was a little surprising. Not least because I didn't think that DDT
worked on ViewFinder. At least, I was certain that I never got around to
fixing it, despite Robin protesting that it didn't work
. But
obviously it does. I did try it again, though, and this time clicked
'Continue' and the machine stiffed, so I'm guessing it's not quite
working.
In the shower today I had a mild panic. I looked through the glass - something I obviously must have done many times before - and saw a splattering of blood over it. Only it wasn't blood. The water droplets were refracting the light so I could see the red mat that was on the floor. It just gave me a fright.
I'm sitting here reading the 'ARM ARM' and thinking to myself "Wouldn't it
be cool if one of the 'Implementation Defined' operations did something
completely weird, like filling the registers with the ASCII string
'blancmange' or something ?". I was thinking that maybe the Unpredictable
instructions could do that too, but the semantics of unpredictable seem to
be slightly different. Is setting the contents of registers to a fixed value
a security hole ? Probably not, but still it would be odd. Of course, I
should expect any 'Implementation Defined' operation to
fill the registers with 'blancmange' if I haven't read the implementation
specifications
. Or at the least to do something unexpected - because I
don't know what expect having not read said specifications. I've actually
read most of them that I need to worry about. There's nothing about
'blancmange' in there. Which might be a pity really.
I'm wondering what's with the '3D glasses' and 'www.saveourbluths.org' things on Arrested Development ? Firstly, the 3D glasses thing is a bit odd for any show, never mind Arrested Development. Secondly, the 'Save Our Bluths' site was 'www.saveourbluths.com', I think. Maybe they meant to put a site up there only they forgot. They've registered the '.org' name, according to whois. Oh well.
Julian's pointed me at a page about Knightmare - which
I think is on the site I've seen before but I'm pretty sure I don't remember
seeing the graphics of the levels before. It has a spider called Ariadne,
and I'm very willing to believe that's where the association comes from
.
Today, then, we've split up some of the code we wrote yesterday and written up the documentation in the right way so that it's actually going to be usable. And the remaining two 'legacy support' switches got turned off, and I've written a new module to support old things that used those methods. A couple of other modules updated in light of these changes means that I've now got a nearly usable machine again. There's still issues with banking, and I've got this very bad feeling that a lack of memory might just branch to zero, but I'll look at those later. They're not huge problems. Just little unimplemented bits. It's noticable, during builds, that the changes from last week make things run slightly slower. However, our builds are pathological cases where they will run slower, and at the same time exactly the case that needs to be changed to be safe. I still have an idea about how I can speed up the process, but I'm pretty sure that it would introduce an extremely dangerous problem - not quite the way to fix dangerous problems in the first place.
Tomorrow, I think I need to add BTS support to the interfaces - especially as I understand them at the moment. And then starting to use the new interfaces in anger.
"Surely that can't be the reason everything's running slowly ? That would be... foolish... Fuck... yes, that's it... 3x speed increase..." So I think I've found what I'll be doing tomorrow.
Return to top | Comment on the diary
|
Press Gang. Doctor Who. Not so bad. |
Fraz: Are you sure she hasn't got a boyfriend ?[ A lodger ?; Colin; Press Gang ] |
Lynda: What's your lucky number ?[ Combination; Lynda; Press Gang ] |
I'm sitting here watching Press Gang episode 'Quarter to midnight' and as I'm doing so I say to myself "The curse of fatal death" - and I'm suddenly wondering about that phrase because I think it's a Doctor Who spoof name. Only, as I start to look it up I've forgotten why I've said it. Maybe it was something about the test machine blowing up completely, or something in the episode. So I look it up and when I find that it has Julia Sawalha in it, and exclaim 'well that's weird'. And then I find that it's written by Steven Moffat and am forced to say 'that's really weird'. So now I'm spinning back to the start of the episode to try to work out why I said that, or whether it was just some dormant part of my brain that keeps such connections. Well, there's nothing in the dialogue to make me think of that so it must have been the recurrent aborts on the test machine that triggered the thought, with the connection somewhere in my subconscious. It's cool to have a mind, however broken it might be.
Today has been spent wandering the house a lot. I've been on my own all day, which is actually quite strange - there's been lots of days with other people in the house recently. Quite lonely. But, I've been pacing not so much because I could but because I wasn't sure of the best way to implement a lump of code. After thinking of lots of different ways and being happy with none I got fed up and decided to just do the least-worst of them and see what happened. As a result I now have an implementation that I'm nearly not unhappy with, and because of what I now know from doing it, I can fix it up to be 'right'. Or at least as right as it can be given the limited usefulness it will provide. Even that's an unfair statement, I think. It's particularly limited in usefulness at the moment, but with a few tweaks it can be handy for a number of other uses which are quite specific but very handy to have.
I'm getting a little concerned really at the number of interfaces that have been created recently. Whilst they're all necessary and required and all that, it does feel a little bit like there's a whole load of little interfaces that have been added which fulfill specific purposes. I know that they fit with the surrounding styles of interfaces, and I know that to do them in other ways would be wrong for a number of good reasons, but it still feels odd. Possibly it's because I'm used to things as they were.
I know what it feels like; it's like that odd feeling I got when I did the DHCP and ZeroConf interface changes. It's that sort of out-of-sorts feeling because things are no longer the way they were and you've got to get used to things being slightly different. In time it'll seem normal, but it does take that time.
My hair's all sticking up. I look like Tin-tin, but without the 'cool', or the journalistic and crime-fighting skills. So not really like Tin-tin. Possibly I could do with having it cut at some point.
I'm clearly missing something important. I was trying to find out when the next Arrested Development is on. I thought I'd look at the Fox website for a schedule. I found a schedule but it seems to have a lot of gaps. Either the channel doesn't actually show anything for about 90% of the day, or they just don't bother telling you what's on. I find it difficult to believe that the channel has nothing on. I find it easier to believe that the remaining time would be filled with adverts, but not by much. It just seems a little bit odd. So clearly I'm missing something.
Yeah, I must be missing something very important here. The NBC schedule is a little fuller, but still has nothing before 8pm.
Return to top | Comment on the diary
|
BTS. |
So, I've found my third bug using BTS. This time it wasn't directly due to BTS because I didn't trust the information it was giving me and I resorted to more brute-force debugging methods before deciding to investigate the BTS dump directly. And it lead me almost immediately to the cause. Sometimes I'm quite clever.
I also seem to have returned to the 'sore fingers' due to biting my nails a little too much. Which just means I should eat more, I think.
I think it would be nice to have a day that doesn't involve conversations with myself about impossible, or at least laughably improbable, events.
Return to top | Comment on the diary
|
Ariadne. Charlotte. |
David Chess mentioned the name 'Ariadne' today and it immediately connects with a few thoughts. One is that it's a rocket. One is that it's a ship off the coast in the '39 steps', and one - the overpowering one - is that she's a spider. Now I'm not entirely sure about the ship thing - my flakey memory says that right - however, the spider thing I'm not sure about at all. In my head that's the immediate connection and it's odd - mum suggested it's because the word is close to 'arachnid' but it's not really that close. Certainly not close enough to be so strongly associated.
I mentioned to mum that the only spider I could think of was Charlotte, and she was completely blank. Maybe it's not that surprising, but the spider-to-character relationship was always strong with that because we read it at school in York (the one near where Chris lives) just before I left.
Having now guessed these things, let's try looking things up
. Coo,
there's an association I'd forgotten - Ariadne was the girl who gave the
hero a thread to escape the labyrinth on Crete. Well, I can't find anything
particularly useful to indicate any association. Seems strange that it's so
strong. Oh well.
And I'm sort of right about the ship in the 39 steps. That's a little easier to justify but also wrong. I'm wondering if the Ariadne was more prominent in the film - the '39 steps' in the film is quite different from those in the book, if I remember rightly.
And apparently the rocket 'Ariane' is named after 'Ariadne'.
So, of those three things, I got one right.
Return to top | Comment on the diary
|
Coincidences. Diary RSS accumulator. |
So, I don't believe in coincidences. I think I've pretty much established that, but I've also decided that the coincidences I've seen have not been of... well, human making. They're not things that anyone set out to do. So, if that's the case, and we don't believe that coincidences just happen there has to be another reason. Maybe that means I should actually think more carefully about the idea of some higher purpose controlling things. However against other beliefs that is. Those were today's Thoughts From The Shower.
Ha-ha! I've just spent about half an hour updating the RSS generation to accumulate entries so it's now possible to see the entries from the previous month in the RSS feed. Previously it would reset to nothing once we went to a new month. Part of the problem with the diary is that these things aren't in a 'databased' format, but are in flat text files which just happen to look a little bit HTML-ish, and they're processed to make HTML and RSS (and more recently Atom) by Perl, and it's not particularly great. One day I'll update how it works to be a little more modern. Hell, this has worked for 7 years, so it's obviously not that bad.
Hey, and that's a summary written for December. I should probably do year summaries, too. It don't really feel like doing that right now. It's too sad.
So the last couple of days have been quite productive. Only completely useless. The short version runs something like this...
Locate code that looks like it's cack and has faults, race conditions and generally you can attribute visible crashes to mistakes in it. Determine that the original code contains no redeeming features and decide to re-write the lot. Re-write said code, using different, more robust algorithm, going out of your way to ensure that the criticial regions with interrupts disabled are at an absolute minimum necessary to ensure the code's safe execution. Test code by inserting aborting failures at key points which we know will fail and fix mistakes so that such failures are still safe. Repeat, inserting failures at other random points, to at least limit the possibility of things being missed during manual inspection. Repeat with alternate forms of failure. Feel really confident that code is robust and can be put through the main, intensive test which was known to cause failures in the original routines. Run the intensive test. Observe that the behaviour is identical to that oof the original routines. Curse. A lot.
Obviously I've missed something which is pretty fundamental. It's just a
little annoying, that's all.
Return to top | Comment on the diary
|
I, Robot. |
Finished rebuilding the diary for the new year this morning, which took only a little while. It's the actual processing that takes a few hours because it's so extensively convoluted - it could be better really!
Watched 'I, Robot' today. I was really quite surprised as it was much more enjoyable than I had expected.
I'm just re-writing a whole load of code that I found quite utterly
abhorrent. But it's really complicated and even now that I'm getting into
it, I'm having reservations about my own solution being acceptable.
It's annoying to know that there is a possibility that what you're writing
will fail and there's no way it can recover. I know what needs to
be done to remove that possibility entirely, but it's extensive and drastic
reworking which I really cannot be going into right now. It's been planned
for ages, but it's just really too much work at this stage, and even though
I know that my solution will only be partial, it's frustrating to know
that there is a solution which is total but cannot be done right now.
Eyes too blurry.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||