December 19, 2003
Right, that's it, I'm orf

Happy Christmas everybody, and a tolerable New Year.

And remember everybody, behave badly, and everything in excess. ;-)

Posted to Apropos of nothing by Simon Brunning at 04:47 PM
December 18, 2003
Yet more Christmas overindulgence

I'll be meeting Andy (but sadly not Steve, who's hung over) this evening at De Hems. (The map you'll find by following that link is wrong potentially a bit misleading, BTW. This is where De Hems is.

Then tomorrow is my company Christmas lunch - and then I'm off until January the 4th!

I'll be seeing The Return of the King on Monday with my bother-in-law, then meeting Michael in the All Bar One in Wimbledon next Tuesday evening. Then it's as good as Christmas Day! (And Freja's birthday.)

Posted to Apropos of nothing by Simon Brunning at 03:43 PM
Hiding email addresses with JavaScript

JavaScript : Hiding Email Addresses presents a nice simple way of including your email address on a web page wiile hiding it from spambots.

Yes, Mum, you need this. But don't worry, I'll sort it out for you. ;-)

Posted to JavaScript by Simon Brunning at 03:09 PM
Velocity

Velocity: Fast Track to Templating is a nice introduction to the Velocity templating engine.

(See also Start up the Velocity Template Engine, another Velocity tutorial article.)

Posted to Java by Simon Brunning at 03:02 PM
Predators

Good luck to the National Crime Squad's new online paedophile trap scheme, Project Pin. I have a feeling that the technically adept will be find ways around this easily enough, though, and the online paedophiles seem to be nothing if not technically adept. Anonymous browsing isn't rocket science, for a start. Still, it'll hopefully sweep up a number of dangerous people, and perhaps the Project Pin people have a few tricks of their own. Lets hope so.

(I have heard the argument that users of paedophile pornography aren't actually doing anything wrong - as opposed to those who abuse children directly. This is, of course, bollocks. Users of paedophile pornography create a market, children are abused to fulfil this market, and they are heavily responsible for this abuse.)

I've heard nothing to indicate that Ian Huntley was active online, so Project Pin wouldn't have identified him even had it existed. But we see now that he had a history of allegations of sexual offences, so background checks should have prevented him from working with children in the first place.

There are certainly human rights issues to consider here. If someone is not convicted of an offence, is it right that it should stain their character? It's a tough one. I think that when it comes to the compilation of a register of those who might pose a risk to children, a civil standard of proof should be sufficient. That is to say - a person cannot (and should not) be convicted of a crime unless the evidence proves guilt beyond reasonable doubt, but that this information should be available on the register if the preponderance of evidence indicates reason to be concerned. Clearly, by this standard, Huntley would have been on such a register.

When I say 'available' here, I do mean available to those who have a good reason for needing to know - those who employ people to work with children. If this information were to be available too easily, vigilantes would certainly make use of it. (It might distract them from attacking paediatricians, I suppose.) There should also be an appeals process.

And the there's Michael Jackson. Sigh. I just don't know what to think about this. I can quite believe that there was something untoward going on - after all, his childhood would be enough to screw anybody up. But then, on the other hand, I can equally believe that the allegations were fabricated, motivated by greed for publicity or cash. I suppose that we'll never know - the chances of a fair trial must be just about zero.

But let's keep this whole predatory paedophile thing in perspective. Parents: if you are worried about your child's safety (and all of you are), teach them to cross the road. Over 300 children were killed crossing the road in the UK in just one year (according to the 1999 figures, the latest that I've been able to find online). Whereas the danger of your child being murdered by a stranger is tiny - according to The Sunday Times (6/8/95): "Despite the scepticism of parents, the murder figures look relatively reassuring. Between 1983 and 1993, on average 86 children under 16 were killed each year in England and Wales, mostly by their parents and minders. But the number murdered by strangers has been tiny, averaging five a year... children are not becoming more vulnerable to homicide". And this figure is pretty static, too: it's not on the increase.

The number of parents I see dragging their children across busy roads appals me. What do they think they are teaching them? I always use a pedestrian crossing when I'm with the girls, if there's one available, and I always wait for the green light. (I wait for the green light when any children are around, in fact.) If there's no pedestrian crossing, we do the full 'green cross code' thing, and I make the girls tell me when they think it's safe to cross.

Deep breath. Deep breath.

OK, rant over.

Posted to The Big Room by Simon Brunning at 02:57 PM
December 17, 2003
Executing Saddam

I've had my two-pennyworth on Saddam's fate, and so has my mum. Now, via Gert we get a professional philosopher's thoughts: The ethics of executing Saddam.

Posted to The Big Room by Simon Brunning at 05:44 PM
Joel on Windows and Unix

I friend of mine recently referred to Joel as "A pompous, opinionated windbag". Which raised a laugh, I must say, but it isn't really fair. Joel's writing varies between the insightful and the frankly flaky, it's true, but I think that the former predominates.

In Biculturalism, he sums up the differences between the Windows and Unix cultures with: "Unix culture values code which is useful to other programmers, while Windows culture values code which is useful to non-programmers".

He was prompted to think about this while reading Eric S. Raymond's excellent The Art of UNIX Programming. ESR can be rather flaky himself at times - he's a gun nut, for one thing, and we really don't see his point on this side of the pond. But on technical issues his judgement is superb. We already knew that he likes Python. In The Art of UNIX Programming, we see him give an overview of Python and Java, amongst other languages. He's pretty fair, I'd say, but his preference is clear.

Posted to Software development by Simon Brunning at 04:14 PM
Microsoft - you're shit, and you know you are

Hmmm. A bit of rather nasty DHTML for you. See it here, or run it here.

Run this in Firebird, and all is well. Since your browser window wasn't opened by JavaScript, it can't be closed by JavaScript. (Note that the onbeforeunload event is an IE special, so the 'navigate away' link doesn't even try to call the doclose() function under Firebird.)

But under IE, it's different. Both the links execute the doclose() function. Which is fair enough. But, scarily, in both cases, your browser window ends up getting closed. Clearly, the assignment to the top.opener property has fooled IE into thinking that the window is a pop up, that that it's safe to close it. Yuck!

What I don't understand is: Why do you see the alert box more than once?

Tested with: Firebird 0.7 and IE 6.0 SP1.

Posted to JavaScript by Simon Brunning at 02:54 PM
December 16, 2003
Software Patents

Software Patents - A Bad Thing. It's nice to see that someone is taking an interest. It's just a shame that he's a Lib Dem, and won't ever be in a position of power. ;-)

Posted to Software by Simon Brunning at 04:07 PM
Nerd pride

We are all nerds now

Via Simon Willison.

Posted to Apropos of nothing by Simon Brunning at 03:51 PM
Blaaargh

It was Mark's birthday today. So, on top of a heavy hangover, I've just returned from a boozy lunch.

My productivity this afternoon might suffer somewhat.

Posted to Apropos of nothing by Simon Brunning at 03:07 PM
Shhhh!

I'm a bear with a sore head this morning. I got caught between Steve and Red Stripe.

Last night's Java meet was good. The Java guys are all very enthusiastic, which is great. And very young.

Jeremy is a thoroughly bloody nice chap, I must say. I've found that he's got good reason for getting up so bloody early - he's not mad after all. We also seem to have arranged reciprocal lunchtime curries, one at hos local, and one at mine.

Sam is a very clever young chap, I must say. I managed to keep up with most of what we was saying, though. I think. I'm not so sure about Steve, though.

Later in the evening, I had a good chat with James Strachan about Groovey and Jython. I was wittering on about the difference between syntax and semantics, but I don't think I got my point across. I suspect that this is because I was almost totally incoherent by this stage.

There were too many people there for me to retain everyone's name, I'm afraid, what with my crap memory and the Red Stripe. So if I spoke to you and haven't mentioned it, that's why. ;-)

I'll certainly go again. A nice bunch of blokes.

Posted to Java by Simon Brunning at 10:48 AM
Plerase do not adjust your set

Normal service will be resumed shortly.

Well, actually, it's been resumed already. My account with my host had been frozen 'cos I'd cancelled a lost credit card and forgot to register the new one with them. Sigh.

Posted to Blogs by Simon Brunning at 10:16 AM
December 15, 2003
iDuck

A damn shame we are running NT 4.0 at work. NT 4.0 doesn't support USB, which means I can't use an iDuck to carry data around.

Zip disks are just so last century, don't you think?

Via iamcal.

Posted to Toys and games by Simon Brunning at 03:38 PM
Open Source Profilers for Java

Open Source Profilers for Java. Useful.

Err, useful to other people, that is - my code always performs adequately the first time. Honest. ;-)

Posted to Java by Simon Brunning at 03:30 PM
Blogging is passé

Blogging is passé - it's official.

Well, if Jamie Oliver has one, it must be.

Via Andy.

Posted to Blogs by Simon Brunning at 03:22 PM
London Java Meetup

Don't forget the London Java Meetup this evening.

There should hopefully be a few people whose blogs I read there - Steve, Sam, Cal, and James, for a start off.

Posted to Java by Simon Brunning at 02:12 PM
Ultimate Boot CD

JennyCide points out the Ultimate Boot CD. Looks bloody handy. I carry a Knoppix disk and an essentials disk of my own with me at all times. I may add this to the mix.

OK, OK, not at all times. But the CD wallet lives in my briefcase, which is with me most of the time, and I do try to remember it when I visit family and friends. It's amazing how often they want me to sort something out on their PCs when I visit them!

My essentials disk carries most of the free software mentioned here on it.

Posted to Software by Simon Brunning at 01:55 PM
Ace in the hole

Well done, chaps. You got him. (My cursory reading seems to indicate that the X-Men were involved in some way.)

What to do with him? Well, the vast majority of his crimes were against the Iraqi people, so it seems only just that they be allowed to try him. And while I don't approve of capital punishment, I'm not going to shed any tears on his behalf should his erstwhile victims decide to get medieval on his ass.

Posted to The Big Room by Simon Brunning at 01:36 PM
Tweakomatic

Microsoft employs human beings shock!

Tweakomatic looks like a nice toy, allowing you to do all the cool things that you can do with TweakUI with WMI scripts. All this from Microsoft themselves! Free! (As in beer, not as in speech. Totally unsupported. May contain nuts.)

The Scriptomatic Tool also looks interesting. I wonder if those auto generated scripts can be translated into Python? Oooh, Tim Golden's wmi.py looks just the ticket... ;-)

Via Sanjay.

Posted to Software by Simon Brunning at 01:05 PM
December 11, 2003
Not in tomorrow...

It's the girls' school play.

Posted to Apropos of nothing by Simon Brunning at 04:58 PM
Ad for nerds only

These guys have their target segment well narrowed down..

for i in [78, 111, 119, 32, 72, 105, 114, 105, 110, 103, 0]: print chr(i),

Via MickBlog.

Posted to Funny by Simon Brunning at 04:21 PM
Next contestant - Sybil Fawlty

Specialist subject - the bleedin' obvious. Men Stop Thinking Rationally Around Good Looking Women.

Posted to Funny by Simon Brunning at 01:00 PM
A major contribution to road safety

I'm convinced that this is a major contribution to road safety.

Via Gizmodo.

Posted to Funny by Simon Brunning at 10:58 AM
December 08, 2003
winGuiAuto.py

Oh, bugger, I'd better get winGuiAuto.py cleaned up and ready for release, hadn't I? ;-)

