This is as days pass by, by Stuart Langridge

SpamAssassin

I've finally got sick enough of spam to do something about it. Setting up SpamAssassin (the obvious choice) on my mailserver was trivial, thanks to dman's excellent Configuration : Exim 3 and Spamassassin guide for Debian.

Bring it on, spammers! Ha haa!

-----

Weblog XSLT templates in MT

Chris Thompson has been cited by Dorothea and Sarabian, two people who both know a lot more about markup than I do, for having a new and impressive technique for building his weblog; his MT templates are pure XML, which are then XSLTed into valid XHTML1.1 for display. Neat. With better browser support he could even skip the server-side translation and have it all done client-side, but we're a way off that for the moment.

Wrist phones

A note from jwz about the Samsung wrist phone. Now all we need is for that to be combined with the new video phones (like Samsung's own offering) and we can all be in that advert that Peter Davidson and Sandra Dickinson did where his head appeared on her watch. That was years ago. As ever, marketing offering products that engineering can only produce after 20 years of technological development. I can't even remember what the advert was for.

Two minds as one

Dorothea muses on the undesirability of being able to mind-read people, including your partner. She talks about the act of conscious sharing of thought (rather than having it automatically) having real value, which is a point to not be denied. However, she then goes on to talk about how she doesn't agree with "the suggested near-identity of two souls able to communicate without words". I think that that's making a wrong assumption; that in order to know what someone's thinking, you have to think like them; in essence, that no-one can predict another's thoughts, but instead predict what they themselves would do and know that the other person would do the same. I'm not at all convinced about that. Dorothea goes on to ask

Who really wants to marry the reflection in their mirror? More to the point, who wants to marry someone who wants to marry the reflection in their mirror?

She herself admits that this is overstating the case, but I really do not believe that you need to be someone's reflection to share their thoughts. Otherwise, all good policemen would be criminals and serial killers, and all good goalkeepers would be centre forwards. Doesn't work like that. I don't know how much of mind-reading is pure mechanics; induction based on past action, in that you know what that person did in a hundred previous similar situations, and so they'll likely do the same thing again. I'm inclined to downplay that aspect, though; anyone with a psychic telephone to someone else can tell you that every now and again you can pick random truths about said other person out of the air, with no previous backup, and entirely unlike what you yourself would do. It seems to me to not be a mere reflection but instead understanding and acceptance of the way their mind works, which (to my mind, at least) is a goal to aim towards if it can be achieved. It doesn't necessarily have to be lovers and spouses, either. This sort of thing works with friends and family too, for some.

This concept exists in the same sort of area as something Chesterton once said: "A man's friend likes him but leaves him as he is". Chesterton himself was part of a group of great friends that also included George Bernard Shaw and Hilaire Belloc; men who almost entirely disagreed with him on everything on which it was possible to disagree, but nonetheless enjoyed a rich friendship with him. I'll bet that they were able to predict to some extent the direction of the thought of the others, despite being almost entirely unalike, and without reducing the other person's thought to a caricature.

Chesteron did also go on to say that "a man's wife loves him and is always trying to turn him into somebody else", which points to a view of friends as possibly closer than spouses. Interesting dichotomy, there, perhaps; is a true meeting of minds more intellectually or emotionally stimulating? Is the ideal to have both?

Look for a self-help book from me which will earn me millions, just as soon as I work out the answer to this. One of the perennial questions for humanity to answer, I imagine, along with "What is it, to live?".

Oh, and "What were Billie-Joe MacAllister and the girl throwing off the Tallahatchie bridge?"

Max Payne Kung-Fu edition

MAX PAYNE: Kung Fu Edition looks like the most cool thing ever to exist, ever, and it's freely downloadable. Even the video trailer is fantastic, including the background music which I must try and identify. Sadly, I don't have Max Payne, the game (this is just a mod), because I don't have a machine studly enough to play it (giles, my main machine, is a Linux box (which would be OK with WineX) but is only a Duron 800, and, most importantly, only has an old 8MB ATI Rage Pro video card which isn't good enough). Bah. I need more money for computers.

Bush is a robot, as if you didn't think that already

Would the real George Bush please stand down (via Meg), a classic article from the Guardian which speculates on how Dubya is able to appear in two places at once.

So if it's not him, who is it? Some experts suspect that this might be a heretofore unknown Bush brother, a family sleeper who has been groomed to step in at times of crisis, or even George Bush Sr on his first outing following a recent toupee fitting and a course of Botox injections. Yesterday's appearance has also given fresh credence to outlandish claims that Mr Bush's public outings have long been undertaken by an animatronic puppet especially built for Dick Cheney in the mid-1990s.

Har! The robot is President. Pass the battery charger.

Meeting Jakob Nielsen

Yesterday, I did something you didn't.

I spoke to Jakob Nielsen. Exciting, huh?

I was at a whole-day seminar on intranet portals being run by NN/g, and it was pretty interesting. Not as interesting as getting to ask Jakob himself a couple of questions, though. I was very careful to not mention micropayments, but we did talk about his Law of the Web User Experience: "Users spend most of their time on other sites. Thus, anything that is a convention and used on the majority of other sites will be burned into the users' brains and you can only deviate from it on pain of major usability problems." We talked about how that applies to intranets during the panel discussion, because users will spend most time at work using the intranet rathe than external websites (assuming that you've done it right and they're not the sort who just surf the web all day and do no work), and therefore it's possibly OK to deviate from accepted usability guidelines (because you have a captive audience). I suspected that his answer to his would be that we should still emulate the web, because people are becoming more familiar with it all the time, and I wasn't wrong; that's exactly what he said. Very helpful in general over the day, although I was half-expecting some Grand Tenets of Usability and didn't get much that I didn't know from reading the Alertbox.

