A lot did happen this month, but not much of it is in the Diary.
There was Wakefield, seeing the release of the SVG converter that I started
this month. There were many trips to Cambridge, there was much testing of
Oregano. Various other bits, including stuff about Vanessa and Dave. At the
beginning of the month there are also a few entries that were delayed
because I never got them entered up from the Psion.
31
May 2000 Wednesday
Replying to Jennifer has taken a long time tonight, so no time for a long
diary entry. Went to Cambridge. Looked at Estate Agents. Went for tea with
Julia and Peter. Came home. Tired. Night.
Oh, bought two CDs - Carly Simon 'Coming around again' and Chris de Burgh
'Man on the Line' - which I've been meaning to get for ages and found whilst
in Cambridge.
30
May 2000 Tuesday
Amusing day today; looking for houses and such like. Um... Implemented 16bpp
translucent horizontal line fill, and I've just finished a 8bpp
version of it (though it looks awful). It also crashes every other time I
run the module. Which is kind weird. I'll sort that out some other time.
I've also optimised the 32bpp plotter so that it's a little more efficient.
It's quite confusing now, but it does make some sense. Honest.
Big Hello to Jennifer in California who sent me a lovely email about the
diary and I'll drop a line to tomorrow if I can. I'm going to bed early
tonight, because it's 'hunt for house' time tomorrow and that's generally
quite stressful .
Whenever you feel on top and happy, and generally content with
life... Don't panic. Just read some usenet.
[ Comment on oaktree; Zappo ]
Some people have their own dentist. Some people have their own psychologist.
I've got my own (personal?) Love Guru's. If you don't know what a Love Guru
is, then you probably need one. I've got two - I know, it's greedy, but
there you go. Alice and Sherry... They're strange; they're Californian, and
they're in their first year of University over there... I know, it's
strange, but they seem to like the idea . As you might have guessed,
I got an email from them today .
29
May 2000 Monday
One of the other strange things to crop up yesterday whilst talking to
Vanessa and Dave was the topic of Andrew Clover. Strange, because Vanessa
couldn't quite believe that I'd know the same Andrew Clover that
she was talking about. Certainly I believe him to be the same person.
Curious, though that someone who I know (if only by email) should be known
to Vanessa in a completely different context. It just goes to prove the
belief that there only a couple of hundred people in the world and you just
meet them over and over again.
SVG shouldn't leave lots of copies of itself lying around when the browser
goes bang now.
28
May 2000 Sunday
Someone has released a Napster MP3 client for RISC OS. I strongly disprove
of it. Napster is basically organised crime against the music industry and
is very different from keeping a personal music collection.
I've had a load of mails from Dave Upstairs about the problems with 'large'
SVG files. I've hopefully fixed that now, but I'm still concerned by the
size of the processed files involved when producing the files. At present it
takes 13Mb to process the Moscow map, which is a little more than it ought.
On the other hand, processing is only about four times slower than the Adobe
plugin on my PC, which is reasonable, given the relative speeds of the
machines and the fact that ConvertSVG is produced by one person and not by a
large team . They do have a minor advantage that they support
animation, filters, scripting and such like, though...
Right; in theory that's reduced the overheads on the drawfile generation by
36 bytes per element, which should reduce the size of objects
produced. In theory they should be a little quicker to process too because
large blocks aren't being copied around. On the other hand, there's another
level of indirection which is a bad thing speed-wise. Certainly if the
Moscow map takes 13Mb it's important to reduce the processing costs for the
drawfile. Given that the static space required for that map is about 3.2Mb,
it's reasonable that the space used be quite large. Hmm... I've just noticed
that I retain the input buffer after parsing. That's not necessary; so
that's 1.6Mb saved on processing the file. I could probably save more by
querying the XML parser to see how much of the buffer was used and
reallocing space dependant on that; that might reduce the space usage quite
a bit.
With that change I've managed to reduce the application slot required by...
absolutely nothing... That seems a little wrong to me... However, it could
just be a limitation of the malloc function that I've not crossed a
threshold to make that worthwhile. Hopefully, removing the input buffer
should make some difference to the memory required, though. Yup. That's
reduced it to 10Mb, which is quite a bit better...
SVG note for relative bezier curves; each element of the curve is relative to
the last point, NOT to the previous point (ie the coords are:
start (lx,ly)
control 1 (lx+x0,lx+y0)
control 2 (lx+x1,ly+y1)
end (lx+x2,ly+y2)
and NOT :
start (lx,ly)
control 1 (lx+x0,lx+y0)
control 2 (lx+x0+x1,ly+y0+y1)
end (lx+x0+x1+x2,ly+y0+y1+y2)
which I thought might be causing me problems (but isn't because I got it
right first time). Certainly the latter form is more sensible (but takes a
few extra instructions to process ). Actually, re-reading the
definition of the 'c' curveto command it is relatively clear that the former
is the case. Certainly it seems a little bizarre, but I'm not going to worry.
Ah; the reason that some of the drawfiles are coming out as rubbish is... the
polyline parser is complete cack. Well, maybe not 'complete' cack, but it
doesn't actually parse valid points, partly because it was the first element
to be processed (lion.svg uses it!) and partly because I've really not seen
polyline used very much. It's a bug on the draw library I'm using really.
Apparently Paul F Johnson is reviewing SVG, so I can imagine it'll be slated
a little. Oh well. At least I'm aware of its limitations (and to a greater
or lesser extent, these are detailed in the files enclosed) and I
am continuing development of it...
Oh, I did get up to watch TV on Saturday morning, by the way. Yeah; I was up
from about 9:30 watching telly until 12:30 which is really quite draining. I
don't like mornings at weekends. Needless to say, I didn't see Helen. But
there you go. It's entirely possible that I missed something when I went to
put washing on, or whilst getting breakfast, but that's my luck... Oh
well...
I was at Vanessa's last night. We ended up watching Photographing Fairies,
which was ... strange and fun... Unfortunately, because Dave had rung at 4am
that morning and she'd been slightly (!) stressed, she was quite tired
and fell asleep - awww! And then Dave rang at about 2:30am, too so we got
woken up then. And then talked for about an hour and a half about him and
other things. It's quite strange; he can be such an insensitive prat at
times, but he's very sweet with it. A little self absorbed, but full of
energy... Anyhow, it's none of my business; it does feel a bit awkward at
times with them two... Oh well.
Anyhow, we got back to home at about 5-ish and I promptly fell asleep until
about 11pm when Julian rang. And, as you've seen, I've been doing SVG things
until now (oh, except I watched Top Secret and rang Angela) and it's now
3am. I'm quite tired and it's freezing in here. I've decided that I've got
to put the electric blanket on the bed. Unfortunately it means taking the
undersheet off and sticking the blanket under there. And the fact that
that's a lot of effort is why it's not been done until now. But I'm really
cold, so I think I'd better.
They have exams at York tomorrow! What's that about ? I mean, come on! It's
a bank holiday! Oh well, that's life I suppose... Angela has one, and Julian
does too... It's the first of Angela's four final exams, so it's getting
close to leaving...
Whilst at the uni today - we went to the uni to see David - it was quite
strange; I kinda miss the uni life, and the people. There's something a
little more dynamic there. Possibly it's the way that people are more
absorbed in thinking that the Uni is the most important thing in the world.
I've kinda lost that. There's nothing 'important' to me at the moment.
Except to be warm. And to sleep. But I'm not really thinking about anything
to the point of 'Oh, I've got to do that tomorrow'. At least,
nothing that's of any note.
Oh, I nearly got the interrogated by Dave over what I'm doing at the moment
for the company. Which was hard, because I can't tell him anything about
what's happening at the moment. Strange thing is that Vanessa knows, because
she's not involved and so it doesn't matter so much. I trust her. I dunno.
I've only met her, like three times and I'm trusting her with things about
the my work that I won't tell someone I've known for ages. It's not that I
don't trust Dave, it's just... well, he's still 'in' that RISC OS community,
and it's not wise to discuss things that have a direct line back there...
Still, it was quite amusing, and I was trying not to laugh at his comments.
It was quite hard . Oh, got to see some of the graphics on the game
thing he's working on with VOTI. Not sure I'm impressed. I mean, it's
pretty. But when it comes down to it, it's just a lot of rotating cubes.
Maybe I've been spoilt by playing Half Life/Homeworld, but even Doom looks
more impressive to me. Ok, so I'm biased, but there you go.
On the Half Life front, I've been trying out a few of the other deathmatch
levels to see what they are like. It's actually quite hard to choose maps
when you don't know what they're going to be like (well, obviously!). But
even still, it's still useful to try them and find out how they work and
whether they are just going to be nasty, or whether you can actually work
with them. The main things to look for are wide spaces if you like the
rocket launcher, hidden holes that you can pop out of and use the machine gun
on, not too many long winding passage ways (because being chased down those
is just annoying), a couple of high points with possibly a few slightly
lower that are quite well protected from being seen for sniping from, a
number of quite accessible mines which aren't all in one place, and any
fixed equipment that might be handy. The fixed equipment is important -
things like the fixed machine guns aren't generally all that useful because
they're just 'too' fixed, difficult to aim and exposed. Fixed rocket
launchers are more fun, particularly if they're controlled from some other
part of the map. Air raid attacks are sometimes useful, although they do
tend to be a bit random. The rising water effect is useful to trap people,
and the gas chambers are a variant of that - coupled with mines, they can be
quite useful. The large air-raid where you have to reach a bunker once
activated works quite well, too. I don't like crushing ceilings and the
like. Similarly, I don't like multi-part puzzles for network games. Those
bits where you have to open a door, press a button, walk a gang way or some
such to trigger another event are just annoying because you're very exposed.
Similarly, the bits where you have to have the power assisted jump
thingy to get the heavy duty weapons can be annoying. Well, that said, there
are a number of clever uses of that, so it's not that bad.
Anyhow, it's now 3:30am and I'm getting colder. Time for that blanket thingy.
26
May 2000 Friday
Mail from Vanessa today; she's getting stressed at Dave again... Dave seems
to me to be far to self absorbed to see what he's doing to her. I think it's
quite sad, but I can't do anything... Actually I snapped at him on the phone
a few nights ago because he rang at 1am. Maybe I shouldn't have, but I was
tired and fed up...
Tomorrow, 9:30am... I've set the video in case I don't get up... If nothing
else, I'll have it on tape . Yeah, I know I was quite 'I'm not going
to be all that bothered by it' about the thing, but even still... Yeah,
yeah, I know, it's all a bit sad, but there you go...
I seem to have this problem of running out stock lines when I'm too tired to
think of a sentance ending. Oh dear.
Ok... It's 4am and I've got translucent horizontal line draw working in 32bpp
modes. There's a few glitches, but it seems ok for the most part. It's not
fast, though
25
May 2000 Thursday
Saturday, 9:30am or thereabouts, ITV (that's UK for anyone reading this in
foreign parts)... Helen is apparently likely to be on Telly... Gawd only
knows why, but watch it if you can... I'll try to be up at that time...
Meeting in Cambridge went 'ok' today, I guess... Got to go to 'The
Wrestlers' for Lunch with Gary, Andrew, and Kevin which was quite fun...
What else ? Oh nothing else, really...
Believe of me,
What you will,
There is a duty that I'm sworn to do;
You know of nothing my life...
[ Confrontation, from Les Miserable ]
I'm thinking of renaming the diary from 'Justin's Diary' (a dull name if
there ever was one!) to 'Musical ramblings' or something similar...
Certainly it would fit the flavour of things recently...
Then, a murmur of voices, like the distant rising of the sea, began to chant
the name of one man.
"Salutant! Salutant! Spartacus!"
Next came Iynemus, victor of many fights, who was armed with sword and
shield and known to be quick and dangerous,
But the crowd, their voices rising and falling like the relentless crashing
of surf chanted only the Thracian's name.
"Salutant! Spartacus!"
[ Animal & Man, from Jeff Wayne's musical rendition of Spartacus ]
Nothing else done today; replied to a little email, read some webpages,
talked to some people (once we'd got home), and went out for a meal with
Dave and Matthew. Fun .
24
May 2000 Wednesday
Don't lie to me;
Now, more than ever;
Don't leave with this alone;
Were you ever gonna share with anyone ?
I stand alone,
And I remember,
That the last thing you said to the world,
was So The Music Stops.
And is there fear in that heart of yours;
Do you believe the promises they made ?
And are there doubts,
Or second thoughts,
As you march towards the light,
With your eyes still open...
[ So The Music Stops, from Through The Looking Glass, by
Shadowland ]
A nice piano track from the end of Through The Looking Glass, which seems
apt to me at the moment. I know, I'm a sucker for pianoy bits, but it's
still a lovely track. It may not seem so lovely in the future, but taken
as it stands, it's still nice.
Amusing thing to try on a Mico - in a Taskwindow, type :
*BASIC
SYS "OS_EnterOS"
and then try to turn the power off at the switch.
Drawfile to SVG converter started today. It seems to be far enough along
that it can parse my 'Cheque' drawfile. Albeit, producing an upside down
copy (as you might expect for the early versions). Because the SVG to
Drawfile converter is much more complex, it doesn't - as yet - fully
understand the files that the Drawfile to SVG converter generates.
The present output looks like this :
Of course, you'll have to have the SVG viewer for that to be
rendered. Or at least a browser able to handle SVGs.
I believe that the current recommendation is to use image/svg-xml,
but I'm not sure at present... I'll look into it later.
I'm in Cambridge tomorrow, anyhow, so that'll be fun...
Email from Alistair tonight, too... He sounds well - I should have rung him
ages ago . Sorry, Alistair!
23
May 2000 Tuesday
Nothing much today; chatted to Vanessa for ages on the phone. Replied to no
email . Sent Robin fixed Plugin files...
22
May 2000 Monday
SVG's can have embedded chunks of differently coloured text within a
text line. Drawfile's can't do that. Well. Yet. But they can't nonetheless.
Actually, I can't change the file format to take account of that because it
isn't backwards compatible...
I've moved all the SVG elements into their own little files now. Mostly,
this is because when they all live in convertsvg.c it becomes difficult to
see who relies on who and what will need changing when you update bits of
the code.
Lovely news posting in CSA.Programmer today, subject "Do Not Read ! 9459".
Well. I didn't read it. I love this spam thing.
21
May 2000 Sunday
Well, that's the shows over. Some rather amusing things at the show. I think
I told Keith that I'd have to kill him, but I was busy at the time, so
couldn't. Anyhow, I had more on my mind than worrying about little things
like that. Got to play with a ViewFinder too. I'm buggered if I can work out
how to read the base of screen memory on it. I think it should be one of the
GetInformation calls, but I'm not sure which and the values I get out don't
seem to help. Or I can't write to them in User mode.
What else? Oh, went out with Robin on Saturday for another italian (we'd
been to Pizza Hut on Friday [we got split up then, but on Saturday we were
all together - all twenty of us ]). Paul, you see (this is Robin's
Paul, by the way) likes Pizza. Actually we went to Pizza Hut tonight too, so
I guess we're a bit pizza-fanatical too. Anyhow, we went Bowling after that
which was fun; I don't think I've played since we were at Center Parcs
Sherwood Forest, and that was... oh, god only knows how long ago that was,
but it was a while ago... In any case, I was pleasantly surprised to win the
first game with 141 points. Which was quite cool. And then the second game,
I would like to say that I just had to lose, but actually I didn't. I lost,
but it was because I was playing craply, rather than because of any
deference to not show people up. See, I'm rubbish really. I put it down to
beginners luck. Well, something like that anyhow.
As Robin had most of the ArmClub, WSS and Chris in the back of his van, we
thought that it's possible that it could be a case of software engineer
rustling. It's a serious problem. They lie in wait outside the places
frequented by such people and pounce when the engineers are least expecting
it, drag them off in a van to a dimly lit office and force them to work
ridiculous hours. Prolonged exposure to this sort of treatment results in
their inability to walk or to stand in bright sunlight. Robin, on the other
hand, suggested that it was the software crisis rapid response team, that
would rush to the scene of an emergency and leap into action. You take your
pick. I'm going for option C - that they just wanted to go bowling and it
was more efficient.
Gary Stephenson came to the show too. Which I was amazingly surprised at. I was kinda showing off the SVG stuff to someone and they were just leaving when a
voice behind me says "What's this then?", and I'm just about to start
explaining as Gary sits down beside me... Shocked ? I nearly jumped out of
my skin . Anyhow, we had a quick chat. Couldn't really talk for long
because of the number of people around and the topics we really wanted to
talk about weren't really for public ears. Oddly.
Um. What else ? Oh, Dave Walker was there too. Which was nice, along with a
few other people - I mean people from Egham and IRC. Some of whom were just
annoying, and some of whom were great to speak to. Certainly the Oregan
posse were great fun. To be honest, I think they were quite pleased to see
something that they had done out on public display (well, a non-NC display
anyhow).
I took Helen and Lucy to the show too (my home harddiscs) because I wanted to
have some music there to listen to, and I could play with the SVG stuff if
it was completely broken. Robin said he thought they'd sold eight on the
Saturday, which is rather neat. Unfortunately there's a few things that are
broken about the viewer. One is that it doesn't delete its temporary files -
which appears to be because I removed the code whilst testing Oregano - and
the other is that the aspect ratio it tries to give things is inverted.
Which was foolish . I've fixed the temporary file problem, but the
aspect ratio thing could take me a little while whilst I recover from the
show.
Right, that's that done.
What else happened over the weekend ? Nothing much. Well, nothing much I can
talk about, anyhow.
I got a couple of interesting emails recently, including those from Gary,
Alistair, Vanessa (whose name I'll spell correctly this time!) and... a
'blubbering idiot' and a 'yellow banana'. Which is really weird. Alice and
Sherry - whoever you are - thanks for your email; I'll get back to you
soon... at least once I've become less comatose from the show anyhow.
Really, I'll get back to you all, but it's 1am now and I need some sleep. At
some point anyhow.
I'm just reading the news from over the weekend. Nothing special on usenet.
At least not that I can see.
Oh, one other thing I've just remembered. 'Somewhere' reported that we'd have
a number of printers to demonstrate at the show. I don't know where, but I
got lots of people coming up to us asking for demos of printers and stuff. I
know nothing about Printers and we had only one there. Where do these people
(the people that reported that ROL was doing that) get their information ?
On re-reading parts of the CSS2 specification I see that I've got to change
the API on StyleManager a bit. Unfortunately, the present implementation
doesn't support user/author style sheets and is a purely CSS1-like cascade.
That is, we don't support !important. Which we should for CSS1 compliance
anyhow. Bother.
19
May 2000 Friday
+++ N has disconnected! (oops. gone bust.)
[ boo.com; N (Nick Clark); Egham Hills ]
18
May 2000 Thursday
Yay! Finished the SVG plugin and distribution. Hopefully it all works. I'll be
continuing with the decoder anyhow, because it's really fun anyhow .
I have an automatic un-spam-trapper that removes all spamtrapped news
postings and attempts to generate valid email addresses. It works about 90%
of the time. However, some news postings from people generate amusing
comments. Todays was :
[This post was apparently spam-trapped (wookey@godIhatespam.aleph1.co.uk); converted to :
wookey@godIhate.aleph1.co.uk ]
17
May 2000 Wednesday
Angela rang today and we chatted for over an hour. But I'm too tired to say
anything else. SVG stuff does plugin things now. Wow. Oh, and it can save.
And has a neat icon.
16
May 2000 Tuesday
Went to see Gladiator today with Robin and Helen. It was rather good
. Yes, I was actually very pleased with it - a film worth seeing - I
expected it to be only mediocre, but it was quite fun, with a story and
action too. I didn't like the camera skipping frames though - a kind of
strobe-like effect during the action. That just gave me a headache and made
me think of 70s films for some reason...
SVGs now have transforms applied by each element (which is not great - it'd
be better to cascade them, like styles, but I don't want to be collating
matrices - that's unfun). CLI interface is improved. Well, it has one. And I
no longer have to flip objects and scale them up. I can do the scale from the
CLI, and the flip is just a case of a final transformation. Oh, we've got
error checking too. And debug is now optional, rather than being forced
which it was previously. I don't expect that Debug is useful to anyone but
me, but it's still quite handy. Next, write the plugin. Hmm.
Left my window open tonight, so it's freezing in here ! .
15
May 2000 Monday
Simon didn't pass his driving test - bad luck Simon!
What's happened to SVG stuff today ? Well, I've got a lot further than
before, even though every twenty minutes I come across something that makes
me cringe and wonder if I'll every manage to do anything with it. The SVG
specification is evil. Evil, I tell you!
However, I've got transforms that are starting to work now, along with paths.
Transforms still need re-working because they're very fixed on being for
path-like elements only.
I've written up quite a bit in notes about the progress. There's a long way
to go really! Oh, and SVG has moved - it no longer lives straddled between
the xdoomtools sub-category of DIYDoom (it's based on code used in DoomPS)
and the netscape JavaScript source, but actual gains its own directory in the
C directory - wow .
WebColours, my CSS2/HTML4 colour parsing module is now just about finished.
CSS2 colour parsing is unfun. I began to wonder if it might not have been
easier to just take the lex definition and just build something from that,
but... well, I don't know lex that well and I've not got time to learn.
The principles of convertsvg are very simple. Really, quite simple. So
simple. I'm stalling whilst I remember them. Yes. We have one program which is
the constructor. That can is a simple CLI application which is called
ConvertSVG. ConvertSVG is given a file to process. It gets the ParseXML
module to read the SVG file and construct a broken down form of the data.
This is then recursed through by ConvertSVG, with the help of ParseXML.
Initially you start with a single, simple style which has no properties.
Styles are managed by the StyleManager module. This maintains the styles'
properties and values. Styles are defined as CSS2-like property definitions.
For each entity of the SVG you copy the style, apply any modifications which
are given for that entity and pass it on to its children. When a
construction point is reached (eg a line) the style is examined and any
relevant styles obeyed. One particular class of styles which must be obeyed
are the colour class. These use WebColours module to convert the colour names
given from CSS2 into palette entries. These are then applied to the
constructed object. Once the recursion is finished we have a hierarchial
drawfile structure in memory. We then serialise it and write it out to a
file. Dead easy. Oh yes.
Previous versions of ConvertSVG did the job of StyleManager and WebColour
themselves for some very specific cases. Plus, the style management was
applied after the event on groups only, so it would fail on anything more
complex. The new version, that I'm working up to (being the above plan)
should remove this deficiency.
I hope.
Oh, the other good one to watch out for is the problem of flow anomalies
(that's -fa in Norcroft C) which - if you're not careful - can
lead you to believe that you've found a compiler bug .
Oooh! It actually works! I mean, it... um... works! It recurses down,
passing the styles to each child as it goes, building up a fully cascaded
set of styles. Pleased with myself, I am. Sleeping, I will now go.
One thing I've decided is that whilst the public is misguided 99% of the
time, and lives on rumours, issuing public statements on what's actually
going on it only prone to generating more rumours as people invent things
that are between the lines, and when there aren't any lines to go between.
And sometimes there are lines to read between and they completely miss them.
People, they're stupid.
I've had a chance to listen to a little bit of music today in between
watching telly and stuff... I've managed 6½ Marillion albums today, which is
more than usual. And I watched most of The Net too.
13
May 2000 Saturday
Continuing the Scan saga... It turns out that the money that came out of the
account and appeared to be for the computer again was actually for the DVD
and other things. It just came to the same amount and was charged a month
late. Quite why it's a month late, I've no idea... but there you
go...
Vanessa and David over tonight; which was quite nice. She cooked some
gorgeous Lasagne and did us a chocolate mouse too. It's like rather cool
really. We ended up watching Toy Story 2 which Vanessa had brought along,
and then A Bugs Life which David hadn't seen. Oh, and Vanessa corrected my
spelling of her name, which I'd got wrong - sorry!
Intended to do the things with the colour manager for CSS, but didn't get
around to it before they arrived. Oh well.
An email in my box today started "Look, we don't want to waste your time...
or ours" and so I said thanks, and deleted it... Spam. It's great.
12
May 2000 Friday
Ok, that's the style manager completed. It needs nasty things like an API
around it, but it's done anyhow... It conforms 'nearly' to CSS2 style
property parsing standard at present. There's a lot of messing about that
goes on because of the escaping and the syntax that CSS2 imposes on the
manager. Whilst the syntax is reasonably sane, it's still quite a git to
parse. Don't use comments except at the end of associations because it
doesn't know about them yet . Adding comment parsing isn't hard; it's
basically anywhere that a space can occur a comment can occur, but it's
still not nice. Malformed styles will silently abort. Part of the niceness
about styles is that they are intended to gracefully degrade, which is
useful in this instance. The other thing that I've done is a form of copy
caching which should speed up the copy instance - I hope. I think I can
speed that a little more too, but I'm not going to do that as it means
restructuring parts of the add and change routines which are reasonably
standardised.
... and, it's now 3am and the module works. Well, it does 90% of the things
I need of it, anyhow. The next job is to integrate that into the SVG parsing
code. That should be trivial, but I've got Vanessa and David coming
tomorrow, so I might not get much code written... Depends really...
ViewFinder from John Kortink; it looks quite cool.
Oh, I'll do more piccies of developments when I've actually got something to
show. Remember that the SVG converter as-was is only capable of decoding
that particular subset of SVG.
11
May 2000 Thursday
You may remember some time back that I was saying how we got stuff from Scan
and how I found that their webmaster was particularly unhelpful in updating
the pages to have the colours correct and how later I bought a PC from them
and Matthew bought a processor from them. If you don't remember, you know now.
Well, the processor didn't work when it arrived (remember, of course, that
they had first got the address wrong and sent it to Stratford, London -
they've managed to get it right in the past!) so Matthew got that replaced.
Eventually. They hung on to it for five working days whilst they 'tested'
it. And he got the carriage refunded at the same time because things hadn't
arrived by the next day as they had promised.
I want to stress here that Matthew bought this lot on his card because...
well, I have a fear of using electronic money . It turns out that Scan
have, instead of refunding the carriage, charged him again for the total
cost of the machine. Which is very, very, very slightly annoying. So, bare
this in mind. Scan may do reasonably decent offers, but their support is
awful and you run the risk of being charged multiple times for things if you
have a problem.
No diary recently 'cos I'm on holiday and trying to rest and do other things
rather than the normal stuff.
Helen rang this morning at about 10-ish (I was still asleep at the time)
and was very upset about the Parents evening the prior night. If she's
having problems then I think it would be nice if I could help. I can't, but
it'd be nice. Ah well.
Spoke to Vanessa and Dave for a little while last night about various things
not at all computer related (which is good!) and stuff. They should be
coming down over the weekend some time and (shock of shocks) Vanessa wants
to cook for us. Matthew should be back by then, which will be nice. I think.
He's at home at the moment, doing more of this holiday thing.
Spent nearly two hours on the phone to Vanessa tonight, chatting about Dave
and life in general. She's really nice and it's sad that she and Dave split
up.
Amusingly, the Washington Post wrote in an article that Microsoft
technologists had invented XML. Later, they printed a correction for the
error. It's amusing that such things are quite expected nowadays though.
8
May 2000 Monday
Did an interesting thing last night whilst Matthew and David were
playing Half Life. Well, it took about an hour. I added the colour handling
this morning in about twenty minutes. Damn, I'm good.
If you don't know what's so nice about the lion, pop over to the
Mozilla site.
comma (,) isn't a valid character in an XML attribute name. Not interesting,
but it's true.
6
May 2000 Saturday
Coincidence ?
Or something more sinister ?
[ Coincidence ? ]
5
May 2000 Friday
What a fun day today was at the AGM. I seemed to end up taking notes. Which
was very fun, given that I ended up with the most massive of headaches you
can imagine .
4
May 2000 Thursday
What's today been like ? Well, we got up late for various reasons, one of
which was that the power went off... Unfortunate, but there you go. Need more
sleep anyhow; I'll try to do more of the sleep thing over the weekend. AGM
tomorrow. Which should be fun. Oh yes.
I got the UPS to talk to my machine at work today, which was kinda neat.
Admittedly, it wasn't that impressive to unplug the power and watch the
machine shut down, but it's better than a kick in the teeth.
Last month, whilst bored, I knocked up a little chunk of pseudo-code for a
laugh. It's been done many times before, but this one is mine. Mine. All
mine. Mu-ha-ha. It's not in any particular language, and has no particular
mapping of functions so don't try to parse it, please !
/* World initialisation - refer to functional specification for
project Genesis 1:1-2:2 for details of the features */
God::main(void)
{
entity world = new entity;
entity sky;
#define heaven sky /* renamed for ease */
entity land;
entity sea;
entity plants;
entity fruit;
entity herbs;
entity fish;
entity birds;
#define fowl birds /* more renaming */
entity man;
entity man_male;
entity man_female;
/* Initialise the states */
earth->state = void;
earth->light = false;
earth->age = 1;
/* Begin setup */
earth->light = true; /* Good */
earth->map_lightlevel(Day, true); /* Should divide them */
earth->map_lightlevel(Night, false);
/* Debug to indicate how far we are through initialisation */
earth->age++;
/* Create a 'Heaven' part of the earth */
heaven = earth->split(Heaven);
/* More debug */
earth->age++;
/* Create some land */
land = earth->split(Land);
sea = earth->split(Sea); /* Good */
/* Populate - land */
plants = land->add(Plants);
herbs = plants->split(Herbs);
fruit = plants->split(Fruit);
plants->setCycle(herb,seed);
plants->setCycle(seed,herb);
plants->setCycle(fruit,seed);
plants->setCycle(seed,fruit); /* Good */
/* Check that that was ok */
earth->age++;
/* Time needs organising */
earth->divideTime(Days,365);
earth->divideTime(Seasons,4);
earth->divideTime(Hours,24);
/* Give us some source for that light so that it's not just magic */
earth->split(Stars);
earth->split(Sun);
earth->split(Moon); /* Good */
/* Check the time */
earth->age++;
/* Populate - seas */
fish = sea->add(Fish);
fowl = heaven->add(Fowl);
/* Do some classification here */
fish->classify(Whales); /* Good */
/* FIXME: Add more classifications of fish and fowl */
/* Ensure that these are parts of our class */
bless(fish);
bless(fowl);
/* Make them start regenerating */
fish->do_fork();
fowl->do_fork(); /* spawn child processes */
/* Mark our position */
earth->age++;
/* Populate - animals */
beasts = earth->add(Beasts);
/* More classification here */
beasts->classify(Cattle); /* Good */
/* FIXME: And remember to classify these */
/* Create our main AI process */
man = new typeof(this); /* Create like ourself */
man->rule(fish);
man->rule(fowl);
man->rule(beasts);
/* Divide into two competing types */
man_male=man->split(Male);
man_female=man->split(Female);
/* This could be optimised before the split, but it's clearer like this */
bless(man_male);
bless(man_female);
/* Make them start regenerating */
man->do_fork(); /* run processes */
/* Set up the consumption dependencies */
man->consumes(herbs);
man->consumes(fruit);
beasts->consumes(herbs);
fowl->consumes(herbs);
/* FIXME: Add fish */
/* Looking good so far, I think */
earth->age++;
/* Think we're done now, all is left is to sleep... */
sleep();
}
Buffy today; it was so cute to have Willow trying to keep Oz calm at the
beginning by reading to him. However, Buffy's gone just a little psycho by
taking to chaining up people that she once loved... Ok, so that's an
exaggeration, but still...
Oh, the ILOVEYOU virus seems to have made its mark today. One source claimed
that it 'brought London companies to a standstill'. Whilst I'm not sure
that's the case, it certainly stopped everyone working at all the companies
where people on the Talker I use were - mostly because they spent time
discussing it . It's obviously not going to affect RISC OS in its
present form. However - and this one made me laugh - apparently Essex Uni
was out of action all of today because of it. No comments.
3
May 2000 Wednesday
Ok, I can't work out the file format for Psion 5 'Jotter' files, so I'm just
going to copy the data out as it is and hope it's readable...
Note from Chocky about spelling in the diary today; Oh, Julia's back in the
states at the moment... at least, until Wakefield anyhow .
Findings for Psion Jotter files :
They're &10000050 type files, so they follow the standard structure for
those.
Bulk data is immediately followed by a section index, for jumping to each
of the blocks.
Sections are short values for the length + &4000 (why &4000 ? I
don't know!)
The next 'could' be a section type identifier. I get some that are
regular, and some that vary from file to file.
'spare' blocks appear to be identified as having type identifier 0. I'm
assuming a heap-like fragmenting format for these.
Types around &6d appear to be text.
Type &EA is the application name Jotter.app and some other data.
Type &69 is the table/column descriptors. I don't know why these are
used.
Type &14 consists of a number of small blocks of data, I think.
But - and this is the big but - multiple entries appear to be stored in some
of the section blocks. The section index isn't long enough for all the
entries in one of the files I have.
Anyhow, code is available if anyone wants to know more about what I've found.
At least generating the files is easy .
The dream last night ended in me waking up (in the dream) and finding my
face all beat up, with a nasty black bruise under my right eye, over my
cheek, another over the left of my top lip and on the bottom lip about the
same place. Obviously someone took offence at the previous dream .
However, I've got a sore mouth at the moment; I think one of my transplanted
teeth it twisting as the other teeth move around it and it's now pushing
against my lip (the left of my top lip, oddly enough). I must go to a dentist
at some point. Really, I must.
I was surprised today; someone I had given a specification to complained
about it being in HTML format, and said they would much prefer it to be in
Impression, Techwriter, ASCII or PDF instead of HTML. I like HTML. I'd prefer
to write in XML, to be honest - because it's far more structured (especially
now that I've seen the XML2RFC stuff) - but I don't think that the RISC OS
world can quite cope with that yet (Hell, I'm working on it, ok?!). HTML has
the amazing advantage of being portable, scalable, and non-proprietary.
Impression and Techwriter are proprietary (and not portable), I can't author
PDFs on my machine and therefore isn't useful to us - and it doesn't have a
structured meta-description within it (to my knowledge). ASCII is good,
because everyone can read it, but it's not able to provide structured meta
representation of information. One that wasn't mentioned was PostScript, and
I don't know much about that. As I understand it, I could write the code
decoder in such a way that it decoded a structured meta description, but...
I'm not thinking about it, ok ?
So, I choose HTML because people can view that, edit it, and export it in
some other format if they want. I don't think it's wise to assume that
people have particular packages on their machine, but a web browser is now
universal and in any case, you can still read it in a text editor and get a
reasonable understanding of it, even if it's auto-generated.
2
May 2000 Tuesday
Nothing much to tell today; had a very strange dream this morning, but I'll
try to put it in the Psion rather than write it up here, because I want to
go do bed and don't feel like sitting up all night writing about a strange
dream on the big computer. One day I'll transfer the stuff from the Psion to
here and you'll see how weird it was...
Oh, tomorrow is Take Computer In To Work Day. Which basically means
'synchronise MP3s'.
Oh yeah, updates to the diary last night, because it's May now. My, how time
flies.
Many thanks today to Simon St Laurent for pointing me in the direction of
xml2rfc, and to M.T.Rose for writing xml2rfc and (also) to him for the RFC
related to XML RFCs. So cool an idea. I so like XML .
[ Entry from Psion ]
I've just woken up from a dream about Helen. For some bizarre reason she had
invited me back to her hotel room (via the air vents - too much Half-Life)
and then fell asleep on her bed. Such a wonderful way to start the day; if
you need a way to make you feel annoyed and crappy, then that scores really
highly.
[ later that day ]
Let's elaborate a little on the dream this morning, shall we. For posterity,
that is. Bare in mind that it's now night (well, early morning) and I've
been thinking about this all day. It's kinda like the time I had a daughter,
and kept wishing that it was real, even after I realised it wasn't.
I was walking through town in the rain. i don't know which town it was - the
streets were wide and the buildings were quite tall. Sort of Colchester,
near the centre, but with more space, newer buildings and less people.
Nobody, in fact. The place was deserted. There was a party going on at the
hotel out to the left, which is where Helen came from. She was dancing
through the street in that carefree way that people do on telly, or in
dreams. She seemed to be bouncey and jolly, and a little wet from the rain.
She wore, for some reason, a white flowery top. I don't think I've ever seen
her wear such a thing - I'm not sure she would. The flowers were red and
maroon. I don't know what else she wore; a black skirt, maybe - I wasn't
paying much attention as I was watching her face and, for some reason, her
hair. I have a very vivid memory of her wet hair.
She - I knew, though she didn't say - was with the party at the hotel with a
group. I have a feeling that it was some musical group though I don't know
why. She'd slipped away quietly so that she could dance for a bit on her
own. This, I knew. She seemed quite merry, as if she'd had a little to
drink. Enough to be playful, but not to be drunk or foolish. She invited me
to her hotel room, and I let myself be led there.
For reasons which are clearer if I say I've been playing Half-Life lots
recently, we took the air vents up to her room. Ok, that's the sad computery
bit over. For some reason she wanted to be discreet and not let anyone know
that she was there. As we went there, she teased me about things I've done.
We got to the room and she opened it with the key. The door was on the left
of the corridor as I was looking down it. We walked in and I looked around.
For some reason, there were quite a lot of 'things' in the room. But it
didn't look untidy. The bed was unmade, and had cream and brown quilts on
it. The bed lay to the left of the room, a large balcony window in front,
with curtains drawn (it was night outside anyhow, but the lights in the room
meant you couldn't see out), on the wall on the right sat a number of
drawers and a telly, with a connecting door to somewhere just beyond.
Whilst I was taking this in, Helen had lay on the floor and gone to sleep.
So I carried her to the bed and put her inside it. She seemed dry by then.
And then I lay down beside her, on top of the covers. She is on the far side
of the bed as you enter the room; I the near side. She turns to me, as if
she'd not been sleeping - maybe she was just pretending ? - and says "you're
not going to sleep - didn't you come here for something ?" and I have to
think of a reply. So I'm left with the thought "yes, I came here because I
want to love you, and hold you." And then I wake up without saying anything.
I realise that as I write this, some might think that I've omitted juicy
bits, but that's near enough how my dream happened.
So. What can we make of this ? Well, that I've played too much Half-Life for
one thing. That I've got this amazing crush on Helen. That I believe,
subconciously that I've no chance unless she's had something to drink. That,
within the context of the situation, I'm still shy, even in the dream. That
for her to make fun out of me within my own dream means that I'm very self
concious and insecure about myself. And that I really should avoid being
anywhere near her, or ringing her.
The latter of these is one resolution made at the start of the year that I
broke, and am now regreting.
And what of the Helen of my dream ? Is she the Helen of real life ? Of
course not, but she's a stylised version of her. A sort of 'feeling of
Helen'. Mum chides me regularly for anything to do with her, so I don't talk
to mum about her. Ok, so it's a common thing to ignore something you can't
deal with, but...
I feel very sad that I am not the person for her. Possibly because I don't
feel that there is anyone else I would like as much as her. That, some say,
is a passing feeling. It's taking a long time to pass. The last section of
the dream, I read two ways - firstly, I'm untrusting of anything that women
do (she's asleep and yet she's really only pretending; although I believe
that it's just a paranoia), and secondly that I'm so shy around her. In this
case it's not shy of her, but shy of the situation.
I'm unsure of my reasonings, though. Matthew said that I've got two moods -
the bouncy cheerful mood that means that I've just spoken to Helen, or the
supidically depressed mood which means that I've just spoken to Helen. There
is the other average 'tired' mood, where I yell at anyone around and tell
them they are doing things wrong. That's the one I'm in most of the time
really.
Anyhow, that's the dream I had - see, it's not x-rated or anything; I don't
dream about her like that - why, I don't know. Maybe I don't want to be with
her like that, and I'd really prefer to be just friends. But I know that
isn't true. I think that's more down to the shyness and not wanting to think
of her that way. What anyone makes of the dream is up to them; I've included
the detail I remember.
Night - hope I don't dream like that again.
1
May 2000 Monday
"Horses are like cats, only bigger."
[ If I get on with cats I should be able to cope with horses; Mum ]
Aww... She means well . That sounds a little cruel. I'm only saying
it 'cos it's funny and... well, it is funny. Especially out of
context.
Went to town today for lunch. Vaguely amusing. Had Pizza with David and
Matthew; it's quite nice to see him back after two weeks holiday. Actually,
this long weekend thing has been quite fun. Going back to work is such a
pain.
A little more work on XML stuff today; MathML is XML. SVG is XML. RSS is XML.
It's curious, but there's lots of uses for it. Odd that.
Spoke to Helen today and tried to sound like I had something interesting to
say. I think I failed abysmally. As usual, Keith was being smug.
Who of all you now,
Will ride the lows and highs ?
Whose hands are these that come to pray ?
When you turn away the distance in your eyes,
Speaks the words that you won't say;
Far away - we say goodbye;
Too many un-remembered arms that won't let go.
New MP3s today include 'Don't pay the ferryman' and 'Total Eclipse Of The
Heart'. Coo.
What can I look forward to this week ? Not a lot. Three day week, though.
I've just had this incredible wave of guilt from having just looked at
AMPlayer - which currently says "All the way from Memphis - Brian May".
Which word set it off, I'm not sure; I think it's the Brian May bit. I have
this feeling that I've been incredibly rude to someone and didn't apologise.
I'm reasonably positive it was whilst at Sixth Form and I'm reasonably
positive it was to a girl; I'm relatively sure that it wasn't to Caroline,
because it's a different kind of guilt. Hmm...
If I was rude to you at Downham, and it was related to something to do with
Brian May, and I never apologised - however bad a mood I was in - I'm sorry.
It's going to annoy me now, but to whoever that was, I'm really, really
sorry.
This page is maintained by
Justin Fletcher
(gerph@gerph.org).
Last modified on 02 February, 2012.
This site is copyright
Justin
Fletcher. The accuracy of anything on this site is entirely limited
by his belief system and memory at the time of publication - neither of
which should be relied on. The opinions are entirely his, except where he's
changed his mind.
Quotations are copyright their respective authors and whereever possible
attributions have been included.
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".