I need to:

  • Finish the docstrings.
  • Add list box support.
  • Write some simple docs and examples.
  • Build an installer script.

Oh, and register it on PyPI. And that will be version 1.0 done.

I'm already thinking of a version 2. Version 1 is a bit old-school, really. There's plenty of passing hwnds around going on, and I don't want that. I'd like to make version 2 object oriented. I'm having one major problem working out how this would work, though.

Clearly, there will be a Window class, and creating its instances will be created in much the same way as you'd currently get a hwnd using the findTopWindow() function. Then you'd ask this Window instance for its controls. The problem is that I'd expect the Control class to be abstract, and to have concrete classes like Button, ComboBox, EditBox and so on. These classes would have only the behaviours applicable to the control. But I don't know how to find out which of these classes to use for a given control - or even if it's possible in principle to make that decision.

Ah, bugger it. I'd better concentrate on finishing version 1 before I get too carried away...

Update: Firstly: a somewhat updated version of winGuiAuto.py.

Secondly, I gather that in order to work out what kind of control I have the Window Style might come in handy. I'll look into it. Thanks to "Lucky" Campbell for this hint. ;-)

Posted to Python by Simon Brunning at 12:58 PM
Been there, done that...

Got the t-shirt. ;-)

I had a good time on Saturday, despite ending the evening still feeling rather sober. I can't think how that happened.