And he has appalling battered brown loafer deck shoes, too, but that doesn't stop him being a very reasonable chap in person and not as dogmatic as I had expected. All points to Jakob, who goes up in my estimation. Funny how some people are entirely different online and in person.

getElementsBySelector

Simon presents the unbelieveably excellent document.getElementsBySelector, a Javascript routine that allows you to get elements based on a CSS selector that matches them. I am in awe of this thing's coolness. Simon gets his Javascript Guru award. Very neat indeed.

-----

Python UK Conference 2003

UK Python Conference 2003

Wanna go. Wanna wanna wanna.

It's gonna cost me a monkey to get in, though. Oof.

None -----

Javascript clickable spelling corrections

Simon Willison has turned out an excellent spelling correction thing in JavaScript. Very neat indeed, I must say. Rather naughtily, though, when you correct one spelling it fixes that misspelling all the way through your textarea, but doesn't make the correction in the formatted text. Still, the problem is well on the way to being solved, and Simon gets his JavaScript regexes badge :-)

None

PyGTK 2.0 tutorial

The PyGTK 2.0 Tutorial is exceptionally useful, since PyGTK documentation is a bit thin on the ground apart from API references.

-----

Special and general purpose small computing devices

Brad Choate waxes lyrical over the Neuros Digital Audio Computer, a portable mp3 player. He lists some features for it:

  • 20GB capacity
  • Vorbis audio support
  • $399

If you're going to spend that much on an mp3 player anyway, then can I make a suggestion? Buy a Sharp Zaurus PDA. It's got more memory, it'll do pretty much as much stuff from a music-playing point of view, and, guess what: you get a fully functional Linux box in your pocket for free. The prices (in America) seem roughly comparable, the dimensions equally are not too far apart. Admittedly the Neuros has a built-in digital radio, but in those times when you don't know what to do because you've listened to all your mp3s, you could perhaps read an e-book or write some code or browse the web using GPRS and your mobile or play with all the other Z software that you've got installed.

None

Marking up blocks of code

Paul Hammond is wondering how to mark up blocks of code in HTML. He references a few methods, such as <pre>...</pre>, or <p><code>...</code></p>. His worries with the first method are that preformatted text destroys layouts, and that it's an uneasy mix of presentation and markup. I can't help the first, but I'm more prepared to have a layout broken than I am to have code break onto two lines, since an awful lot of languages are intolerant of that sort of thing. My solution to this when I post code blocks is <pre><code>...</code></pre>. I've seen people set <code> to display: block in stylesheets, but that breaks if you want to write some code inline (as with that little CSS snippet just there).

None

CSS hash hack and testing

As alluded to in the previous post, you can prefix a CSS property with a hash and Internet Explorer will still process that property, in contravention of the CSS specification. This may be an easy way of showing CSS to IE and hiding it from more compliant browsers. I've drawn up a test page -- please visit it, because you can select whether your browser is compliant or not and we can get a good list of compliant and non-compliant browsers, and it means that I don't have to test it on everything in the world. :-)

-----

Possible new CSS hack

This is possibly a new CSS hack, and possibly an old CSS hack, and possibly me just being dim. I haven't got time to test it, you see.

It seems that if you prefix a CSS declaration with a hash, IE6/Win2K ignores the hash, and Phoenix0.5/Win2K ignores the declaration. Something like:


#myheader {
    position: absolute;
    top: 0; left; 0; right: 0;
    #width: 50px;
}

IE6/Win2K will obey the width declaration, and Phoenix 0.5/Win2K will not. I'll test more stuff when I get a chance.

Jif Lemon Day

Don't forget the pancakes; it's Jif Lemon Day.

Oh, and after spending three hours last night fiddling about with pygtk and writing an app to synchronise the contents of two directories, I finally realised that I was stupid and instead did it with one line of rsync. Duh.

Accelerated X on an ATI Rage Pro

I've got an ATI Rage Pro 8MB video card, and I never could get accelerated video from it under XFree86. This, of course, meant that my machine was doing software acceleration, and that meant that I couldn't play tuxracer because it uses OpenGL; a tragedy, I'm sure you'll agree.

Then I discovered that hardware acceleration support for Mach64 cards (of which mine was one) is part of the XFree CVS, and that it has also been unofficially packaged for Debian. With the assistance of an article by Jason Boxman, I was able to get it installed pretty easily. The only problem I ran into is that I got an error message in my /var/log/XFree86.0.log about not being able to allocate 12000kb of video memory; this is because my card only has 8MB (and I found a bug report than Branden Robinson, Debian X maintainer, has closed, saying "You cannot allocate more video memory than you have!" (although I can't find it at the moment). I fixed this by stepping down my default colour depth in /etc/X11/XF86Config-4 from 24 to 16, and now it all works accelerated. I also had to make a minor change to kdm's config file, as described in /usr/share/doc/xserver-xfree86-dri-mach64/README.Debian. And now it all works, with nice fast OpenGL programs.

I've discovered that I'm crap at tuxracer, though.

-----

This website belongs to Stuart Langridge. Contact details are available. Don't eat yellow snow. Valid HTML5, at least in theory, except for the bits that aren't because I'm that futuristic that I'm ahead of the spec, oh yes. HTML5 help from Bruce Lawson, among others. Fonts from the superb FontSquirrel. End.