Hey! That's not me.
Really, it's not. A little thing found whilst I was looking at EgoSurf. And that was linked from
elsewhere that I'll no doubt talk about at length when it's not 1am. Strange
world.
But that's February over with. Damn.
I was trying, unsuccessfully, to sleep and I had words floating around my
head. Full of purpose, and with a mind to do something with them, I got up
and, turned the computer on and started up pine to start writing them. But
they'd gone. Except they never really go. The words just flee and I never
have the nerve to say them - I talk myself out of saying anything and
convince myself that they serve no purpose any more. Maybe it's also a
delusion that words have to be said.
I find myself thinking - talking, even - in circles, and never getting
anywhere. The same things over and over. It's not true that if you tell
yourself something enough you will believe it. I think you have to want to
believe it before you start. You can't just start telling yourself
something and then for it to become true in your mind over time.
Well that was a big waste of time. Fortunately Mobuzz cheered me up.
Yeah, I love the small articles, and it helps that Karina's funny and
cute.
Got an email from Vanessa today, too. That's nice.
Oh dear. Far too much MobuzzTV.
Damn. It's nearly the end of the month. That makes me all sad. But then
lots of things make me sad, so it's probably not a big deal.
Top tip of the day - don't have cereal after cleaning your teeth.
I had another top tip earlier today as well, but I've forgotten it now. I
guess it couldn't matter. Can't be bothered to write all that much tonight
and in any case I don't think I've got anything useful to say about the
day. Oh, except that I've eaten far too much chocolate today. I
had a diary milk 'bubbly' bar - which seems to be a like a Whisper, only
smaller and in break-off sections - and half a Mars bar. Not exactly
trilling, but that's the way it goes around here.
Other than chocolate, today has involved a tiny bit of research whilst
builds were going on, a lot of looking at sources and fixing tiny little
things that were broken in many, many components. There are too many
components in the source tree. I should delete some. Randomly. For the
laugh. It's just too confusing to keep them all in my head at once.
There's things in there that I'd forgotten about. The other top tip of the
day was that loading an internet stack whilst you're booting off a remote
system may not work as well as you'd like .
My ToDo list for tomorrow is increasing rapidly, even as I write this
entry and I remember things I need to sort out. Oh well. Time for
sleep, I guess.
Tedious day today. Just testing things. Which means
rebuild-test-reboot-repeat cycles. Mindnumbingly dull. And all the while
the telephone is mocking me.
![[Quote]](../images/quoteleft.gif) |
The man you have consistently failed to capture is not a highly trained
agent provocoteur, or assassin. He's a theoretical physicist who had barely
obtained his PhD at the time of the Black Mesa incident.
[ Disappointment; Dr Breen; Half Life 2 ]
|
![[Quote]](../images/quoteright.gif) |
Well, that's Half Life 2 completed. Quite funky. Some bits are so much like
"hey, look we've got this cute physics engine we want to show off with" that
it's a little bit unlike a game. The physics engine is cute. Balancing
things to make see-saws go up and down got a little dull, and the sandtraps
section where you have to make your way across the beach using stepping
stones was interesting but very tedious - especially when you made tiny
mistakes and had so many antlions after you that you couldn't get back off
the beach. The magnetic crane was neat, although it felt wrong to be picking
up whole cargo containers just because the very edge of the magnet was
touching them - sadly that also showed up the problem with the shadows being
just translucent black projections of the objects. That is, you saw the
overlap as a darker rectangle, when it should have had the same level of
translucency. In my opinion.
All in all, though, quite fun.
Simon did one of those surveys a few days ago - the type where you fill in
your answers and send them on to friends so that they send them back, only
he did it the lazy "I'll just publish it" way - and one of the things on it
was "Song that describes your life". I don't know the one he mentioned
("Lover you should've come over", by Jeff Buckley), but it left me thinking,
what I would choose. After a bit of thought, I settled on the track 'Time'
by Pink Floyd. I think that sums me up.
It's also important that it describes not only the general pattern, but a
specific event in my life that I remember quite vividly. It's only maybe 3
minutes of my life, but I remember it very well. Which is true, but it's
also the case that I can't say when or where that it happened. Only that
it's the stuff that nightmares are made of. And not the man-eating sock
nightmares either.
Of the things that were in Half Life 2, there were some that were just
tricky because of the things attacking you and there were some that were
just plain easy, but the one that I will try to forget was the bridge
section. You have to navigate across a bridge, using only the metal
framework underneath it, which is damaged and missing in places, to reach
the other side. And then go back again. The Ant-lions may have made me jump,
the balancing might have made me think, but there's nothing that quite gave
me such a prolonged scared-on-the-edge-of-my-seat feeling as that bridge.
I decided to bite the bullet and get myself a copy of Half Life 2. Partly
'cos it's easy to. Partly 'cos it's fun. Partly because I need more reasons
to feel guilty. Ok, not really the last one, but I will nonetheless.
It's hard to be scared when you hear the name Grendel if you've met our
cat.
Someone's
been playing Darwinia.
Anyone wanting more information on the Commit script could just drop me an
email. There seems to have suddenly been a lot of interest in it, though I
can't see why - I'm assuming someone mentioned it on an IRC channel, but not
- so far as I can see - playpen. No big deal. It's only been updated slightly
since the released version. It's certainly tested and useful within a large
number of components (for me). Hundreds of components managed with it can't
be wrong! (or some other cack that sounds impressive).
![[Quote]](../images/quoteleft.gif) |
I can't be bothered with all of this, life's too short.
[ Can't be bothered; Reginald Perrin; The Fall and Rise of Reginald Perrin ]
|
![[Quote]](../images/quoteright.gif) |
Greebo's just come in, and I've brushed the snow off his back. It's the end
of February, and there's snow outside .
I don't seem to have actually achieved much today. So I thought I'd try to
do something that I've been planning to do for ages - I'd delete my
Friends Reunited profile.
Only I can't. It just doesn't seem to be possible to delete a profile from
their database. So, being completely unable to do that, I'm going to go to
bed quite fed up. I could just change all my account details to nonsense,
but that feels like being beaten.
Exactly when do I forget ?
It's dark outside. Happens at night.
Another one of those days where I've got nothing useful to say, sadly.
Except,
Life on Mars (2006, BBC One)Drama/Science-FictionA detective chief inspector from 2006 is investigating a serial killer when he is knocked over by a speeding car. Waking up, he finds himself mysteriously transported back in time to 1973. Initially struggling to come to terms with his situation, he has to come to terms with the old-fashioned technology and attitude of the day, while figuring out how he came to be trapped in the past. The actor John Simm described the show as "a cross between Back to the Future and The Sweeney", and it makes effective use of the disorientation of the unwitting time traveller while taking a post-modern romp through 1970s fashions and technologies, with due tribute paid to the classic police dramas of the day to fashion a truly unique programme.Life on Mars nearly finished . Fortunately, it looks like it's
replaced by
Hustle (2004, BBC One)Comedy/DramaFrom the makers of Spooks and acclaimed writer Tony Jordan comes a slick and stylish new drama. An action-packed blend of humour and intrigue, following the fortunes of a gang of expert cons on the loose in London. They are specialists in the way of the grifter and all are keen to liberate cash from the amoral and undeserving. From faking film sets and expensive paintings to double-crossing the duplicitous head of a bank's security system... THE CON IS ON.Hustle, so that's ok then...
I have a little section of one of my programs that caches and records whois
entries for interesting IP addresses as readable strings. Mainly this is so
that those IPs have more information than just a number (or a number plus
DNS name). The only thing is that it does not deal in ranges - so if there
are a lot of IPs in a range it requests the details for the IPs individually
even though it's already been told that the addresses are part of a range.
The cache file is getting longer and longer because of this - for example
10.x.x.x has many many entries and could probably be reduced to just a
single range.
Actually, there's a good one that's got 560 entries - 'Inktomi Corporation',
which if I remember correctly is the source of one of the search engine
requests.
The library's now updated to understand ranges of addresses and seems to be
working reasonably well. Selecting a few addresses ranges that are cpmmon
has caused the cache file to drop from around 560K to 240K. That's the sort
of thing I was hoping for really. I expect that from now on it will just
increase because the cached information stored for ranges is slightly larger
than the individual IP addresses. Plus, I expect the search time to be
slightly higher because of the mode complex checks to be performed. Since
most addresses that I look up tend to be within the ranges we have cached,
it should be able to find the information without recourse to the network
whois servers - which is always much slower than a local look up.
Bother. The only problem with this is that there are some groups which are
assigned to an ISP and which are then split up within that ISP and have
separate registrations. Specifically Demon have a range 193.195.0.0/16, but
there are sub-ranges within there which are known. So I can't just stop at
the first range that I know. Thus the whole range caching system is
unusable. That's frustrating. The file had iteratively reduced itself to
around 45K, but if it's 45K of inaccurate information then it's not a lot of
use. There is no reason why there might not be an entry claiming that 0/0
was an 'IPv4 network address', which would clear the cached database of
every single entry. So, wasted a bit of time there. The potential gain of
caching ranges is offset by the inaccurate results that would be obtained.
Muchly debugging work again today. I've got lots of little diagnostic files
dotted around the root of the disc now. Might be useful to give them away
as examples of the diagnostics for people to try to guess what went wrong.
The best thing about them is that they're 'real world' things. They're not
examples in the sense of doing something stupid to see if you can see what
happened, but in the sense of thinking everything was fine until the world
blew up in your face.
There's a bug in the display tool, I think. Function names are coming out
wrongly. There needs to be some more thought put into that, but I think
the virtual address space will make things trickier. Maybe. Too tired to
think straight. Had a cool idea for extra diagnostics last night though.
Not had chance to examine how easy it would be though. Too few hours in
the day.
Can't be bothered to write much today. The big highlight of the day has been
seeing a crash, then running my nice diagnostic tools and after a screen
full of information and a tiny bit of thinking, I've spotted and fixed the
problem. That was quite pleasing.
"What's the difference between 'want' and 'need' ?" I found myself pondering
today, in a way that I can't actually manage to articulate. There's an
obvious difference in some things - "I want a curry" as compared to "I need
some food". But that's not quite what I meant. I wonder if there's some
important distinction there - being able to satisfy needs is obviously a
requirement (otherwise, it's not a 'need', obviously!), where as satisfying
a want is something you can choose to do (or fail to do).
Not sure there's much of any greater meaning there, but it's a thought that
ran through my head.
It's the end of another week. And that's always annoying, because it means
that another week's gone by. Ok, that's obvious, but I'm tired and it isn't
always easy to make sense. I almost have nails on some fingers. Not that
that's much of an achievement, but... it might be the most I've achieved
today. It's possible that listening to Counting Crows hasn't improved my
mood this evening, though.
I think the UPS battery is dying. Occasionally it'll just beep on and
off whilst it's running, as if the power's dropped. I'm not sure that it
has. But then I can't be sure - maybe the power's being dodgy around here.
Then again, I've had it 3 years or so, so I would understand if it were to
die.
I'll write some words tomorrow, I think. I need to at least try to
sleep tonight - last night was not successful so I got up again and managed
to hatchet out 250K of source code from a component before being too bleary
eyed to do any more. There's something quite satisfying from slicing away
the cack from things like that. I was actually a little surprised at how
much I'd managed to cut away, but the smaller it is and the less dead code
is hanging around the better it is for everyone. Well, for me, really. But
I'm the only one who matters.
I think I'm hungry. I'm getting a rapidly increasing number of ToDo notes in
my inbox. It becomes a little odd to see so many things that need to be done
and still haven't been . One pair of hands.
I decided to check my Spam folder earlier, just in case there was anything
that I was expecting to receive that had been misfiled. It seems that the
last time I had checked was around mid-December, so it would have been bad
if I had ignored any emails that were there. Everything there (there were
only 50 - I'm not exactly a spam-magnet these days, and remember I also
don't obsfuscate my contact details ever) was actually Spam - anything over
15 spam points gets filed there, with the added rule that anything that's
a HTML-based email scores 4 points straight off. It's actually been a very
long time since I've had it file anything as Spam that was not.
I was just trying to work out why the way I think isn't a religion. That
needs a bit more explanation. I was reasoning something like this.
Religions are unsubstantiated beliefs. I believe (or accept, or hope, or
something like that) in things that are unsubstantiated. Does it follow
that that is a religion for me ? No, I don't think so - for a start the
logic is wrong. Religion is (checking with WordNet which I trust
reasonably) 'a strong belief in a supernatural power or powers that
control human destiny'. That's not the way I think. I have a strong
disbelief in any such supernatural power, etc. When I was thinking about
what religion was, my own definition was actually more vague and I had
explicitly included something about a set of moral values (I can't
remember what I came up with, 'cos the above definition has confused me
into forgetting it).
I wish I'd kept in touch with Helen or Angela really, 'cos they'd probably
be able to suggest something about the general religion thing. But in
any case, what I was thinking was that religous beliefs were
unsubstantiated - but I'm not sure when I think about it that that is
true. And the reason I was thinking that was because a lot of the things
that I believe are unsubstantiated - or unsubstantiable. Simple things
like believing that if I do things right, I'll get what I deserve. That's
a belief I have, and it's painfully and depressingly untrue, but despite
that, it's still very strong. It's not like it's something that you remind
yourself daily, or anything like that. It's just a thing that's there, and
which guides a lot of the things that I do, completely without a real
thought about it.
The thing I was thinking, though, was that those sorts of things - the
things you believe though there's no reason and which you continue to
believe without question or even realising that there is a question - are
the most dangerous of beliefs really. Not because they'll get you killed
(ok, well, I'm hoping that mine won't), but because they're so immune from
question that they leave you blinkered. It's hard to fight beliefs like
that when they've been in your head so long. And the problem with them
being both unsubstantiable and accepted without question is that using
logic and knowledge to counter them is futile.
Let's take another belief - one that has a little more weight and relates
both to this diary and to the way I view the world. One of the reasons I
write in here, and it's one that I don't think I've mentioned, is that at
some point it will serve to let people know that I was here, and that this
is what my life was. Maybe in some quaint little way, someone down the
years will look at it and ... I don't know... just something. Now, that's
the belief, and I know in myself that it's about as likely that someone in
the future will care about me as... oh, something that's not very likely
(tiredness, I'm afraid - similes don't come so easy at this time of
night). I can question my belief, and I can present myself with any amount
of indications to the contrary, but it doesn't help. I get fed up for a
bit and then set aside my own arguments and go on believing. That sounds
pretty blinkered to me. And whilst you don't have to be blinkered to
follow a religion, it seems to help. But I think I've fallen into
the trap of characterising a group by only the limited experience I have
of it, which is much, much more dangerous.
Regardless of that, though, if religion is a belief in supernatural
direction and all that, what is the name for the more generalised beliefs
in things such as I've described ? Actually, whilst I was writing that
sentence I remembered what the word was - 'delusion'. Looking at wordnet
confirms my understanding too, 'an erroneous belief that is held in the
face of evidence to the contrary'.
That's really quite demoralising actually. I don't have beliefs, I have
delusions. I'm not sure I can even convince myself that that's ok, just
because I know the word and I have a word to associate with those things.
They end up in a big bubble now, not labelled 'beliefs' but labelled
'delusions'. Is it so bad to believe something that's wrong, if it just
keeps you going on from day to day ?
The dream last night involved something about having a parcel delivered to
the shop we were helping at, whilst a number of hit men were trying to get
us. I should have made a note after I got up, though, rather than before
I'm going to bed.
You know how you forget things if they're actually never used any more ?
Today, whilst reading the 'Master Advanced Reference Manual' (just don't
ask!) I found notes about the 'new' 'LIST IF' syntax in BASIC.
Since we've been using decent editors for a lont time now, I had completely
forgotten about that particular feature. Actually, I would find it very hard
to write programs in the immediate BASIC mode - well, more than the sort of
10 line programs I end up knocking out of testing.
"I feel very odd now." That should be 'sad now', but I can't bring myself to
change it.
That's mildly amusing. Steven Singer's name popped up today in a search. I
remember him, partly because he ported Dali Clock which I was very taken
with. Whilst skimming his site, I noticed that
he did a PhD at the University of Surrey. Fine, ok. But he worked in nuclear
physics. Which is where Julian is. Coo.
I'm hoping to sleep better tonight. If I don't then I'm just going to take
a small hatchett (a metaphorical one though) to a large body of code whose
conditional sections have become increasingly confusing over the last few
years. It's not quite in the insane state that GMail or Doom ended up,
but then it's a quite different project.
I was pondering earlier on the differences in how I do stuff now to how I
used to do things. Programming things really. I'm a lot more balanced
about programming than about anything else (which might not be saying all
that much). Although it's not just programming - there's design and stuff.
In the past I worried about getting things that worked. Whilst that still
concerns me - obviously, because something that doesn't work isn't
actually all that much use - I tend to be very concerned about impacts.
The impact that a design will have on previous things (does the change
break old things or will it mean that old things need to be updated to use
it ?), the impact that it will have on future things (will the code
scale ? if it won't will the externally visible API scale such that the
underlying code can be removed ?), where I can save myself work (if I
omit feature blah, but leave hooks in, can someone else write that bit?),
and what other people who are more intelligent or have done similar things
before have already done (can I keep to the spirit of other work, even if
not to the letter ? have they foreseen anything I've missed ?).
The new way of working gets me very annoyed at things, mainly because I
see the way that other people do things and can see shortsightedness (or
possibly I'm blinkered and haven't examined the problem as fully as they
have - you never can tell really). But in general, it makes for APIs and
implementations that should last and won't be seen to be shortsighted by
others. There is the problem that people who haven't considered things in
the way that I have won't see why the implementation and API are designed
the way they are (as above), but without reciting everything you have
considered at every point, it's impossible to convey the reasoning for
everything. Consistency is of a paramount importance to me now - if
there's an API that's suitably similar to what I'm doing then it's
absolutely vital that we follow its style. Well, vital unless it was
shortsighted and to do so would perpetuate its evil.
There's a danger of sameness about this, though. In much the same way - I
guess - that driving down a motorway can be dull when it's just the same
thing over and over, APIs and implementations can just mush into one
another. Is that a bad thing ? I'm not sure. I certainly don't think that
you should change the interfaces just to 'make things interesting', but if
things become mechanical because all you're doing is code that just does
similar things, doesn't that make you feel more worthless ?
Actually, that's sort of how I feel about a lot of the 'development' work
that goes on today - and I've participated on both sides of it. If all
that the development involves is hooking together two things that you
didn't write, then what sort of expertise does that actually involve ?
With the gamut of libraries available these days, is it really development
to hook x to y to produce z ? That you do this is good, yes, but is it
really development ?
There's that whole 'standing on the shoulders of giants' thing, but you
have to recognise at the end of the day that if you do this, you are
not important. You're just the tip. That sounds like I'm belittling
anyone that just hooks components together. Actually even that sentence
shows how I feel about that. I do it myself - I take other people's code,
hack it about and produce new things, or sometimes the same thing in a
different way. I think it's a good way to start out to do that sort of
thing, but it's not really developing.
Oh god, what am I saying ? That unless you've written your whole browser
yourself you're not developing things ? That's really not what I meant.
Let me think about it another way. Here we go... if you write a
little program to rescale images and serve them out of a CGI, you're doing
something real. If, on the other hand, you shell out to ImageMagick to
rescale the image and output that, you're not really doing anything
worthwhile. Why is that an example worth laughing at ? Because that's all
the quiz program does when it needs an album image.
I think this is my general arrogance showing through again. In my
defence, I've tried to forward these sorts of things by making things
easier to use - and if there are libraries and easy to use things out
there, I shouldn't really be critical.
There is, of course, a huge hole in my argument. Two people could write
themselves - let's say for the sake of argument - a simple document
renderer. One of them does so rendering to HTML and throws it at the
Internet Explorer HTML renderer. The other does so from scratch with their
own processing. The latter is faster, but can't be extended as quickly
because they have to write all the formatting capabilities themselves.
When they get complained at for the longer development time, they can't
say "but I've done it all myself". I don't suppose this is really a hole,
because it really depends on using the right tool for the job, and maybe
the latter person is a worse developer because they chose to redo things
rather than using the extant resources.
Maybe it's just the more obvious showing of the expanded market. Long gone
are the days of the single developer making the difference. Maybe that's
what I'm feeling bad about. I was never there in 'those days'. I'm not
even sure that those days existed. Thinking about the past (which is bad,
as we know, but nonetheless it's What I Do), that was always something I
wanted.
I don't think I've made a difference yet. I'm pretty sure I've lost the
need to actually make a difference. But I've not lost the need to prove to
myself that I can. I guess, at the end of the day, the only person I can
impress is me. I may not be the best at what I do, but at least I don't
spend every day just hooking together other people's things.
It's every other day.
Rant over. I'm not even sure what I was getting at really - there didn't
seem to be much of a target, more of a general commentary.
Half 2 now. I was going to write this and then try to sleep. Or use that
hatchett. But my mind's now wandering. Fortunately not over the 'past'
things. Oh, I did have some dream last night about running away from
things. I have a feeling that someone with a big gun way trying to kill
us. 'Us' being the usual group of people the populate my dreams. It's sort
of vague, being many hours since I got up.
My arm's been hurting for the past couple of days. It's easing off now,
but it was very painful when I was out on Wednesday and I was consequently
trying very hard not to move it quickly. Which was probably a good thing
anyhow. I think I must have rested on it badly.
When I was making a drink earlier, and pacing whilst waiting for the
kettle to boil, I was wondering about the problem of seeing problems. As I
said above, I tend to consider the implications of things (in programming
- in real life I'm useless) and so I see problems all over the place.
Sometimes they're 'imaginary' problems caused by the incredibly unlikely
possibilities. I was wondering if that was a flaw - is it because I'm
not good at what I do that I see these problems ? Or is it good ?
Does Blair get up in the morning (to select a person who is at the top of
his profession and therefore, one assumes, reasonably aware of
'problems') and see problems in the reporting of other people's countries
? Does he look at every proposal and every discussion with the thought
that such and such thing might go wrong and will result in something else
? Actually, I'm sure he thinks something like that, and many if not all
of those contingencies have already been dealt with way down the line of
civil-servants whose job it is to make sure that the problems are
considered. Maybe I get the wrong example. Maybe I can't think of an
example.
It seems the day has come when I no longer immediately associate the
initials 'FSM' with a Finite
State Machine. I've just seen it too much outside of writing code now and
it's not longer in my head the Right Way. Bah. Praise his noodliness and all
that.
You know what might be interesting ? Working out the amount of data you are
required to download on a monthly basis if you just start up the
computer, run anti-virus kits, spyware checking tools, and OS and core
application updates every day. Why ? Because that would give you the bare
minimum of network bandwidth that any user (of that given system) should be
using. As a result from that, you could work out the minimum time spent
using the system (as a calculation of raw download time). And as a result
the actual cost (in time) of just keeping a system running. Actually, it's
probably not all that interesting.
I may not know exactly how the song was intended, but it's a pretty little
track anyhow.
What did we do before
The Simpsons (1989, FOX)Animation/ComedyOriginally created by cartoonist Matt Groening, "Our Favorite Family," has graced the small screen in one form or another for over 20 years. The Simpson family first appeared on television as the subjects of interstitial "shorts" on The Tracey Ullman Show in April of 1987. The Simpsons remained a staple on The Tracey Ullman Show for three seasons until they premiered in their own half-hour series, on December 17, 1989. With the help of Jim Brooks and Sam Simon, Matt Groening's cartoon family turned into an instant success. Set in Springfield, the average American town, the show focuses on the antics and everyday adventures of the Simpson family; Homer, Marge, Bart, Lisa and Maggie, as well as a virtual cast of thousands. Since the beginning, the series has been a pop culture icon, attracting hundreds of celebrities to guest star. The show has also made name for itself in its fearless satirical take on politics, media and American life in general. Currently in its 21st season, The Simpsons has piled up over 440 episodes, over 20 Emmy Awards, a handful of music albums, countless endorsements and merchandise, and even made the jump to the silver screen in the summer of 2007 with The Simpsons Movie. And according to Matt Groening, "There is no end in sight."The Simpsons when something went wrong ? The
exclamation 'doh' just seems to be right. I think I'd have probably
said Bother. Because that's what Pooh says.
Much debugging fun was had today on the phone. Whilst trying to diagnose a
problem that seems to be completely insane, Chris and I managed to hunt
through about 5 different problems using a variety of little debugging
methods. Which was really quite fun.
Much less fun was had trying to work out why the latest builds of things
are running so very slowly. It's somewhat baffling.
Today has been 'tidy up day' for the work things. I've been going through
all the little niggley pending things and tidying them up, removing
warnings, commiting things, and generally making this tiny segment of the
world a nicer place to be in (for me). In doing so, I've found that half my
toolchain doesn't work properly - makefile problems and I was using an
experimental build of CMunge, rather than the full release version, so
things weren't quite working correctly. I've updated a few modules that
will never, ever, ever, ever get used to now fit into the new build system,
and probably about 50 components updated just to have consistent assembler
builds. The assembler builds problem was a consistency thing - for various
reasons, many of the assembler files ended up putting their code in the area
'C$$Code', which is wrong. It should be 'C$$code'.
A single letter case difference, but one that means that the former is not
grouped with the compiler's output and therefore is not considered part of
the C environment in terms of trap, backtrace and other RTS dispatches.
Admittedly, almost all of the assembler components are in modules so it's
not of too much use, but the problem is exacerbated when it goes to exported
libraries, because those libraries might be used with applications. It's not
a big deal, but it is one of things that is Just Wrong. Oh, and there is a
bigger reason behind it all, too...
Actually, on a not directly related topic, I saw a C-language backtrace from
a module a few days ago - generated by the SCL without anything special
from me. It just surprised me because I hadn't really thought it likely. Of
course, it is not only likely but easy to do - as it was in this case. I'd
used an assertion and the assertion had failed, resulting in a backtrace
being generated directly, rather than from an error handler (of which there
are none for a module, yet). One of those little things that you don't think
about. Actually, I so rarely see (C-language) assertion failures in general
that in itself that was quite interesting.
It finally occurred to me yesterday that rather than manually (well, it's an
aggregate command in Pine, so it's actually easy, but it's still something I
do rather then it doing) moving all my CVS commit messages out from the
INBOX to the CVS folder at the end of the day, I could set up a filter to do
it for me. So I did, and today I've had no emails from it to bother me
despite tens of checkins. Usually I go 'oh, beep, what's the mail... oh it's
something I've just checked in...' which may sound silly, but there you go.
Whilst I'm writing this, I'm waiting for the many changed components to
finish rebuilding. Tra-la-la.
I was somewhat amused by Steve Revill complaining on usenet about how CMHG
should have the ability to post-trap vectors. In a months time CMunge will
be celebrating 5 years of supporting that particular feature. Off the top of
my head I can't think of anything that CMunge cannot do within the RISC OS
interfaces. The last thing I added - vector claim with error return - has
been missing for years, and I've only found a use for it in the last 3
months. Given the number of modules I've written over time, that says that
it's not a major thing. The carry-capable handling was added long before
that to the generic veneers and I think that gives all the necessary veneers
for handling Filing systems without any manual assembler. You could probably
argue that the Free interface requires some hand-crafted assembler because
it doesn't guarentee any particular stack, but then you can't actually do
anything with the stack in the Free interface. Where the interfaces
are weird, I choose to not handle them, and that is a quite weird interface.
I flipped on the TV when I went down to make a drink and
10th Kingdom (2000, Halmark)Action and Adventure/Comedy/Mini-Series/FantasyTwo centuries after Snow White and Cinderella had their adventures, the Nine Kingdoms ready themselves for the coronation of Prince Wendel, Snow White's grandson, to the throne of the Fourth Kingdom. But an evil once-queen has freed herself from prison, and turns the prince into a golden retriever. Wendel, by means of a magic mirror, escapes into a hitherto-unknown Tenth Kingdom (modern day New York City) and meets Virginia and her father Tony. Pursued by trolls, cops, and a wolf in man's form, the three blunder back into the Nine Kingdoms and begin their adventures to restore Wendel to his human form and throne, and find the magic mirror that will take Tony and Virginia back home, all the while unknowing that Virginia already has a connection to the Nine Kingdoms that may prove deadly before we reach Happily Ever After. 10th Kingdom was
just starting. Literally just starting - New York was just turning
into the Kingdoms as part of the credits - and then it opened with "My
name's Virginia and I live on the edge of the forest" (I think that's the
line), which meant it was the first episode, too! It's one of those things
I'm very fond of, I guess. After all, the build machine's named after her
.
![[Quote]](../images/quoteleft.gif) |
Susan: It's bad enough you kept the tape, Patrick, but now you've erased
it too.
Patrick: That doesn't actually make sense.
Susan: I'm angry - making sense gets in the way.
[ Making sense; Susan and Patrick; Coupling ]
|
![[Quote]](../images/quoteright.gif) |
I think I'm hungry. But I'm tired, too. So it's that age old question of
whether I can be bothered to get something to eat, or should I just crawl
into bed, hungry. And be hungry when I wake up. Hmm. Time for cereal, I
feel.
There's something very odd about bouncing around to Saint Etienne whilst at
the same time having problems keeping your eyes open. Dunno how it looks,
and I'm not bothered, but it doesn't half feel strange.
![[Quote]](../images/quoteleft.gif) |
I could try firefox, but life's too short...
[ Using NetSurf; A friend ]
|
![[Quote]](../images/quoteright.gif) |
I think it's possible that the makefiles I use on RISC OS are some of the
most complex that anyone has used. Of course, I can't be sure of that. And
I know there are some that are large, but not actually that complex. It's
taken about 3 hours today to get a small section of one of the makefiles
to work - 17 lines of makefile taking that long. Not so good, but most of
that time was spent trying to work out the right way of doing things.
Another one of those strange crashes came up earlier today. As with
previously, the registers in use look almost impossible to have the values
they have got and to be in the place they ended up. I've done the regular
investigation, got not very far, and then consigned the debug log to the
same place as before. At some point, things will become clear from the
increasing number of logs (and hopefully their content!). But for now,
the correllating factor is 'these look very strange'. I'm not discounting
some hardware failure, but I prefer to believe it's my code than to blame
someone/something else.
On the plus side, whilst trying to diagnose the problem, the diagnostic
tool blew up, which highlighted a problem that it was having. So at least
that's something good out of this.
![[Quote]](../images/quoteleft.gif) |
... and that's when Michael discovered the bombshell.
[ Bombshell; Narrator; Arrested Development ]
|
![[Quote]](../images/quoteright.gif) |
Julian mentioned today that if you've got a Google login, you can see all
the things that you've searched for recently. I'm pretty sure I'm probably
paranoid, etc, about this, but that's one of the precise reasons why I don't
have any logins on things like that. Of course, I might be completely mad.
It just seems to me that the benefits don't justify the cost.
Paul Vigay's released a little program to close files. Yes, another one.
Apparently this one has the advantage of being able to 'suppress common
files such as font or system devices'. It's amusing that my !Close from '95
did that. "Been there, done that" .
Wahey! I've finished the chocolates I got for my birthday .
Got distracted today doing a cute little thing as an offshoot from some
earlier work. Only the last stage has become a little more complicated than
I thought and now it's late in the morning (!) and I don't think I can do
what I wanted in the manner I wanted to do it. Which means making the final
thing less 'nice'. Up to a point, the design is good. Then we get to the bit
that we can't actually do reliably in the way that the pre-existing code
works. We either have a choice of 'guessing' and just hoping we can get
a useful result, ignoring the problem and hoping that nobody notices, or
changing things and only work properly with new code. I'm not sure which
one I like. Obviously the latter is preferable as it means that the design
can be done right. But the former has an appeal because it'll work with
everything that went before. Even if it does mean 'guessing'. I really don't
like having to do that, because we end up with something that's not right,
and you know it.
I tried playing Half Life 2 again today. Much better with a proper graphics
card.
Bed now, though.
I'm looking at a few things on the internet on the PC this morning and I
wonder if I've turned the Risc PC on yet. Then I feel really stupid, 'cos I
can hear music - therefore it must be on . I'm just a little
confused, I think .
Oh, I had forgotten my scary thought yesterday. It was so silly I laughed
out loud and mum wondered what I was laughing at. Bad Justin.
I had a dream about lots of pretty lights and a little girl looking for
someone to play with and finding me. Admittedly, the little girl was one of
the pretty lights - she was from another world and had found me whilst I was
in some hotel in the back streets of a sea-side town. She was yellow and red
diamond lights and spun around very prettily. She couldn't see anything,
though, so she had to touch everything to find her way around - she'd fly
over the ground touching it occasionally and have to touch things to know
what they were. I remembered thinking what a strange world it would be to
not be able to touch - and for the world to be so alien that even the things
you touched made little sense. She was lost and confused and just wanted a
frield to play with. Eventually her daddy came and took her home.
I've ended up playing on the computer a lot today. Chris sent me a nice
little graphics card. In theory this means that I can play pirates at a
reasonable speed.
Can't be bothered to do anything today. Ended up getting too pissed off at
having to do someone elses work because they've just left it in a right
mess.
Tired this morning. Which has a lot to do with getting up late due to speed
coding last night and then foolishly thinking "I'll just watch an episode of
Coupling (2000, BBC Two)ComedyOn average, men and women think about sex every six seconds. Shorten that to every second, and you've got Coupling. This series centers around Susan and Steve (who are a couple), and Sally and Patrick join the gang as friends of Susan (and then Steve), while Steve pulls in his best friend Jeff and his crazy ex Jane.Coupling".
This morning I awoke from a dream where I was trying to explain to a group
of elephants in the snow that the only way to fight the hunters with guns
was to leave quickly, because the elephant's attack method of 'run at the
hunters at full speed, so that snow blew up around them' wasn't working.
And another dream was about looking for old school friends indirectly, using
the fact that if they've released singles they'll end up appearing in the
no-hits collections. I didn't find anyone I knew, but I did manage to find a
single by Alan Cox which I think I liked. Which is strange because Alan Cox
is just a name to me and nothing else. The single had a night-time blue
cover, with trees framing the edges, the track title in pretty white writing
at the top right, and a person standing in the foreground on the right of
the cover looking toward the left, almost in silhouette. It looked rather
cool, actually, and I remember thinking that they had a really good voice.
I'm pretty sure those are the deranged thoughts of a tired person rather
than having any value, although I do know where they came from (the looking
for old friends, anyhow).
Unfortunately, when I woke up, apart from these odd lingering thoughts about
elephants, my mind instantly drifted back to the stuff I was thinking about
last night. Damn. From the look of Julian's diary, he couldn't sleep last
night either.
Now, I'm trying to remember what I was doing before I went to bed.
Fortunately, I've got the diary to tell me .
Actually, I've sort of woken up thinking that the world is different. I'm
not sure why I think that. It's not so much that the world is different, but
that I'm seeing it a little differently.
I decided to 32bit another module that's been lying around un-32bitted for
ages. So I started at 10pm. It's sadly now just after 2am and it's done and
working. And that includes a lot of time spent discussing other things by
email with someone else as well. It's probably pointless, but then I make
a point of being pointless.
Someone once said that I could always surprise them. Well, I think I managed
to surprise even me by just rolling straight though with that. Of course,
it's barely tested, but it's still neat - and it worked straight off which
is quite amazingly amusing. Only now I'm hungry.
Justin likes the Galaxy screen saver. It's whizzy.
Comfortably numb has a gorgeous guitar section in it.
One other thing that happened last night, before my dream, whilst I couldn't
sleep was that I found something that I'd forgotten even though it was an
'easy to work out' thing. I felt a bit silly because it was so easy to see
and I'd become so convinced that something else was right and it was wrong.
It's like suddenly finding that you've actually got 10 fingers when for the
last month you'd been arguing that you'd actually got 12. Ok, it's not very
much like that.
Neeeed fooood. Feed me Seymour!
Until about 8pm today, I'd managed to write about 8 lines of code. Purely
because it took me that long to understand the code I was changing and work
out which bit to add. This is one reason why writing in assembler is
bad. Except, this time, it's not the language that's the problem for me, but
the 'clever' code. Big headaches trying to understand what a clever person
was doing. In any case, it's about 1:30am now and I've got about 3/4 of the
overall problem solved - it's just the integration and API exposure that
needs to be done, but that's going to be at least another hour or so. Oh and
the writing of the documentation, but that's easy because the functions
pretty much cover the documentation anyhow. So I'm going to go to bed.
I'm hungry, too. I need to eat more often.
Tonight's StarGate was one of the first in a while which was actually
exciting; maybe I've had very low expectations, but it's nice to see the
team get beaten quite badly. However, it does sort of put a dampener on my
'oh, it's ok, they've got the Prometheus to fend off the Wraith' argument.
Damn.
I've been rather foolishly bouncing around the Internet this evening. I'm
sure it was a bad idea. Yes, it probably was.
I was coming back from town today and my thoughts wandered idly (well, in a
sort of directed way in order to avoid the regular idle thoughts) toward my
annoyance at using technology badly in films. Specifically Atlantis, as I was
thinking about that in detail last night, of course. In particular (oh, and
spoiler warning for anyone who's not seen it), the idea that viruses can be
distributed from alien cultures to destroy computer systems. Why's this
annoying ? Because it's 'bloody hard'. We'll ignore the fact that the Wraith
and most other people in that distant galaxy talk English (and in the Ori
galaxy, too... hmm) and take that as... no, we'll just ignore it. Now
ignoring that, the Wraith supply lots of information and stuff to the humans
for them to find weaknesses. We accept for a moment that the format that the
information is supplied in is readable to the humans. Why is this data being
placed in a position to be executed in the computer systems ? What I mean
is, what on earth (as the phrase goes) sort of person on that
military/scientific base decided "oh, it's fine to just allow the data we've
received to be accessed through insecure systems".
Whilst the obvious answer is that it makes a good story line. We have to
look deeper, though. Why do we expect to be able to read the data formats
that are supplied by the aliens ? It's hard enough trying to work our way
though known formats we understand (try working out how an Impression
document is stored on disc if you don't believe me - it's better if you've
never seen RISC OS before and have no idea of the underlying principles and
data structure forms, because that places you on a more common level with
the human team on Atlantis), but then throw in the fact that they are using
a different written language, and their principles will differ significantly
- how many fingers do the Wraith have, anyhow ?
We could argue that to aid this process, the Wraith also supplied the
details, in source code form for rebuilding within the human systems, for
decoding their data formats. Then we have the problem that they're having to
understand another language built on different principles - most languages
we deal in are procedural, but who's to say they don't use functional
languages as their primary descriptive mechanism, or for that matter that
they don't use parallel techniques far in advanced of how we use them -
after all, their ships are part organic and it would make some sense to use
that largely organic computer system for massive parallelism.
Even assuming that the aliens understand all there is to know about the data
formats, it's unlikely that they would have the internal details necessary
to exploit whatever security holes were present (if any - this is a high
security project, one assumes!) in the human computer systems. Why would any
of the data transferred be placed for working on insecure system ? Place all
this vital, questionable, data on a system which accepts only rudimentary
requests. Display this, return the results. Query this. Have the two systems
(the one doing the serving, and the client) run different systems -
different processors, different memory architectures, etc to reduce the
possibility of cross system problems.
Again, 'it makes a good story line', but still, it's frustrating. It all
adds to the idea that data formats are vulnerable. That a simple text or
graphic message can cause a destructive effect at the destination. After
all, how many times are people warned not to open emails from people they
don't know because they might be dangerous ? The email isn't dangerous. It's
the program - or the system - that you use that is so. Email is text. It's
data. It's not executed. It doesn't need to be, and should never be. If it
is, there's very few systems that will not explode if they do so. It's only
when that text is processed to something else (MIME attachments, for
example) and processed through other methods that we get into problems. And
the effect of those problems should be an application failure.
Am I just naive ? Am I just taking things to their extremes ? (no, I don't
think I am) Am I trying to justify my earlier statements with something more
tenuously related to the real world ? (maybe)
It's possible I'm just complacent because I've yet to see any sort
of problems through my email, and because I don't play the paranoia game
with it - it's email, it comes in and finds its way through my system which
is if not unique, still not all that common. It trust my judgement that I'm
safe. Not so with Mum and Dad's email because it still ends up on Windows...
which I think is where I start my distrust. Maybe it's just an active
distrust of Windows because of the problems and the hassles it causes. And
because you have to second guess everything you do.
Today I've crossed off one of the things that I needed to do from my list.
That's not too bad, but it's not quite as much as I'd hoped. Oh well.
I was mildly amused by receiving a spam submission through the comment box
yesterday, for some drug or other. Today, I'm even more amused because there
was a comment submitted with the subject of 'Thoughts on Caroline thing' and
the same spam in the body. So clearly someone's read something of the Diary
and then pasted spam in there in the hope that I'm automatically publishing
such things. Some people are weird.
However, it would make a nice injection point for spam to
do that surreptitiously as a valid submission was made. What you'd do would
be to (somehow - the implementation is obviously down to the malware
component) pre-process the comment form input so that forms that included
the name 'comment' and which were a large text field would be replaced (or,
more sensibly, have the text appended to) with the spam text. In terms of
increasing complexity, the way in which the malware would do this would
probably be ... (thinking...)
-
... replace the current and default IE (or whatever browser) proxy settings
with a local proxy. This proxy could then process either the
submitted data (content type application/x-www-form-urlencoded) to
append/replace with the relevant spam, or process the incoming data
from the external host (for content-type text/html, and possibly the XML
variations), and modify the form submission to include a reference to a
small 'onSubmit' which invoked JavaScript (which could be included inline)
to append/replace with the spam.
-
... use whatever proxying hooks are present within the operating system to
perform a transparent redirection to the local program and then perform the
above transformations to the text. This has the advantage that it avoids
making an obvious change to the registry or other configuration source.
-
... directly attack the browser, and replace the submission function with
one which appends/replaces with the spam on the submitted comment.
Alternatively, if the submission method is fixed (fixed library used, etc)
then this might be an easier attack - depending on whether the security on
the application layer or the library layer is more vulnerable.
-
... directly attack the interface, using a system of (in RISC OS Wimp
parlance) filters to trap the click on the system component that provides
the 'submit' function (remembering that most systems don't treat a return
within a multi-line text area to be a submission, but just a new line within
that region, and thus a key-press check is not needed unless it is expected
that the user will invoke such forms from a single-line input instead -
probably useful to trap both). Some generalised heuristics should then be
able to locate a relevant text input field (we assume that system components
are being used for the submission because it makes the browser author's life easier and because it ensures that the overall look of the application is
consistent which obviously is the UI designer's goal [Of course, if you look
at most 'big' Windows applications, you'll of course notice that the
consistency of the UI with the rest of the operating system is of
practically zero concern so this may not be a good assumption - whilst
consistency makes the user's life easier, it also makes this form of attack
easier too]). Once located, the field can have its input modified, either by
direct manipulation if the protection environment allows for that, or by
emulated keypresses, mouse clicks and other input stumuli. Finally the
deferred submission click would be triggered (obviously ensuring that the
problem was not recursive - I would also imagine that some protection would
be necessary to prevent the attacker from interacting with any other
implementation of the same attack. Something simple like just waiting five
seconds before allowing any other submissions to pass through the attack
would be a rudimentary but reasonably safe method of ensuring that the
attack by multiple input tracking systems would not result in an application
(or system, depending on the level of this interface attack) lock as they
fought to repeat the same operations repeatedly.
(as I understand it FireFox, and kin, have the ability to have plugins which
modify the source of pages as they are loaded so that you can add little
things to them if you want. I'm ignoring this sort of thing in this
discussion because it's oh-my-god obvious and scarey)
If I was to do this sort of thing, I'd probably aim for the second attack.
The first one is a simple proof of concept, but it is both too easy to
detect and too easy to circumvent. The proxying hooks offer a much cleaner
and 'invisible' method of hiding the attack. For preference, it would only
be the outgoing data that would be modified as this would leave no
indication to the user that anything untoward was happening (unless the
submission appeared immediately in the resulting page, which is likely but
certainly I rarely pay attention to that sort of thing).
There are other, more subtle, things that could be done here, though. The
goal of this form of attack is to distribute the content ('spam') to a large
number of people. Usually this is achieved because the content attacked is
immediately published (in my case I just get an email, so it's only ever
reaching me - a poor attack). Replacing a single submission by a user,
therefore, might reach tens, hundreds, or thousands of people, depending on
the place in which the posting was made. The likelihood, though, is that the
posting will be rapidly removed. How can that be avoided ? Well, it cannot
easily be avoided, but we removal could be made irrelevant if the submission
is repeated. One way to do that might be to retain the submitted data at the
attack system and re-submit a little while later. Internal information in
the system (for forums, for example) might mean that this was ignored, but
on simpler systems would pass through (obviously a simple hash key check for
each submission would avoid this problem, but that's the form designer's
problem - I would imagine that most forums would not perform this sort of
simple check, although many sites like LiveJournal use human-key response
which are obviously impossible to reuse for this type of recurrent attack).
Instead, however, of submitting modified data initially (assuming one of the
first 3 attack methods - the fourth does not obtain sufficient information
to do so), the URL and details which were submitted could be collected and
used as a source for other attacks. Distribute the details around a botnet
and you can suddenly have a large amount of spam going to a single source -
if the form submission was not complex enough to remove duplicates,
etc. Alternatively, the comment details could be used as the source for
spam subject lines, etc, to avoid filters which look for specific words.
If you've read this far then you're probably very bored . But have
you considered the even more dangerous use ? The entire above description is
intended to propogate spam through comment boxes. The same mechanisms
described in 1, 2 and 3 (particularly 3), can be used to trap and divert
such information to other clients. Say, for example, you used a login form
with your password in. That information might be submitted to the server
just fine, but also a connection made to malicious.site.com and the data
stored there for later examination by Nasty People. Or a site that submitted
card details (god help you if you did that on an insecure site at which
attacks 1 and 2 would succeed - attack 3 is probably the only useful way to
get the information from a secure connection, although attack 4 might
actually stand a good chance as well, again depending on the protection
level of the components that contained such details).
I'm sure none of this is new - hell, I've just been thinking about it for
half an hour and I came up with that lot so I'm sure that people with more
skills and an intent to do nasty stuff could come up with much cleverer and
more insidious methods of obtaining information.
In any case, before I was distracted by thinking about that, what I was
going to say was that I'd got myself all psyched up, thinking that somebody
- even someone anonymous - had something to say to me about Caroline. Even
if it was just a 'hey, you're sad'... so it was a bit of a let down really.
Amusing, but a let down. Ah well.
I've just watched the last episode of Atlantis series 2. This is mostly for
me, but if you're reading this and don't want to know much about it then
look away now - spoilers follow (skip to the rule).
The big cliff-hanger is that there's two Wraith ships on their way to Earth.
Ok, we really don't want that, but they've already said that the Orion and
the Daedelus should be enough to take out one Wraith ship. The Daedelus is,
as we know, very new technology, still using projectile weaponry although
defended by an Asgard shield. We know that Ha'tak motherships are
sufficient, in general, to take out cities from orbit. The Prometheus cannot
do that, and the drones that are fired from the Orion (and Antarctica base,
and Atlantis) are generally only dangerous when used in large numbers (or
the Atlantians would have held off the Wraith for much longer) - it's
understood that the single drone that destroyed a Ha'tak mothership ('It's
good to be King' - hey, I even remember the episode name)! was a lucky shot.
Anyhow, we've got quite a few Ha'tak under the control of the Jaffa, a few
under the control of the system lords who probably wouldn't like the idea of
the Wraith coming after them and their Jaffa (as they're effectively limited
by the Jaffa bodies that they have to inhabit, despite being a separate
entity - I don't think the Wraith are going to hang around to listen to
comparative biology to understand the difference).
So anyhow... all in all I think that two Wraith cruisers should be a
relatively easy job for the Earth crew to pick off. That is, presuming that
the ongoing war with the Ori has been won before they get there. So not
that much of a cliff hanger. Unless, of course, they tell the other Wraith
about the Earth. Which seems unlikely really.
I'm really tired today for some reason. Which leads to mind wandering. And,
for some reason, I've been feeling like there's something exciting that I'm
looking forward to - there's actually a word I wanted but can't remember.
The only future thing to look forward to and be excited about is Bethany's
christening that I can think of. No, I lie, there's War Of The Worlds as
well. But other than those, I can't think of anything.
I keep getting tempted to finish (or redo) my port of pine. Mainly, I tend
to think this because I like pine and it does a pretty neat job of keeping
track of my emails under Linux. It's about as easy to use as a terminal
based mail reader can be. And powerful, if you want it to be. But I have
other things to do and although I have no life, I don't want to fill it
with getting a mail reader that I already have working to run on another
system.
No disc space left on the music drive any more, so the lyrics index process
can't run. Actually, that's not strictly true. There's about 125M free which
isn't enough for the database to live in, sadly. Need to delete some cack
off that disc, I think.
And it's now 1am.
I've tried IE 7 preview beta 2 today. What's my first impressions ? Well the
first thing that springs to mind is "oh my god it looks like Firefox and I
don't like it". The next thought is "where'd the menu bar go ?". This is
very shortly followed by "what the fuck is that gradual fade doing on the
page background ?". After fiddling with a couple of options I've managed to
restrict the gradual fade to the RSS reader only. I'm still very much
opposed to the idea of having RSS readers built in to web browsers, so
that'll probably never be used. What of the tabs ? Well, they work. They're
not particularly nice - you click on an 'empty' tab to open a new tab, and
ctrl-N doesn't open a new tab by default (it opens a new window). For former
means that you end up with a few empty tabs you didn't really want, and the
latter means that you can't just open new tabs quickly. It's probably
ctrl-shift-arm-in-the-air-N or something.
There's a tab overview button though. That's funky. Look at Netsurf's
'history' button and think how cute that is, and then apply the sort of
cuteness to all the tabs - it's not history based, but it's still quite
nice. Of course, it's also a doddle to actually do because it's
just a re-rendering of the pages. But that doesn't mean it's not a good
idea.
The text in the RSS reader is (IMO) too big. I don't know why it comes out
over-large, but it does, and I realise that this isn't really a significant
issue as it goes, but still that's my immediate thought. In fact, the
general rendering of pages seems to be 'too big'. The 'size' button that
they've exposed more prominently now doesn't actually work all that well at
all. It isn't a text size option (like old browsers used to do). It isn't a
'scale up and fit' option (as opera does). It's a 'scale the current
document up, and if it needs scroll bars, so be it'. That is, exactly like
the scale up option you'd get in a word processor, graphics package, or
whatever. Whilst there's a nice parallel there, it's not a lot of use when
you just want to be able to see things bigger. In short, Opera's more useful
there. For some reason it's also (as far as I can tell) increasingly
difficult to make text (or graphic) selections by dragging at scales over
200% - to the point at which at 800% nothing I could do would encourage it
to make a selection. At higher scales table cell content appears to become
missized. This is table cells with regular text in and no special styling
features - I don't use special styling in my pages, partly because it's hard
to get right and partly because I don't need it. It seems, though that even
getting plain tables right is tricky for new IE. The ends of the last
character of the text becomes truncated at high scales (400% upward).
Maybe I should have tried the RSS reader a bit more - it's nice that it does
highlight for you the feeds that are available. But still, it shouldn't
be in the browser, I feel.
And above all this, it doesn't retain the content when you close the window.
It warns you that you're closing multiple tabs, but tough luck if you wanted
to come back to there again later. As I recall, that's exactly what Firefox
does (and, actually, most other applications, but that's another matter). So
Opera wins on that by retaining state. I know that's a browser thing rather
than the underlying componentst that make it up, but that's what I'm dealing
with so that's what I'm thinking about.
All in all, what do I think ? Well, I don't think all that much really. It's
not that I'm unimpressed, but more "it's not actually changed all that
much". The much hyped RSS handling is... well, it's not all that wonderful
really. Yes, you can click on a little button and the page view changes.
Fine. It shouldn't be in the browser in the first place.
Anyhow, it's there. I'll see how it runs. If it causes me problems, I'll
kill it, but I probably still won't use IE much for itself. God only knows
what other parts of the system will now start to behave differently.
Thinking about IE7, it's quite interesting really. The changes are - they
say - significantly for bug fixes and compliancy with standrards, as well as
security. There's a few cosmetic changes brought upon by these and a few
other minor things because they're working along with them. But nothing
that's significantly revamping they externals in a 'real' way. How does that
differ from the perceived changes that I make ? Most of the fixes and
reworkings are under the hood and you don't see them. I can say till I'm blue
in the face "please don't use TaskWindow", but it won't stop people using
it, or change their perception of it (or mine, for that matter - I didn't
know about the problems before and was happy to use it and now I do, I only
really know why I avoided doing certain things, rather than being too much
more wary of it in general). That I know how dangerous it is to use
it is one thing; the I'm really over-stressing the dangers that are involved
because the circumstances are rare (usually) that they will cause a real
problem. But would anyone notice the differences between the 'safer' and the
'oh my god don't do that' versions ? Strictly, and depending in what you've
using it for, yes they can because there is a noticable (and intentional)
slow down under some limited circumstances. But it's of the orders of
centi-seconds, and the wasting of a few centi-seconds (actually, it's not
wasted - we're not busy-waiting - but just distributed differently) easily
outweighs the possibility of total system crash.
There we go. I've just compared myself to Microsoft. I feel unclean.
Re-reading some of that it seems like I'm being overly picky for the sake
of it. Oh well. Maybe in time I'll change how I feel.
Someone found the diary by looking for 'Daydream Believer' a few days ago -
specifically the 'Cheer up, Sleepy Jean'. It's a very fun bouncy which seems
guarenteed to make you happy, I think.
A very annoying evening trying to track another of those vague problems
that generates aborts with no good reason. It's almost tempting to think it
might be hardware failure, except I trust my code less than the hardware -
principle of easiest (or possibly 'most likely') blame.
Still a surprising number of people finding the diary through the lyrics to
'What else is there?'.
|
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".