Billy wasn't quite what I was expecting. Rather than mad-as-a-snake, which was what I was expecting, he was endearingly child-like.

I also met: Steve, Tristan, Kev, Elsie , Pob, Anna, Dan, H, another Steve, and, uh, a bunch of 'comic people'.
Thouroughly bloody nice blokes (and blokettes) the lot of them.

Posted to Apropos of nothing by Simon Brunning at 12:25 PM
December 05, 2003
Dark future

I find Manna scarily plausible.

Except for the Australia Project, that is. That's just like me, that is - believe the pessimism, not the optimism. ;-)

Via iamcal.

Posted to Science and technology by Simon Brunning at 04:33 PM
Alert - Catherine Zeta Jones

Sounds like just your type.

Posted to Funny by Simon Brunning at 03:04 PM
Steve's future

Over a few ales last night, Steve and I worked out his future career. He's going to be a carpenter!

No, not a Carpenter. A carpenter. Like Jesus, only without the worshipers. Or, hopefully, the crucifixion.

Posted to Apropos of nothing by Simon Brunning at 02:55 PM
Thinking about exercise

Thinking about exercise 'can beef up biceps'

This is in the Torygraph, so it must be bollocks true.

Right, I'm off to get an excersise video to watch. I'll be like a whippet this time next month.

