It's the end of the month. Whilst that's usually annoying, I'm not so
bothered this month. Not sure why. There's still the usual things to do at
the end of the month, like working out what I've done with my time and
things like that but it's not seeming that daunting or anything. Feels
almost calm again. Maybe because I'm distancing myself from the things
that are annoying. Maybe... Oh... just "maybe..."
Not a lot else to say about the day though. A little more documentation
sorted, a lot of time on the phone, and a little bit of a chance to fix
some code that I broke a few years ago. It annoyed me intensely because
I've been so careful not to. I doubt anyone really cares about the lengths
you have to go to in order to be sure that the side effects of changes are
minimal - or at least are what you expect them to be - and quite rightly
so. It shouldn't matter to the developer or the user how much work went
before. But it's still there.
I was pondering last night about 'learning stuff'. Like, when you were at
school you got these 1 hour sessions to learn about 'something' (hopefully
the subject that you were there for, but often quite a few other things
too), and that's hardly enough time to do very much. Maybe I suck at doing
things, but an hour can pass so quickly when you're going things. It is,
after all, only 60 minutes, and that's only 12 lots of 5 minutes, and 5
minutes is nothing. That's utterly vague and weird but I'm not bothered.
I'm tired again. Must sleep. 3am. Bah.
You know, I really hate writing documentation. Yes, I've said that. I think
actually that I've said it many times before. There's just so much to write
up, though. So many things to correct. So many things to correct the
impementation of, because they're not matching the documentation. I
mentioned to dad how I didn't expect anyone to read these things, and he
said someting along the lines of "it must be annoying if nobody read them".
Well, it is, but on the plus side at least you can say "well, it's
documented".
On the down side, though, I'm very aware that what I think of as being
'enough' might not be seen by others as such. So I'm trying very hard to be
complete. There's a lot of holes I've got listed as ToDos, but I'm slowly
filling them in. You can sort of imagine a jigsaw that's (hmm; I was
thinking about a jigsaw earlier, because of the '2 words' thing), being
filled in - as you're doing one part you sometimes find sections of another
part of the picture and so it grows in an odd way, with a major region
'growing', but with other smaller, or unrelated regions growing in little
spurts. What a lovely analogy. Or is it a simile ? Not sure. I think it's
both, actually.
Other than that, not a lot to say today. I tried some 'barbecue ribs chinese
style' crisp things that dad had brought home and the roof of my mouth hurts
now. Odd thing.
Oh, and apparently it's half term now. Which I was completely oblivious of
and had circumstances been different today I might have found out in a very
scary (for me) way.
Another downside to writing these docs is that there are so many things
which have not been finished but which need to be.
It seems that I lent my radio headphones to Julian, not Simon. I was only
one brother out. That's not too bad, I suppose.
I seem to have done not a lot of code writing today. Lots of little bug
fixes as I've been working through documentation. It's not that there isn't
any documentation (well, not for most things), but that quality is more akin
to lecture notes than anything that's actually usable. If you're me you can
understand what they mean. Otherwise you might as well be translating
Russian, with only a long haired cat to help you. But as well as fixing the
little bugs, I've managed to sort out about 80K of documents today - not
writing that much, thankfully! Most of it was just sorting it to the right
place and amending the bits that are now broader, narrower, or just plain
wrong compared to when they were written. One or two documents needed
writing from scratch, but that's all.
Just a couple of days left until 'Half Life 2: Episode One' is available.
It's not like me to get too excited over things like that, but... well, it
is a little bit exciting. Actually, I'm more than a little curious how well
the process is going. There's been periodic updates of the game content
which apparently will be unlocked at release. It all seems - so far - quite
well managed and painless. Whether it will screw up at release because of
the large demand, I'm not sure. But that is one of the main reasons
why it's quite exciting.
I think I've just worked something out. Two words which Caroline said, which
have been annoying me for the past 10 years or so. I'd just got off a train
with Phil, having forgotten my t-shirt and having to stop the train just as
it was pulling out... and I woke up. And had this very clear thought in my
head what those words meant. I wish I'd known 10 years ago, though.
It's just a pity that those mistakes in the past just cannot be undone.
Maybe it's just an excuse, in... maybe I'm just trying to make up reasons.
In my defence, and it's very little defence, I'll grant you, I've changed.
Not that makes the blindest bit of difference. Oh well. If it takes me 10
years to work out something like that then really I don't deserve ...
um... well, I don't know what... I deserve what I got ?
Today's top tip... disabling SpriteV may be foolish.
Doctor Who (2005, BBC One)Action and Adventure/Science-FictionThe Doctor looks and seems human. He's handsome, witty, and could be mistaken for just another man in the street. But the Doctor is a Time Lord: a 900 year old alien with 2 hearts, part of a gifted civilization who mastered time travel. The Doctor saves planets for a living - more of a hobby actually, and he's very, very good at it. He's saved us from alien menaces and evil from before time began - but just who is he?Doctor Who episode "Doctor Who2x07 "The Idiot's Lantern"Location: London, England, Earth Date: 1953 - Queen Elizabeth II's Coronation Enemy: The Wire In 1953 London, the police are abducting people from their homes. The people of Britain gather around their new-fangled "tele-vision" sets to celebrate the new Queen's coronation - but something strange is affecting the signal.The Idiot's Lantern" today seemed pretty poor to me. Maybe I
just wasn't in the right mood.
I was going to go in to Center Parcs, but I really couldn't sleep last
night, so... well, I didn't.
I had some radio headphones. I don't know where they've gone. I thought I
had lent them to Simon, but he said that he hadn't got them. I've had a look
through the cupboard of bits and I can't see them in there. The brief glance
under the bed - which is where odd things get put - says that it's not under
their either. So I'm a little stumped.
However, in looking, I flicked through the Big Box Of Printed Documentation,
which has lots of documents that I've printed out. Amongst them are the odd
specifications that I've written over the years, ranging from the Boot
structure functional specification (which appears to just document the same
things as are in PRM 5a) and the Options module, through discussion
documents for general OS direction, to the RISC OS developer conference
note.
One thing that's very clear is that I don't half write a lot of cack.
I've had another one of those scarey moments when things work as they
should, but in an unexpected way. Only a couple of times in the past have I
had a C-backtrace appear in a non-C application, but today was one of them.
It's really odd because you don't expact it in the slightest. In this case
it was because a free had been used on an invalid pointer, which results in
a direct backtrace within the C enviroment. As this was a C-module that
triggered the operation from within its SWI, we get a backtrace from
whatever application called it - in this case, a BASIC program.
Better still, though, not only do we get the backtrace to the screen, but
the diagnostic dump is generated safely so we can debug the problem
separately if necessary.
Today's been mostly fun, writing an experimental module to make sure that
the features I was documenting actually are the way they're meant to be.
Found only a few anomalies from it - and, of course, the fun diagnostics
from within the module.
I needed a little bit of a change today. So instead of doing the normal
stuff, I've written myself an 'email inbox to RSS feed server'. Which isn't
at all impressive, but it looks cute - 'cos I can now see what email there
is on the Squeezebox now. And it wasn't as much work as it might have been,
because I just picked up my old email summary program, ported it to linux
and then wrote a perl program to convert the output into an RSS feed - it's
just hung off the HTTP server I wrote for the cover fetcher (come to think
of it, I'm not entirely sure what part of the cover fetcher needs a HTTP
server, but that's where it was).
In any case, the Squeezebox can now display the current emails in the inbox
for mum and dad. I've not put mine in there because... well, I have lots of
messages in my inbox. Maybe I should sort that out so that it's not silly.
I've even added sorting to the lists so it only gives you the last 15
emails you've received. It may not be much, but it's been fun.
I found some cute little poems that I wrote ages ago, whilst I was trying
to sort out my mailbox. I should probably sort them into the right place,
but I'm not sure that they're finished enough really.
![[Quote]](../images/quoteleft.gif) |
M'lady: Salem, you're the only one who understands me.
Salem: Yeah, but it doesn't mean I care.
[ I don't care; Salem and M'lady; Sabrina The Teenage Witch ]
|
![[Quote]](../images/quoteright.gif) |
It seems, going by my conversations today and yesterday that I've become
incapable of holding a conversation of longer than a few minutes. I don't
know why that is. I'd like to change that .
Every time I think I have some words to write here, late at night, I find
that when I come to write them they've evaporated like mist. I guess
that's the thing about having a bad memory. Or possibly of not having a
good concentration span. Maybe it's related to something about how I live.
Maybe... I dunno... I tend to put off getting food when I'm hungry. I tend
to put off going to bed when I'm tired. Like now, of course, so maybe
that doesn't help.
It's only late at night, when I'm idling (bah, too much computing) that I
actually think about things, though. Properly, that is, rather than the
more generalised things throughout the day which I tend to distract myself
from by doing work things.
I wonder, sometimes, if when I read this back in 20 years time whether
I'll have any idea of what I was thinking about and how I felt. If I'm
missing anything important or whether I'm not being verbose enough. But
then the thought comes that I don't know if I'll be around in 20 years to
care, so I try to stop worrying.
I could really do with some sort of plan. I've been hoping that I'd make
some decision, and I've been trying to make my mind up as to what that
plan should be, but it never seems to actually make it.
How many things go unsaid because you've no idea how to say them ? Claire
bothered me a little while back by saying - quite tactfully - that I
manage to say the wrong things to people. It bothers me a lot, because I
spend a lot of time trying to make sure that my words are right. I don't
know why that is. I can guess, but I hesitate to say it because of my
memory playing tricks. I remember being very careful with my words around
first year of university, because I remember chatting on IRC with people
and using carefully chosen words. I can't remember much more before that,
and I know many times I've done it after that.
I guess what I'm trying to say is that I thought I'd get the chance to
scream and shout, and to just be angry. But I never let myself do that,
and I think that I'm never going to. I know that's just the 'you don't do
that sort of thing' thing, but that's all that it is. Like the fact that
you don't ask the questions whose answers change nothing.
Is it important to ask those questions when the answer, whatever it is,
can mean nothing ? Or that in asking those questions there are much worse
consequences than purely the answer ?
It's like trying to take a measurement and the act of measuring
affecting your answer, except that it's more general, I suppose. How would
it be if you went to a shop and if you just paid for things you'd get one
price, but if you asked for the price, you'd get a different one ? Is that
even remotely relevant ?
If I was to look back at the number of times I've asked myself these same
questions, what would I see ? Is this a product of a poor memory ? Or just
some inability to recognise a failing in myself ? Well, to accept a
failing, maybe.
Decisions made late at night when you cannot sleep are never to be acted
upon. That's something I decided ages ago. Did I decide that because of
Douglas Adams ? Or because I'd done something based on a decision at night
that had turned out bad ? Or did I just reason myself out of those
decisions at night so many times that it became a core part of who I am ?
I try so hard not to act on impulse, in talking to people, in what I do
and in how I act. Why don't I trust myself in those things ? Why am I so
self-doubting that I question and stop the immediate thoughts ? I doubt I
can ever hope to answer that. At least not with any one thing. You cannot
attribute any particular thing to any given action.
Woah, that's a whole lot of generalities. How strange that on moving from
thinking in my head to trying to put words down I move from specifics to
generalities. Maybe it's the knowledge that I'm writing things for them to
be read. Which would be bad. It's also that the specifics are not just me,
but my friends and family.
I still don't know the answer to this work thing. It bothers me in a way I
haven't yet put my finger on. I think I've nearly had it a few times, but
it's faded from my memory. You'd think I'd remember something I'd been
looking for the answer to when I found it. It's not always the case.
I've always tried to understand the other person's view. I don't think I
do very well sometimes. I try to put myself in their place, and to see
things the way they do. I think that's been a bad thing a few times in my
life. Maybe that's what Claire meant. Well, it's not - she meant it more
literally, I think, but that doesn't make it any less true.
Why do I need to have the complicated things to do ? I know it's because I
have to prove that I can do it. That's a form of arrogance, but I can live
with that. But is there any point in doing things if there's nobody to
prove it to ? Nobody to say "that's neat" ? Or if there are people to say
that but that you play it down because you want to come across as modest
when really what you want is some recognition ?
Some words like that. It's a wonder to me, sometimes, that there's all
these words around and about in the world. Some recorded like this, some
spoken, some only thought. How many of those words are important ? In the
grand scheme of things ? Most are just about the day to day things -
remembering to buy milk, talking about the weather or writing a note to a
friend. But how many are actually important ? In that they change the way
of things ? I don't know. I doubt it matters. But I'm conscious of the
fact that I contribute daily to that general noise, even in the notes to
myself.
That's not important though. Not in any way that matters anyhow. I
bother myself in wondering how much is lost though. I hate to lose things.
I remember sitting in the car when I was younger - I don't know about 10
or something ? - and trying to write a log of the things that I did. I
don't think it was the '88 diary, because I'm pretty sure I lost it, but I
remember (in that odd way that you do) saying that I wanted to write down
that I'd broken my pencil. Either Mum or Grandma - I think it was Grandma
but I'm not sure - saying something like "don't you want to remember only
the good things ?". I knew I wanted to write things down because they
happened, not just because I wanted to remember them that way. Maybe it's
my memory playing up because I don't have a record of that time,
but I do remember that. I remember it was the Inn On The Green and for
some reason the colour green is important. Maybe the book was green. Or
the car.
Why's this matter ? I guess I'm just writing it because I remember it and
if I don't it'll be gone and lost. My poor memory really bothers me.
Which has led me miles away from the original train of thought that I came
to here, and which I felt was important. But those thoughts fled and
haven't been recovered.
I keep forgetting pine has a spell checker. Must remember to use it before
submitting diary entries.
It's quite a pretty little track, but I'm not sure so much about what it
means. Whether it's meant to be sad or happy. I think it's happy, but it...
just doesn't really have anything to tell me.
I was looking at fixing a little bug earlier and it led my to a section of
code that I'd forgotten about how awful it was. With a little tweaking, I've
fixed it to be better. With a lot more tweaking I managed to find out how
I'd broken it and keep it much faster. Only, that's quite a number of hours
gone and I was in a sort of odd mood when I rang a friend, and then it
turned out all weird. Oh well.
But now I have to return to the original bug I was looking at and see if
I can fix that, which is quite a bit more complex. Partly because I'm not in
the frame of mind to fix it now .
There's a world of misdirected energy in my life, it seems sometimes. It
makes my think of Cybil's comment about Basil (
Fawlty Towers (1975, BBC Two)ComedyFawlty Towers (1975-1979) is a British television sitcom about hotel owner Basil Fawlty's incompetence, short fuse, and arrogance that form a combination that ensures accidents and trouble are never far away. Although only twelve episodes were produced, the programme has had a lasting and powerful legacy. Fawlty Towers) - "You never
seem to get the balance right, do you ?". Or words to that effect. Only
in my case it's not about pandering to people, it's about just trying to
get the right focus. Oh, I can blame it on feeling guilty about things and
all that, but it's only a re-directed guilty about other things really.
Maybe there's some measure in there that you can do - guilty doesn't
actually ever go away but only gets diverted to new places. So if you feel
guilty about (say) forgetting your brother's birthday, you direct it to
something else instead. Maybe. No, I'm just talking cack.
However, despite the cack, there's an interesting thing. I have a note
about someone written down hereabouts somewhere which I could easily apply
to myself, although I hadn't realised it until a couple of weeks ago. It's
strange when you think of yourself like that, because you question whether
it's something that could have always applied and you were just oblivious
of it, or whether it's a 'recent' thing. Neither answer is particularly
helpful in any way, but I guess that's not the point when you're trying to
understand yourself.
I'm left to ponder, after someone's comment earlier today, why it is that
they think that work is important to me... A few people have said things
that make me think that that's how I come over. I'm passionate about what
I do, clearly, but it's not important. It's something that I do, but it's
not actually important. I'm not sure on the whole what is important. I think
that's one reason why I feel confused at the moment.
A friend's comment on the talker was that "work isn't important but having
something complicated to do is", which seems pretty accurate. It's
nice to know that friends know me.
I'm hungry. It's 3am and I'm hungry. Mum's still not home. I really don't
need to stay up for her; and I really am not all that bothered any more,
but I do still tend to do it. I'm too annoyed at myself to go to bed, too.
And I am hungry.
For the past 3 nights I've been trying to complete one FreeCell game on
XP. Game #13582 is just being very annoying - I can't seem to complete it.
I'm determined I will, but it's been the hardest I've tried so far, I
think. Here goes another night, I suppose...
Yay. Done it. Just shows that perseverence pays off. Which I'd
forgotten. 'cos in my experience preseverence usually just ends up in
embarassment.
Mum made a cake which was fortified with chocolate. Now, by that I don't
mean the normal use of 'fortified' with food, but actually 'made a fort out
of it'.
![[Quote]](../images/quoteleft.gif) |
you can fold cheese slices more often than you can with paper
its all to do with the size of CheezAtoms apparently
[ CheezAtoms; Pedro; Talker ]
|
![[Quote]](../images/quoteright.gif) |
Website backups today; it seems that the source for my site is around 6M.
Which is a lot of writing - not much of it useful, admittedly. But half of
that is the diary content. Surprising.
I've just totted up the ToDos I've got through today. 5 deleted, 9 added. So
that's a net loss on the day, obviously. Usually I don't think about it, but
this time I've decided to check. It's not exactly reassuring. I tried a
random 'skim through a load of components and documents and see what still
needs doing'. I've now got two more pages of ToDos on top of those that I
added from today's work. Probably these overlap the other things that have
already been put on the list, but still it's a lot of stuff .
And in the dream last night I was getting beaten up by Lucy because I was
with a girl who didn't want to go with some guy - which was who Lucy was
working for. Fortunately, 'cos we're family Lucy didn't want to hurt me so
only hit me a lot, rather than a very lot. And then she let me run away,
slowly, and hide by moving to another town, so that she and the other hit
men couldn't find me and this girl. For some reason, though, I kept coming
back to the town to do things, even though I knew if they found me they'd
probably just kill me. That's hardly sensible now, is it ?
Then again, imagining Lucy as a henchman out to get me isn't exactly
normal, but I believe that that's playing on the fact that she seems so
nice and friendly but I really wouldn't want to get on her bad side. She
scares me.
Really couldn't sleep last night. Must have been around 7am before I got to
sleep. Which means that tonight I'm trying to get to bed a little earlier
than usual. It's nearly 1am, so that's not quite worked out. Actually I've
just realised that all I had for tea was half a beefburger. That's not good.
What have we done today ? Well, a few days ago I worked out how I could
implement one of the features that someone else I work with will require.
I'm not sure it's actually as easy as I thought, having now spent a day
working on the code, but I'm getting there - the side effect is that some
of the work I meant to do around 4 years ago and couldn't fit into the
whole design back then has now been done. If it's right, it'll make some
of the code in other components much neater and reduce the side effects
of some operations. If it's wrong then I've not lost anything really.
On the plus side, I've re-written a few assembler functions in C because...
well, because I can't face having to maintain the assembler to be perfectly
honest. It's fine for some things, but for others I just don't have the time
or energy to keep in mind all the registers, side effects, entry points and
branches. Give me C any day. At least then you can see the design, rather
than the implementation and replace things in a much more sensible way.
That's my excuse and I'm sticking to it.
Actually, I was talking to someone a few days ago and they said that they
used C mostly as a high level assembler. That's pretty much what I'm doing
with this stuff.
Julian's birthday today, too - I had forgotten until I noticed the date
. For some reason his birthday wasn't on my settings for the reminders
program. It is now, so hopefully I won't look like a fool in the future.
Well, not for that anyhow.
![[Quote]](../images/quoteleft.gif) |
Heds: what are we talking about ?
gerph: Um... quick summary since I got here... VC2005 has a bug
with goto+debugger; you shouldn't touch things that danes write;
C# generics make for poor sentences; and how you can't hi-5 a pig.
Heds: all sounds sensible.
[ What are we talking about ?; Heds and I; Talker ]
|
![[Quote]](../images/quoteright.gif) |
Which just goes to show that you shouldn't try to summarise the stuff we
talk about.
I sent someone an archive of documentation a little while back for them to
look at. I sent it using GMail (my GMail, that is, not the google thing),
and because I forgot that I was including a directory, it archived the lot
up for me. GMail uses the 'no compression' form of Zip archive for such
things, because it's simple to do - GMail was meant to be a sub-32K email
client. Only, the recipient reported that WinZip failed to decode it at
all. It kinda surprised me because the 'no compression' (just storing the
data) archive really is the simplest of forms. Unless, of course, my
implementation was wrong - but after 10 years or so, I'm sure someone would
have mentioned it, or at the least I'd have spotted it was broken. And
original PKZip always decoded them, as did InfoZip. Oh well.
Today has been mostly about writing documentation. And checking
documentation. And correcting documentation. And correcting implementation
to match documentation. All in all it's been tedious and numbing. But I
think it's been worthwhile. Easily got twice as many new 'ToDo's as I
crossed off today, but still that's always the way of it.
I complain about the documentation a lot really. I do dislike doing it,
but that's mainly because it's got to be right. Without correct,
complete, documentation, changes might as well not have been made. Well,
that's not really true for everything. But for anything that people might
actually use it's important. And it's certainly important for anything
that may cause problems. I pretty much accept that whatever changes people
will complain that it has changed. It's unlikely in the extreme that
anyone will be find everything sensible. Even I don't like some changes
because they're half-jobs. So if anyone liked the half-job they'd not have
the same goals as I have.
The half-jobs are mostly because things have to change in order for 'other
stuff' to work sensibly, and because making the full changes in one go is
just going to take a long time and cause problems, we have to aim for a
half-way house to ensure that the transition is less painful. The problem
with that kind of thing is that people will complain because things have
changed and (maybe) grudgingly accept the change, but then the next time
around they'll be more frustrated because they have to change again.
I don't want to get into any specifics, but there are quite a few low
level areas that have changed significantly without much external change
noticeable, and then there is what those things will need to do
which is quite different again and will require much larger external
change. The impact of the changes is just something you have to determine
and see if it's worth it. Obviously there'd be no point if nothing was
going to ever get done. Fortunately, I'm less bothered by how many other
people use things... Hmm... well that's a lie... I get frustrated that no
bugger uses the stuff I do add, but that's just the way it goes. It makes
life easier for me, which is what matters and for 90% (guess - not real
figure) of things there is a goal beyond the immediately visible changes.
Surprisingly few changes are ever made for themselves, actually. Things
like 'that's poor code', or 'that'll break if the user did blah'
excluded, the bulk of changes are 'if we change this then we will be able
to do blah more easily'. I doubt that's obvious to some people.
It's impossible to justify every little change - particularly as the
justification would usually take longer than the documentation of the
change and its implementation, as well as obviously giving away future
plans in far more detail than I ever want to.
Some things are just hideously crippled because there just isn't time to
complete them to function the way that they should be. That's a pity, but
there's not a lot I can do about that.
I've spent around 15 hours working with and testing ARM code today. Usually
that wouldn't bother me so much, but it does seem to have hurt today. On the
plus side, one function is now running around 8 times faster than it was
yesterday. And that's 22 times faster than it did in the last release. The
annoying thing is that I know it could be faster. Only I just can't see how
it's managing to be slow in the first place.
I've got a little note on the laptop which says :
"I don't know what it means. I suppose I should take some comfort in the
fact that I'm still trying to work it out, but that's not all that helpful
really."
I must have written it a few nights ago, but I'm not really sure.
Regardless of when it was written, it's a pretty little snippet of
thought really.
I've spent a very relaxing day today butchering code. Well, strictly, I've
been pruning code, because I've only been cutting away the dead bits and
tidying it up, but there was enough of it that it felt like butchering.
The results are, so far, quite pleasing. I've not yet seen anything cut
which was actually used so it's not important - keeping behaviour as close
to the previous behaviour is vitally important.
I did notice a neat little trick I could pull, before realising that I'd
be breaking behaviour that certain things actually rely on and was well
documented. A pity but not an insurmountable one - I have a cunning idea
about how I can get around it, but I'll need to spend more time looking
at the implications of that change as well.
![[Quote]](../images/quoteleft.gif) |
Ron: Have you ever conjectured as to whether the world as we
perceive it is the be all and end all of physical existance ?
Yvonne: Are we talking spiritually or scientifically ?
Ron: I think I'm taking a position somewhere between those two
alternatives.
Yvonne: So we're dealing in metaphysics ?
Ron: Could be - though I couldn't say for certain without getting
hold of a dictionary.
[ Metaphysics; Ron and Yvonne; Goodnight sweetheart ]
|
![[Quote]](../images/quoteright.gif) |
As well as liking the studio 'Out Of Myself' album by Riverside, I rather
like their live versions which are on the 'Voices In My Head' album. Seems
you can't actually get that album outside of foreign land, so I have to hold
on to my money and just listen to the downloaded one. Which makes me feel
bad. I'm still waiting for my physical 'Out Of Myself' CD to arrive. So much
for 101CD's 'usually ships in 3-5 days'.
I had a cunning idea today. One of the things that SlimServer does is that
it tends to thrash the disc and you can hear it rattling away upstairs when
you select different options. Now that's annoying and putting in more memory
has helped, but hasn't alleviated the problem entirely. Obviously the reason
that it's still happening is that it has to get data from the disc. Since I
don't have any swap on the server, it's not paging in the program. So, I
returned to my thoughts about the database and checked its cache. The
'default_cache_size' parameter is, by default, 2000. That's
fine, only I think that's why it ends up thrashing - the index pages and the
data they refer to have to be reloaded a lot. Sometimes it doesn't thrash
and that's probably when the pages are in disc cache in memory, rather than
in the database cache. So, the solution, I thought, was to increase the size
of the default cache size.
The database is held (here) as ~slimserver/.slimserversql.db,
so we start up sqlite3 with that database and enter
'pragma default_cache_size=20000;'. That is, 10 times as much
cache. A page is about 1.5K according to the SQLite documentation, so that's
around 30M. However, the increase in size of the slimserver process is only
around 9M. Previously it would have been using 3M (2000 pages), so that
means that the indices that I'm using take around 12M in memory. Apparently
for 27391 tracks, 2394 albums, 1176 artists. Since I've invariably got
around 200M free in the server, using an extra 9M on data that's cached
closer to where it's needed is a good thing. The disc doesn't seem to thrash
as much (in small tests) and runs a little faster. Of course, the entire
thing is now pretty much CPU-bound, blocking on the disc access much less.
I'll see how it goes and hopefully it'll be better off like this.
In particular, the lazy search for artists appears to be very fast now.
The lazy songs search is not as fast as artists, but I haven't used it
much before so don't have anything to compare to really.
Much sunshine today.
Crazy people on the roads.
Didn't die; that's good.
Mum was a little bemused this evening. I was staring intently at the screen
and noticed that she was watching me, and told her that I was using my
'program to crash things'. It's just because I need to test failure cases
aren't fatal, so I have a program that simulates all the possible failure
cases so that I can see what the results are and make sure that they're
actually what's meant to happen. But I can see how it's strange to have a
program whose sole purpose is to break.
That said, it's not actually its sole purpose. It was originally my
cross-platform ARM disassembler - from early work on the Pascal decompiler -
and it's been subverted because I needed something 'real' to stick the code
in so that I could see the failures in a more realistic program. So now it
disassembles about 32 words, then waits for me to press a key - the key
which determines how it's going to blow up.
Not all that interesting, but great fun. I actually enjoy some of these
sorts of debugging sessions. It feels like you're actually getting
somewhere, some of the time.
I've just noticed that if I pull the hairs in my eyebrow, they come out. So
I probably shouldn't do that.
A somewhat disturbed website that Chris pointed me at had a few little gems
on it - exploding
pigeons, and the more amusing than silly duck
translation. There's all sorts of disturbing and sad things on that
site, but 'something
broken' seems to sort of sum up the sadness that isn't about people
dying.
I was thinking earlier on my previous thoughts about how 'people that just
stick other people's stuff together aren't really developing software'.
I'm sort of getting this feeling that I'm wrong. Not about them, but about
me - maybe because I don't do that, I'm not developing software.
At least not in that sense. That is, it's not them that are the different
ones, but me.
Big fire in next door's garden today. I looked out of the kitchen window and
there's this big black column of smoke coming from 'somewhere'. I rushed
upstairs to check where it was, but it was only in the garden fortunately.
But my first thought on seeing it was the above lyric.
Watching
Doctor Who Confidential (2005, BBC Three)Documentary/Science-FictionSpecially filmed for BBC Three as a companion piece to Doctor Who, Doctor Who Confidential aims to give a taste of the excitement and the energy that surrounds the show. The programme includes behind-the-scenes filming and interviews with the cast, writers and production team as they bring our favourite Time Lord back to our screens. An abbreviated 15-minute version, concentrating on the production of the new series and without reference to the original show, is also broadcast on BBC Three as Doctor Who Confidential Cutdown.Doctor Who Confidential today, I noticed on one of the sheets
'Helen Rayner' and I was about to spin back to check but then her name
popped up on the screen properly - as 'Helen Raynor'.
More dreams today. Maybe it's the heat that does it. Last night was a
strange dream about having spilt red paint on a cream carpet and being
unable to get the stain out. And as if that wasn't strange enough, I went to
visit Simon Merton to see what he was up to these days, and ended up hanging
out in a back shed just off the high street where it was lovely and quiet and
we could just settle down comfortably and have a drink. It wasn't a shed,
but it had that sort of feel to it, whilst being a small bar at the same
time. Some of the things I remember vividly are that the door was a quite
strong green, and had a latch-handle on it (like a shed), that there was a
telly sitting up in the corner of the room, the bar was small and very
compact for a small place - you could only get maybe 15 people in there at a
push, and there were quite a few sofa chairs and 'sitting tables' (a sitting
table is just somewhere you're meant to sit, rather than to actually put
things on - don't ask me where I get that idea from, 'cos I really don't
think that any table is really designed to be sat on, even though they do).
And as we were chatting, Caroline and some of her friends came in and sat on
the other side of the room. Which, given its small size, meant that they
were only really a couple of metres away. That's about all I remember.
I've spent the entire day tracking down a bug which turned out to be a
'STMDA' which should have said 'STMDB'. I really
dislike that kind of thing. After you've spent ages tweaking all the things
you think can be wrong, the true cause of all your pain turns out
to not be in your code, not anywhere near your code and not your fault in
the slightest. Oh well.
Doctor Who (2005, BBC One)Action and Adventure/Science-FictionThe Doctor looks and seems human. He's handsome, witty, and could be mistaken for just another man in the street. But the Doctor is a Time Lord: a 900 year old alien with 2 hearts, part of a gifted civilization who mastered time travel. The Doctor saves planets for a living - more of a hobby actually, and he's very, very good at it. He's saved us from alien menaces and evil from before time began - but just who is he?Doctor Who tonight. I missed the post-opening titles, 'cos I was making
myself a cup of tea, so I didn't know what the episode was called, or who it
was written by. But I really enjoyed it; thought it was nicely placed and
lots of little fun things - in particular the Doctor's comments and the
appearance of a horse in the spaceship (oddly, I was thinking when I saw it
"nah, Douglas Adams can't have written this", and when Dad saw it he said
"Douglas Adams is dead, isn't he?"). It's only when I watched it a second
time (with Dad, 'cos we had tea - he didn't get in until after it finished)
that I saw that it was by Steven Moffat. It seems that I just like his
stuff, even when I don't know its him.
Last night was so very very hot. Took ages to get to sleep. But when I did,
I had a strange dream about being in a park where there was some kind of
fair going on. I was staying in a large tent. It was white and red. Part of
the fair had a huge crane thing and a number of fair-type things around its
base. Those are the kind of strange things that I remember. I was in a
hurry, I was going to meet Caroline and see how she was. She was working in
some cave, with machines all around the walls and lots of little people that
kept breaking. Whilst I was visiting her, though, I kept having to rush off
to see another Caroline who was somewhere else, in a white room with lots of
odd things dotted around the place. When I came back to the first Caroline
one time, she was in a meeting with 4 suits who she worked for, who were
telling her they'd have to let her go. And I remember feeling quite helpless.
I was pacing the shower this morning, as I do, and I actually realised what
the dream was. It makes a bit of a change, because usually I'm not all that
hot on spotting the meanings - which, to be fair, I don't think there are
in many of my dreams, or I'd be looking to hijack a submarine by now.
Anyhow, that amused me this morning. In a 'oh dear' kind of way.
I feel (quite justifiably, I think) quite pleased with myself today. I
needed to sort a table of entries that was being assembled with ObjAsm,
despite the fact that the entries are being given in a random order. So I
managed to write a few macros that take all the values and write them out in
a table sorted correctly. I'm quite pleased that it worked.
Glancing at the lyrics tonight I noticed that the words aren't what I
thought. I had thought that it was '... that's cotton, as far as you can
tell', cotton being a second wedding anniversary. It fits better with the
track being Cartier, though.
A few nights ago I had a very strange dream about stealing a submarine. One
of the fun things about it was that if you're sitting in a boat, raft or
other small craft, right beside it, you can't see it. I realise that that is
kind of the point, but it was still fun. I was drifting away and not
realising. For some reason at the end of the dream we ended up at a secret
naval base with the submarine - I think we were hoping to sneak in and get
supplies. Only there were a whole lot of soldier people waiting there with
big guns. In a half-hearted attempt to escape, some of us ran to one of the
experimental weapons - complete with 'experimental' signs, flashing lights
and other high tech things around it. We threatened to use it and the
General who was there told us to go ahead. It turned out it was a special
kind of drinks despenser. So we didn't really do so well. There was also a
section in the middle about going to an island to see some friends and
running aground, but I don't remember that so well. That's two quite vivid
dreams about submarines in the space of a year. I'm pretty sure I'm not all
that bothered about them, but... well, it's strange.
I was going to go to bed early tonight; but it's now 3am. Bother.
Sometimes you get a nagging feeling that you should understand
something and even though you've put the thought in, you've got nowhere.
That's how I felt this evening listening to Semisonic 'Gone To The Movies'.
I don't know why, but it sort of nags at me. Oh well.
I had emmense fun today trying to work out why a simple section of code was
telling me that 19963 was after 2000000. The reason, I discovered
eventually, was that I'd forgotten that I was counting down, not up. I felt
a little silly. Oh well.
Someone mentioned today that in the early hours of the morning it will be
"01:02:03 04/05/06". Whilst I've not got any clocks that actually display
the time in that format, it's still quite cute. I don't think I will be
staying up for it, though, 'cos I'm trying quite hard to get to be normal
with my sleep patterns. After being kept up until 2am last night with
someone on the phone, and then doing another couple of hours of stuff
because "I might as well, 'cos it's so late", it would be a good idea to try
to get to be more normal again.
Always get a nice feeling off that track. It's really quite nice.
I got a nice little email from Dan Sully at Slim Devices to tell me that
he'd put through my changes for the ID3v2.4 updates to MP3::Info.pm in their
subversion server, so it'd have been in the last night's builds. Oooh.
Scary. If there's problems with it I will bet that I'll see them on the
forums . I think my code's fine with the exception of known and
documented limitations.
It's been so hot in here today. I really don't like that. Makes it hard to
concentrate. The water thermometer thing says it's something hotter than 24
degrees, which for this room is pretty bad.
I got a postcard from Farren today, too - which was quite a surprise. I
saw the card and thought "oh, mum and dad sent one whilst they were in
Turkey and it's only just got here", but no, it was from Farren. She'd
only said that she was going away - not where she was going . So it
was lovely to get a card off her .
Listening to friends complaining about the way that their corporate wiki was
being abused, I came up with the cunning idea to have a wiki that allowed
you to write code. It's really not all that novel, but it is kinda cute in
its own little sad way. You type your code into the edit box and save it.
When you view the code, anything that's in a comment (all this is for C
code) is formatted wiki style, everything else is regular text formatting.
The '#include' lines are interpreted and the referenced files
will be linked to. Instead of just an Edit button at the bottom, we've got a
'Compile' button, and - if the compile phase has already been performed - a
'Download' button. When you compile the code you get a list of all the
warnings that the compiler output. I thought about doing the Compile phase
implicitly after an edit, but it's a bit wasteful if you're just editing one
or two things.
It's not very advanced really, and there are loads of ways that it could be
updated. Some of the simple ones that would be useful to add would be...
- allow users to split up projects so that you didn't have to work in the
same file namespace all the time.
- allow each project to have a set of associated source files - a
makefile if you will - so that multi-file sets can be build.
- automatically process with ctags and produce highlighting and/or
searching capabilities from it.
- add anchors for each line in the text and allow the compiler output to
link to the source.
- support other filetypes, so assembler and CMHG files can be built as well
- support different build options (to go with CMHG and the makefile idea)
so that different APCS options, or defines can be specified.
- add in some history so that if you delete your masterpiece you can get it
back
.
- integrate with CVS (which would do the history thing, I suppose) so that
all changes can be recorded when users are happy with them.
- split into multiple frames, so that the user can have their
compiler/throwback window separate from their editor/viewer.
... and so on and so forth. It's a pretty simple idea really. Hardly takes
any sort of work to get right - took me about an hour and a bit to get the
initial implementation working. It's just a neat little odd thing. Haven't
done one of them in ages.
The thought occurred to me today... Do plants have antibodies ? What I
mean is that we - people that is - have antibodies that fight off disease,
and they're made by cells in our blood which are carried to where they're
needed. That's fine, but plants are different to us, and for a start they
don't have blood or a circulatory system like we do to distribute such
cells to the source of an attack - unless you count the sap that the tree
uses to nourish its higher levels; does that provide the same purpose ? If
a fungus attacks a tree, what stops it from consuming the tree as a whole
? Is there something that the tree produces that performs the same job as
we do to fight off an infection like that ?
It might seem a little bit of a dim question, but I don't know the answer.
|
Disclaimer: By submitting comments through this form you are implicitly agreeing to allow its reproduction in the diary. I say this not because I'm going to ruthlessly attack comments in the diary, but just so that nobody can say "Well, I didn't say you could quote me on that".