Posted to Funny by Simon Brunning at 02:46 PM
Weird

I just received a very odd email. Clearly it's a scam of some kind, but I can't work out exactly what's going on.

The mail's "Subject" was "Transaction Receipt (UKCards)", and it claimed to be from "UKCards [receipt@ukcards.com]". The body of the mail was as follows:

"Please note: All charges to your statement
will appear in the name "UKCARDS LIMITED".

Order Information
Amount: £399.95
Currency: GBP
Merchant Name: HUNTINGDON MAIL ORDER
Description: iPod Music Player 40GB

Customer Service
Telephone: 01480 456111
Email: N/A

Delivery Address
47 Silver Street, London, NW1 5TR

If you have any questions on the delivery
of this order or product details please contact
the merchant directly using the above details."

Needless to say, I've placed no such order. (I only wish I could. Mmmm, iPod.)

Now, no credit card details are mentioned - certainly 'cos they don't have my credit card details. "NW1 5TR" isn't a valid postcode, and there is no Silver Street anywhere in NW1.

Here's the really funny bit - 01480 456111 is the phone number for the Cambridgeshire Constabulary. WTF is going on here?

Update: Bogus Apple iPod spam attempts to launch attack on police phone system, Sophos comments. "On 8 December, police announced that a 21-year-old man has been arrested and released on bail in connection with the incident."

Posted to The Internet by Simon Brunning at 02:30 PM
What Kind of Drunk Are You?


What Kind of Drunk Are You?

Via skin.

Which reminds me. At Steve's urging, I'm going to Gatecrash Billy's bash on Saturday. Might be a laugh, and it will be interesting to put faces to names. Or, in most cases, nom de plumes.

Posted to Apropos of nothing by Simon Brunning at 10:11 AM
December 04, 2003
Snackspot

The premier snack information portal for the UK.

Class.

Posted to Blogs by Simon Brunning at 03:39 PM
Python Bounties

Mark Shuttleworth is at it again!

I've mentioned Mark's SchoolTool project before. Now, he's offering to fund work towards building Python scripting interfaces.

Hmmm. I woinder if he's be interested in my Windows GUI automation stuff - scripting the unscriptable? Probably not - looks like it's all Linux stiff. Ho hum.

Via Jeremy Hylton.

Posted to Python by Simon Brunning at 12:33 PM
Service programs and the binder source language

It's been a long time since my last '400 related post. But then, it's been a long while since I touched a '400, so that's hardly surprising.

Still, this is interesting. When I was using ILE, I didn't use service programs (which are basically just like Windows' DLLs), and I used CRTPGM's MODULE parameter to specify the, uh, modules.

If you are in the same place, then Service Programs with a Smile, Binder Source: The Little Language That Could and Customizing Your Development with Extensible RPG might be worth a read.

Posted to iSeries by Simon Brunning at 12:16 PM
December 03, 2003
Running PyChecker from PythonWin

Python tip of the day: Running PyChecker from PythonWin.

Posted to Python by Simon Brunning at 05:15 PM
I'm feeling rather mellow...

Product presentation this morning, followed by a large curry and several Cobras at lunchtime. Class.

I worry that my productivity might not be at its peak this afternoon.

Update: Yup, I've done bugger all.

Posted to Apropos of nothing by Simon Brunning at 03:31 PM
December 02, 2003
My top ten

Micheal and I were discussing our personal top ten lists, as drunken men are wont to do. Well, I was drunk - he isn't a drinker, so what his excuse is I don't know.

Hmmm. I'm quite unable to get my list down to 10. Here it is as it stands:

(These pages are reasonably safe for work, by the way, but I can't speak for any ads...)

There were the ones that I've managed, with gritted teeth, to exclude from my list:

Posted to Apropos of nothing by Simon Brunning at 05:14 PM
Now that he can afford beer again...

I'll be meeting Steve on Thursday at The Stage Door. Anyone who wants to know how he's getting on at his new place of work would be welcome to come along. (And since he has no 'net access, it's the only way you'll find out...)

We'll be meeting at 6:30-ish. If our last meeting at The Stage Door is anything to go by, we'll probably move on at some point, so give us a shout if you are coming, and we'll keep you in the loop.

Posted to Apropos of nothing by Simon Brunning at 02:59 PM
The Twits

Freja has reached a very important point in her life. She is now able to read books to herself that she really enjoys.

Prior to now, the books that she found exciting and funny were just a bit out of her range, so she's need me to read them to her. Recently, I've read her Charlie and the Chocolate Factory, Harry Potter and The Wizard of Oz. Great stuff. I was planning on The Hobbit and The Phantom Tollbooth next. But this weekend, we were in a bookshop and we came across The Twits. Freja was in hysterics all the way home.

Honestly, I'm in two minds about this. On the one hand, I'm really pleased that she's getting so much pleasure from reading. But on the other, I'm going to miss reading her bedtime stories. Sigh.

Posted to Parenting by Simon Brunning at 01:40 PM
December 01, 2003
Bowling

I went bowling this weekend.

I didn't mean to. Really.

No, I meant to go ice skating. Freja was desparate to go, so off we went to Streatham on the number 57. But where the rink used to be, we found a bowling alley. So we went bowling instead.

Freja (nearly seven) beat me soundly. Sigh.

Posted to Apropos of nothing by Simon Brunning at 04:39 PM
Games, games, games

Via As Above, I find the wonderful Low-Tech Game Systems.

This article lists loads of games you can play with voices, hands, pens, paper, and coins. You need never be bored on a train again!

From this excellent starting point, I discovered (or rediscovered) some fabulous gaming related places:

Posted to Toys and games by Simon Brunning at 04:01 PM
Types

When trying to explain the difference between dynamic typing and weak typing, I used to refer to this page (specifically the Addendum at the bottom). I still will - it's brief, but gets the point across.

For the long version, though, in future I'll refer to What the heck is: A type.

Posted to Software development by Simon Brunning at 01:48 PM
Joke of the day

Liverpool manager Gerard Houllier sends scouts out round the world looking for a new striker to replace Emile Heskey, and hopefully win Liverpool the title. One of his scouts informs him of a young Iraqi striker who he thinks will turn out to be a true superstar. So Gerard flies to Iraq to watch him, is suitably impressed and arranges for him to come over to Anfield.

Two weeks later Liverpool are 3-0 down at home to Man Utd with only 30 minutes left. Houllier gives the young Iraqi striker the nod to go on and takes off Emile Heskey. The lad is a sensation, scores 4 in 30 minutes and wins the game for Liverpool. The fans are delighted, the players and coaches are delighted and the media love the new star. When he comes off the pitch he phones his Mum to tell her about his first day in English football.

”Hi Mum, guess what?” he says. ”I played for 30 minutes today, we were 3-0 down, but I scored 4 and we won. Everybody loves me, the fans, the players and the media, they all love me”.

”Great,” says his Mum, ”let me tell you about my day. Your father got shot in the street, your sister and I were attacked and beaten, and your brother has joined a gang of looters, while you were having a great time”.

The young Iraqi lad is very upset. ”What can I say Mum, I’m so sorry.”

”Sorry?” says his Mum ”It's your fault we moved to Liverpool in the first place!”

Via email, origin unknown.

Posted to Funny by Simon Brunning at 12:16 PM
Goodies

Software goodies of the day.

Say goodbye to Partition Magic - Andy points out that Knoppix comes with QTParted, and Simon points out that, though QTParted doesn't work on NTFS, ntfsresize does, and that's on Knoppix too.

Hans' pic2html is very cool. I'm not really sure how much use it is, but it's cool nevertheless.

Posted to Software by Simon Brunning at 10:37 AM
Umbrellas reprise

I've ranted about umbrellas before, and my feelings haven't changed. One more thing, though - why do people insist on using umbrellas even when it isn't bloody raining any more! Gits.

Posted to Rants by Simon Brunning at 09:37 AM
Good Luck, Steve

Steve, a happy first day, and many happy extensions.

Posted to Apropos of nothing by Simon Brunning at 09:29 AM