July 31, 2003
Beauty and the Beast

Nicole Kidman (sigh) has just won a libel case against The Daily Mail (boo, hiss): Kidman wins libel case.

Utterly unimportant, yes. But we like Ms. Kidman, and we don't like The Daily Mail, so this is good. Yes?

Posted to The Big Room by Simon Brunning at 02:00 PM
Unwise Microwave Oven Experiments

Dan just mentioned that he recently threw away on old microwave oven that he didn't want any more. What a waste! This is what he should have done: Unwise Microwave Oven Experiments.

Posted to Funny by Simon Brunning at 01:28 PM
How many Daiquiris?

A very pleasant evening with Steve, Andy, and Andy's mate Tim last night. Much nerdy conversation. Topics included Australia, sking, surfing, blogging, learning and using Java, Python, work related cock-ups, our children, and, uh, the physical attributes of various women in our immediate environment.

Didn't manage to get drunk, though, despite our best efforts.

Update: Oh yes - we talked about RSS, too.

Posted to Apropos of nothing by Simon Brunning at 10:52 AM
Thanks, Tracey

My colleague Tracey made a couple of armbands for my kids. Thanks, Tracey!

Now, back to database connection pooling. Ho hum...

Posted to Apropos of nothing by Simon Brunning at 10:15 AM
July 30, 2003
MMR

MMR is in the news again - Mothers lose MMR battle. Lord Justice Sedley said the evidence presented by the mothers in the earlier hearing that the MMR vaccination was dangerous and untenable was "junk science". A bit of sanity, at last.

In general, the Media's coverage of MMR is appalling. The impression given to the public is that the jury is still out on MMR, whereas in fact the scientific consensus is that it is totally safe.

To any parents out there who are wondering about MMR, I say this: Do some reasearch. Don't rely on newspapers to tell you what's going on - they are, uh, misleading, to say the least. "MMR Controversy" is a story, "MMR Safe" isn't, and the papers seem to value a story more than they do the truth. Don't trust me, either. Do some reasearch.

Speak to your GP. Visit the NHS's MMR - The Facts site. Do a bit of on-line research, being careful to stick to reliable sources.

And don't get me started on Carol Bloody Vorderman...

Posted to Parenting by Simon Brunning at 01:50 PM
Bloglines

Bloglines was out of action for two or three hours yesterday. I don't know if it was just my account, or the whole thing, but I certainly couldn't see it!

I contacted Mark Fletcher, and he fixed it very quickly, and got a very nice email back. Very good service - especially considering that I'm not paying for it!

Even though I've only been using Bloglines for a couple of weeks now, I really missed it. It's amazing how quickly it's become an essential. What's more, even in so short a time, it's noticeably improved, notably in the subscription management screen.

How could it improve further? Well, I already mentioned that I'd like to be able to configure the text size, and to nest subscription folders within folders. One other thing has occurred to me since; when you select a subscription folder in the left hand pane on the 'My Blogs' screen, it both shows all new posts in the left hand pane, and expands the folder. I'd prefer the folder not to expand unless I click on the '+'.

Keep up the good work, Mike, and good luck. Bloglines deserves to succeed, and I hope it does.

Update August 13th: The folder thing is fixed now. ;-)

Posted to Blogs by Simon Brunning at 10:47 AM
Python 2.3 is here

Python 2.3 final was released yesterday. Go get it.

I pointed out the cool new stuff when the 1st beta came out.

Posted to Python by Simon Brunning at 10:21 AM
July 29, 2003
Barbie porn

Barbie porn. No, really.

Better with sound.

Posted to Funny by Simon Brunning at 05:44 PM
Don't do that - you'll go blind!

No, not that. I mean, don't put on that tie.

Via Slashdot.

Posted to Science and technology by Simon Brunning at 03:31 PM
Margaritas, Daiquiris and Mojitos

Steve and I will be meeting up tomorrow evening at Cubana, near Waterloo, to sample the cocktails. In responsible quantities, naturally.

All welcome.

Then, after we've sampled the cocktails in responsible quantities, I don't doubt that we'll go on to sample them in irresponsible quantities. (And these are proper cocktails, mind. None of your poncy Baileys here.)

If anyone does fancy coming along, leave a comment, and I'll bung you my mobile number.

Posted to Apropos of nothing by Simon Brunning at 02:32 PM
The Haynes Baby Manual

The Haynes Baby Manual. What a fabulous idea!

Posted to Parenting by Simon Brunning at 01:06 PM
The Real Underground

The Real Underground shows the iconic contemporary London Underground map, Harry Beck's original 1933 version, and a geographically correct version, with a very pleasing morph between the three. Cool toy.

Via Halfway House.

Posted to Toys and games by Simon Brunning at 12:37 PM
July 28, 2003
I'm so old they've cancelled my blood type

So long, Bob Hope.

Posted to Music and Film by Simon Brunning at 03:38 PM
The 51st State?

We are now a client state.

Britain has by now lost its sovereignty to the United States and has become a client state. Scary, especially given the US's current rogue nation attitudes.

Posted to The Big Room by Simon Brunning at 01:47 PM
You are here

Start with The Universe within 12.5 Light Years, and just keep zooming out. Wow.

Via Gimboland.

Posted to Science and technology by Simon Brunning at 12:29 PM
Blake's 7 without the cardboard

Blake's 7 set for hi-tech return.

How sad am I? I'm actually looking forward to this.

Let's hope the production values of the new version aren't too high, though, or it just won't be the same.

Update: Slashdot catches up eventually. ;-)

Posted to Music and Film by Simon Brunning at 12:14 PM
Technology in the pursuit of human happiness

iGlassware, a wireless beer glass that signals your waiter when you need a refill.

Via Slashdot.

Posted to Toys and games by Simon Brunning at 12:09 PM
July 25, 2003
Russ on Python

Russ has been looking at Python. He's decided against using it, and he has written up his conclusions.

The points he raises are good ones. I've discussed Python Web Frameworks before, and this remained his major gripe. Fair enough. I agree. And Python isn't perfect - no argument there.

Where I differ from Russ is really on a matter of taste more than anything else. He says "If I need to go to an IRC channel or search through mailing lists or newsgroups to find solutions to simple problems, I get annoyed."

Well, for me, the Python community is certainly one of Python's greatest assets, with c.l.py at its heart. I've asked questions there many times, and people have always helped me. When I was a Python newbie, I'd regularly ask questions there, only to have Python Demi-gods provide answers within minutes. You simply cannot buy support like that - and you get it for nothing from the Python Community.

Russ had a quite a bit of trouble getting stuff going. I suspect that someone on c.l.py would have been able to help him out with most of it.

In the Java world, I've not found anything quite like c.l.py. Recently, the Java blogsphere has started to take shape. Just yesterday, Marc Logemann helped me out with something that I'd not been able to get working for ages. (Thanks, Marc!) But before blogging, I would have had nowhere to go.

He's right about the fact that documentation for 3rd party libraries for Python can be, uh, inconsistent in quality. (Core Pythons documentation is superb.) But that's an open source issue in general, I think, not particular to Python.

Russ suggests that Python needs a 'Corporate Angel'. That would be great, I can't deny. But I think that it's the PR that Python would benefit from more than anything else. For me, Python is usually the best language for getting the job done, but not for getting the job. It doesn't boost your CV. That's where Java and J2EE come in. ;-)

One last, FYI point. Python is growing JAR file equivalents in Python 2.3. No reason Russ should have known that, though.

Anyway, thanks, Russ, for an interesting, blinkers-off, rant free view of Python from a Java fan's perspective.

Update 28th July. See also V. Satheesh Babu's Java, Python and Russ.

Posted to Python by Simon Brunning at 04:26 PM
Java - a Language for the masses?

Java Is a Language for the Masses

Sun do seem a bit nannyish to me. Macros ain't the half of it. What about operator overloading? What about multiple inheritance? Metaclasses? First class functions?

I prefer Python's 'a language for consenting adults' approach.

Posted to Java by Simon Brunning at 01:56 PM
My eyes, my eyes....

Ow!

Via Neurotech.

Posted to Toys and games by Simon Brunning at 11:54 AM
Heath Robinson

A couple of years ago, I went looking for a good Heath Robinson site, to illustrate my view of the failings of a design that we were working on. I didn't find anything.

I looked again this morning, and I found a little gem - W Heath Robinson's Art.

Some of my favourites:

We've all worked on (and perpetrated) this sort of thing, haven't we? ;-)

Posted to Funny by Simon Brunning at 10:08 AM
Python 2.3 release candidate 2

Python 2.3 release candidate 2

Probably (hopefully!) the last release candidate.

Posted to Python by Simon Brunning at 09:47 AM
What women want

Women seek 'beauty over brains'

I am able, with the weight of my 35 years behind me, to confirm that I have no fucking idea what women want.

BTW, the research casts no light on me, having little of either.

Posted to Apropos of nothing by Simon Brunning at 09:08 AM
July 24, 2003
Database connection pooling

See Using the Jakarta Commons, Part 3. Lots of cool stuff here, but I'm particularly interested in looking at DBCP, the database connection pool package.

One of my team's apps runs on Tomcat 4.0.x, and we use Tomcat's connection pooling. I'm not sure if it doesn't work how we want it to, or whether we are just using it wrong, but we are having real problems with it. Mainly, the problem is that it seems very keen on throwing connections away. Unless you go to the pool very soon after a connection has been returned, you'll find the pool empty, and have to wait for a new one to be built. Which is, of course, exactly what we are using a pool to avoid. (Note to self - try Evo on Tomcat 4.1.x.)

I also looked into using IBM's AS400JDBCConnectionPool, since it's a '400 that we are trying to get to. But I can't get that going under Tomcat at all.

So, perhaps DBCP is the way to go. Certainly it's worth a look. Unless anyone has any suggestions as to where I'm going wrong with either of the other two approaches?

Posted to Java by Simon Brunning at 10:28 AM
July 23, 2003
Baboons can code

According to Higher Primates Can Program, "higher primates can perform software testing, traverse complex menus, and code simple XML schemas".

What's more, "None of the animals understood the Java programming language, even the ‘alpha’ animals. However, most subjects immediately understood Visual Basic 3.0".

Indeed - I think I've maintained some of their RPG, too.

Via Memory Dump.

Posted to Funny by Simon Brunning at 05:33 PM
Proof of the existence of God

Over Three Hundred Proofs of God’s Existence

4 ONTOLOGICAL ARGUMENT (II)
(1) I can conceive of a perfect God.
(2) One of the qualities of perfection is existence.
(3) Therefore, God exists

36 ARGUMENT FROM INCOMPLETE DEVASTATION
(1) A plane crashed killing 143 passengers and crew.
(2) But one child survived with only third-degree burns.
(3) Therefore, God exists.

Some more of my favorites:

25 ARGUMENT FROM INTERNET AUTHORITY
(1) There is a website that successfully argues for the existence of God.
(2) Here is the URL.
(3) Therefore, God exists.

34 ARGUMENT FROM MANIFESTATIONS
(1) If you turn your head sideways and squint a little, you can see an image of a bearded face in that tortilla.
(2) Therefore, God exists.

50 ARGUMENT FROM INFINITE REGRESS
[1] Ask atheists what caused the Big Bang.
[2] Regardless of their answer, ask how they know this.
[3] Continue process until the atheist admits he doesn't know the answer to one of your questions.
[4] You win!
[5] Therefore, God exists

I've had this one for real:

51 ARGUMENT FROM INCREDULITY
(1) How could God NOT exist, you bozo?
(2) Therefore, God exists.

107 ARGUMENT FROM ANECDOTAL EXPERIENCE (I)
(1) I once experienced something I can't explain.
(2) Atheists offer several possible, natural explanations.
(3) You're just guessing! I was there.
(4) Therefore, God exists.

137 ARGUMENT FROM IDIOCY
(1) I am an idiot.
(2) Even an idiot can see that God exists.
(3) Therefore, God exists.

328 ARGUMENT FROM FEELING GOD'S PRESENCE
(1) Atheists just haven't truly felt God's presence yet.
(2) If they had ever felt God's presence, they would not be atheists.
(3) Theists have truly felt God's presence.
(4) Therefore, God exists.

Via As Above.

Update: Also, via fundamental atheism, The Brick Testament.

Posted to Funny by Simon Brunning at 05:07 PM
Cool, but worrying

Take a look at the new Spider-Man II poster.

The last early release Spider-Man movie poster used the World Trade Centre as a back-drop. Now they are (I think) using the Empire State. Not asking for trouble, I hope.

Posted to Music and Film by Simon Brunning at 02:35 PM
AR RAM Disk

Nice little windows utility - AR RAM Disk.

If you develop software, you probably have steps in your build process where you create a lot of temporary files. (For example, a typical Ant build process will compile a lot of Java into class files, then put them together into a jar file). Creating all these transient files would be quicker on a RAM disk, and would fragment your disk less.

If, that is, you have the RAM for it.

Via John Lipsky.

Posted to Software by Simon Brunning at 02:03 PM
9/11 - one event, or two?

The erstwhile owners of New York's World Trade Centre are arguing with their insurers. Was each plane a separate attack? Or was did both constitute a single coordinated attack?

This matters, because there seems to be a maximum pay-out per event. So if there was only one event, the maximum payout would be 3½ billion dollars. If it were two, then it would be $7 billion.

See Insurance battle over Twin Towers.

It seems to me that, since you certainly couldn't consider both planes striking the WTC as a coincidence, then it must be one event. But then, I'm not a lawyer. And where there is 3½ billion dollars at stake, I'm sure that you can find lawyers who can prove just about anything, or go down trying.

And if you think the whole argument is ridiculous, I can tell you, from my exposure to the insurance industry, that this is by no means the most insane thing going on...

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

Andy pointed out a new RSS aggregator, Bloglines.

Prior to this week, I'd been using FeedReader. This was OK, but on Monday morning it threw all my subscriptions away, and not for the first time. So I consigned it to the bit bucket, and went looking for something new. Andy's post was timely.

Naturally, my first thought was the effbot's EffNews. But Bloglines' big advantage is that it's an online service - so you can use it from as many computers as you wish.

I've been playing with it since Monday. Works pretty good. There was a problem with configuration for a short while, but I emailed thier support team, and it was fixed PDQ.

I'd like to be able to configure the text size, and to nest folders within folders. I'm sure that this sort of thing will come with time. And success. ;-)

All in all, I like it. I hope they make some money.

Posted to Blogs by Simon Brunning at 10:06 AM
July 22, 2003
A post-literate society?

Rebecca Blood points out that society has moved from a being an oral society to being a literate one in the (comparatively) recent time. She also suggests that we are now moving towards post-literacy.

This is resulting in Acquired Attention Deficit Disorder. I know exactly what she's talking about here...

The Internet, we all know, is flooding us with information. Rebecca points out that this isn't all bad, but that it's giving us problems with focus.

(Post-literate doesn't mean that we can't or won't read, BTW. Read the article.)

(Also BTW - is Rebecca Blood a real name? It's too good to be true for a goth to be born with 'Blood' for a surname.)

Posted to The Internet by Simon Brunning at 04:49 PM
Packer layout manager

Avoiding the GridBag: The GridBagLayout is kind of the brocoli of the Swing layout managers. It's good for you, there are people who seem to really like it, but it's brocoli. Hmmm - I like broccoli.

Anyway - this reminds me of Tk's pack geometry manager. Which is probably no coincidence.

I've not used Packer, so I may be talking out of my, uh, hat. Let's face it - it wouldn't be the first time. But I think I prefer the approach taken by RelativeLayout, very much a layout manager for the rest of us. I've used Tk's pack geometry manager, and while it worked, it was awkward.

Via Java Today.

Update 23rd July: An SWT port of RelativeLayout.

Posted to Java by Simon Brunning at 03:29 PM
Pizza cuts cancer risk

First it was red wine, then curry, then wanking, now pizza.

All I need now is for beer to be healthy, especially in megadose quantities, and I'll probably live forever.

Posted to Science and technology by Simon Brunning at 12:01 PM
ZMatrix

ZMatrix is a Windows active desktop, displaying Matrix stype streaming characters replacing your wallpaper. Totally useless, totally cool.

Via Ned Batchelder.

Posted to Toys and games by Simon Brunning at 10:14 AM
July 21, 2003
BBC blog coverage

A blog for everyone

Pretty accurate, too.

Posted to Blogs by Simon Brunning at 02:11 PM
Eclipse 3.0 M2 - New and Noteworthy

Eclipse 3.0 M2 - New and Noteworthy

Eclipse just keeps getting better and better.

I particulary like the duplicate code fragment finder in this build.

Posted to Java by Simon Brunning at 12:16 PM
Corporate Pimps

Corporate Pimps - Dealing with Technical Recruiters

Because recruiters are universally maligned, their clients have no more respect for their opinions than you do.

The recruiter has no technical knowledge. The skills you’ve spent years acquiring are just empty keywords and acronyms to them.

All so true it hurts. The only good thing about the downturn in the technical job market is that the Recruitment Consultants (as they label themselves in the UK) are getting it in the neck even worse than we are.

Anyway, some good tips here.

Via Alan Green.

Posted to Software development by Simon Brunning at 11:53 AM
The Ideal Programmer

Bruce Eckel, The Ideal Programmer.

An interesting, if unfocused, semi-rant about the poor quality of the average coder.

Some interesting numbers: 5% of the programmers are 20 times more productive than the other 95%. The majority (probably that other 95%) of programmers don't read books on programming. Now, I'd love to take this at face value - after all, I read a lot of books on programming. But most books probably don't make people into better programmers, just better informed programmers. In fact, it's often the complete opposite. The code examples in most tech books irritate me greatly, for example - they get across the narrow technical point that they are attempting to illustrate, but apart from that, they are often good examples of how not to code.

There are, however, a very few books which can make one a better programmer, I think. Code Complete and The Pragmatic Programmer, for example, should be mandatory reading for anyone who makes a living cutting code. Other good examples might be the GoF book, or Bitter Java.

How many people in our profession really love what they do? Not many - 95% (the same 95% again?) are in it for the cash - indoor work, with no heavy lifting. There do exist, though, programmers who do not love what they do, but do nevertheless approach it in a professional manner. I know - I work with some of them. But the couldn't-care-less brigade are always present, too...

Posted to Software development by Simon Brunning at 11:42 AM
The next time I fly...

I want to fly CurryJet.

Posted to On the road by Simon Brunning at 10:15 AM
Python 2.3 release candidate 1

Python 2.3 release candidate 1 was released on Friday.

I've been running beta 2 for a while, and it's good.

There may have to be another release candidate, since 2.3 currently doesn't work on Cygwin. But the Python dev team are hoping that it's a Cygwin bug rather than a Python bug, and that release candidate 1 will be the only one.

In any case, there is a pretty hard deadline on 2.3 final - it needs to be out by the 31st if it's to make it into the next OS X release.

Update: Looks like there will be a release candidate 2.

Posted to Python by Simon Brunning at 10:11 AM
23 today

Today is my 23rd birthday.

23 in hexadecimal.

Not the first time that I've measured my age in hex, and probably not the last. So much easier on the ear that way, I find.

Posted to Apropos of nothing by Simon Brunning at 09:26 AM
July 18, 2003
Dr David Kelly's body found

Dr David Kelly's body found.

WTF is happening here? Did he kill himself, or did someone else kill him? (I think that we can rule out coincidence.)

Who would want him dead, and why? He's already spilt the beans, hasn't he? Or was there more to tell?

I didn't think that the US or UK governments did this sort of thing any more. They use the F16 or Tornado for their summary executions these days, don't they? But perhaps I'm not paranoid enough...

And even if he did commit suicide, no one will believe it. This'll be fueling conspiracy theories for years.

Update, 2:35 p.m.: According to the BBC's timeline, he went for a walk at three yesterday. Which tells us nothing. If he wanted to kill himself, it sounds like the ideal excuse to get out of the house.

But on the other hand, if he was a regular walker, then an assassin could have been waiting for him. And they would probably try to make it look like suicide.

Me? I do think suicide is the more likely explanation. Partly because he wasn't used to press attention, and he was in trouble with his bosses, the MOD. But mainly because I can't see any motive for anyone to kill him. Am I missing something?

One thing I am sure of - we'll never be sure of the truth.

Posted to The Big Room by Simon Brunning at 02:04 PM
You know you've been away from the '400 for too long...

When you start up SEU, and drag the bottom of your 5250 emulator window down to see more lines of source. Sigh.

Posted to iSeries by Simon Brunning at 12:06 PM
July 17, 2003
Hunting for Bambi

Apparently, in Las Vegas, you can shoot naked women with paint ball guns.

Unless, that is, it's not true. But no, it has to be true. It just has to be. ;-)

"Video for this story is no longer available." Shame.

Via Rebecca Blood.

Posted to Funny by Simon Brunning at 05:27 PM
Daddy, why did we have to attack Iraq?

Questions and Answers about Foreign Policy (and the U.S. Invasion of Iraq)

Posted to Funny by Simon Brunning at 03:53 PM
Python Warts updated

Andrew Kuchling has updated his Python Warts page, to take recent changes to Python into account.

There are a couple of things in there that I really don't see as warts at all. Raw strings, for example, seem to me to be a a fairly elegant was of solving the escaping problem.

The explicit self. requirement is something I find helpful. It makes it obvious whether you are dealing with an instance variable or a local one. In Java, I always use the this. prefix.

The .join() string method? What can I say? I've just got so used to it now that I wouldn't have it any other way. Besides, the martellibot has shown why join() is best implemented as a string method.

What's missing? Well, as of 2.3, you still need the string module for several constants, even though (almost all) the functions are available as string methods. But I gather that by version 3.0, the string module will be deprecated. So by then, the constants will have to have been put somewhere else - probably they'll be attributes of the built-in str object.

Assuming that the str object does grow attributes, the idea could be extended. When you open a file using the built-in file() object, you need to pass it a bunch of mode flags. These you pass as strings, which I find ugly - another wart, IMHO. These could easily become attributes of file. So, instead of:

myFile = file(filename, 'rb')

, you could do:

myFile = file(filename, file.READ + file.BINARY)

Longer, yes, but easier to remember and to read, I think.

Opening files isn't the only place where you use fairly arbitrary characters like this - the struct module springs to mind, where you have 'format characters'. These should defined as constants by the module, I think.

Oh yes, one other thing. os.path.walk must die. And I see it's on its way out now - the Timbot's new os.walk generator has made it into 2.3, and a thing of beauty it is too.

Posted to Python by Simon Brunning at 02:34 PM
Umbrellas

People ought to have to pass some form of a test, like a driving test, before they are allowed to use dangerous implements like umbrellas.

If you are, oh, say six foot two, you'll find that very many people hold their umbrellas with the spokes at your eye level. And then appear to do their level best to poke your eyes out.

Posted to Rants by Simon Brunning at 09:27 AM
July 15, 2003
Congratulations!

Congratulations to Andy Todd on the birth of Alexander.

Posted to Parenting by Simon Brunning at 05:33 PM
The apostrophe in the 21st century

The end of the world...

Now, there are two distinct elements to my opinion on modern English usage.

On the one hand, my rational side, Stephen Pinker reader that I am1, agrees with the article in that "language is normative, not prescriptive". English is the thing (or things) that people speak. Any 'rules' which don't reflect actual, live, usage, are bunk.

But, on the other hand, I'm a total pedant, and the 'grocer's apostrophe' drives me insane whenever I see it.

I am quite unable to reconcile these two opinions. Ho hum.

Via Something.

1 I'm reading The Blank Slate right now, and it's totally fascinating. Not quite as jaw droppingly awesome as The Language Instinct, but then, what is?

Posted to Rants by Simon Brunning at 02:55 PM
Matrix Ping-pong

Matrix Ping-pong. Awesome.

Via Ned Batchelder.

Posted to Funny by Simon Brunning at 01:21 PM
Visual Basic to Python

It's early days, but vb2Py (Visual Basic to Python Converter) looks an interesting project.

VB, love it or hate it, is unquestionably ubiquitous. Anything that will help any former burger flippers who have seen the light can only be a good thing.

Via Kevin Altis.

Posted to Python by Simon Brunning at 11:21 AM
July 14, 2003
Using the Jakarta Commons

Using the Jakarta Commons

I've used a lot of stuff from the Jakarta project - Tomcat, Ant, and Velocity, mainly. But I've not really had a look at Commons.

Some of the stuff in Commons looks really handy. Covered by the article, CLI, Lang and Collections look like they should be in every Java coder's back pocket. I'll be taking a look at Pool, too - this could come in handy for me in the near future...

Posted to Java by Simon Brunning at 02:41 PM
This week, I will be mostly...

... in the UK. Makes a nice change.

Posted to On the road by Simon Brunning at 02:30 PM
Weblog Ethics

Weblog Ethics

Interesting. (Though the whole RSS/Dave Winer/Mark Pilgrim saga isn't - at least not to me.)

Me, I frequently edit my posts to fix typos and the like. I occasionally go back and fix what I see as bad style, too - is that OK? I don't deliberately alter the meaning of my posts, but I suppose that it's possible that I do.

I also often add Update: sections at the bottom of old posts. Other than that, I leave them alone.

Via Simon Willson.

Posted to Blogs by Simon Brunning at 12:09 PM
toString - just say no!

Java tip of the day - a must for newbies (are you reading this, Steve?), and a valuable reminder to the experienced: Kasia's The abuse and over-use of toString().

I was working on other people's code last week, and I wish they had read this! The debug code was using toString() all over the place, and NullPointerExceptions were frequent.

To sum up, the rules with toString() are: always override it, and never call it (directly). Instead, use String.valueOf() at all times.

Via Erik.

Posted to Java by Simon Brunning at 10:55 AM
July 11, 2003
Forty seven degrees in Madrid yesterday

Forty bloody seven! That's too hot, by about twenty degrees, as far as I'm concerned.

Before the invention of air-conditioning, how did people live in this country?

Posted to On the road by Simon Brunning at 09:25 AM
July 09, 2003
Python Web Frameworks

There are a whole bunch of Python Web Frameworks out there. Russ doesn't know what to use. Neither do I.

Anyone?

Posted to Python by Simon Brunning at 03:36 PM
Online groups

A Group Is Its Own Worst Enemy

So there's this question "What is required to make a large, long-lived online group successful?" and I think I can now answer with some confidence: "It depends." I'm hoping to flesh that answer out a little bit in the next ten years.

As a participant (to one extent or another) in several online communities, I found this a fascinating read.

Via Joel.

Posted to The Internet by Simon Brunning at 03:27 PM
July 08, 2003
Scary stuff

Headlines Over the Horizon

Not all of it is that scary, mind you. Quite how the world is put under threat by the fact that the US has only a dozen super-carriers, (as opposed to the 15 which would allow them to intimidate the whole world at once) I don't know.

But there are developments here which aren't getting the attention that they should.

Spotted on Slashdot. I know, I know.

Posted to The Big Room by Simon Brunning at 03:57 PM
July 07, 2003
Ruthless?

Ruthless workers are on the move

(I'll give the Indy one more chance...)

Ruthless? Cynical, perhaps, but it's the way we are generally treated that make us that way. My current employer is different - they have shown me real loyalty, and I'll show it to them back. (And I'm not just saying that in case one of the directors reads this. ;-) But they are unusual - in most of the places that I've worked, I was just a resource, no more.

Trust and loyalty are two way streets. When companies start showing them to their workers, then they can expect them in return. Not before.

Naturally, while times are hard in the job market, people will stick where they are. But as soon as the market shifts, there will be a lot of compnies left in the lurch...

Posted to Business by Simon Brunning at 02:54 PM
Python Boosts JAR File Auditor Functionality

Spotted on Java Today - Python Boosts JAR File Auditor Functionality.

Python stuff seems to be showing up more and more frequently on Java related sites these days.

Which is nice.

Posted to Python by Simon Brunning at 01:56 PM
The internet is shit.

The internet is shit.

Well, I'm with Andy on this one. And there's two of us, and only one of him. Besides, he doesn't even seem to know that 'Internet' should be capitalised! Stupid bastard.

And with arguments like those in our arsenal, the argument is as good as won.

Posted to The Internet by Simon Brunning at 01:28 PM
I'm beginning to recognise the air hostesses...

Once again, I'm off to Amsterdam this afternoon.

And once again, I don't bloody know if I'm going to Madrid after that, or whether I'm coming back to London. Sigh.

Posted to On the road by Simon Brunning at 01:03 PM
Online Java resources

Steve mentioned Java Ranch to me at the weekend. He's in the throws of learning Java right now, and he says that he's found it a very helpful site. Bravo them!

While the Python community remains peerless, I have found a number of good Java online resources. I thought that I'd mention my list of irreplaceable sites...

The Java world is a fast moving one. If you want to keep up, these sites are worth a visit every now and again. Or daily, if you are as sad as I am. ;-)


  • Erik's weblog. Regularly updated, this is Erik's take on what's important in the world of Java.

  • java.blogs. This aggregator covers hundreds of Java weblogs. A bit hit and miss, 'cos many people havn't set up a Java specific feed, so there's really too much non-Java related stuff here. Nevertheless, worth a look every now and again - especially the Popular Entries section.

There are a few very good Java books available, and bloody hundreds of rubbish ones. A list of good Java books is really another post altogether, but a couple of book related online resources require a mention.

A few places publish regular short, specialised articles on various Java subjects. I look at these sites every now and again to see if there's anything I'd like to learn about. I also search them if I need to do something I've not done before, 'cos if there is an article on the subject, it can save a ton of time.

Sun themselves have a couple of interesting new sites. The jury is still out, but they are worth watching.

Lastly, there are a couple of sources of software that you should keep in your favorites list. There are loads of places to go, but frankly, 90% + of the OSS software that I use comes from one of these places.


  • IBM Eclipse. My IDE of choice.

  • The Jakarta Project. Tomcat, Ant, Velocity, the list goes on and on. Without Jakarta, the Java world would be a poorer place by far.

  • JUnit. Unit testing the XP way. You know it makes sense.

  • JTOpen. Steve will want this, even if most don't. It's IBM's iSeries library. Not cool, but it works.

And don't forget Usenet - comp.lang.java and subgroups are a rich lode.

Which other essential sites am I missing?

Posted to Java by Simon Brunning at 12:07 PM
Atonal Kitten

So, no drunken blogging on Saturday night after all - sorry to disappoint.

We didn't do the beer festival in the end - it just seemed like a bit too much hassle. Instead, Steve and Cathy rustled up a quick barbie (with Steve presiding over the fire, and Cathy looking after the salad, as is only natural), while Sam-I-Am chased me unrelentingly around the garden with a cricket bat.

Then we went to Steve's local. It was just like being in an episode of the Archers! I kept expecting someone to bring a cow in. Instead, someone brought in a dog the size of a cow.

Clearly we were getting a bit too nerdy (talking about metaclasses and AOP), 'cos someone came over and tried to head-hunt us. (At least I think he was trying to head-hunt us - he was a bit too much a a salesman/manager type for me to understand exactly what he was saying. If indeed he was saying anything. His company's website is similarly unforthcoming...)

On Sunday, we went to the Guilfest as planned. Atomic Kitten were dreadful! Now, naturally, I wasn't expecting a great deal from them. But basic professional competence, (keeping in tune, that sort of thing) is something I do expect from so cynically manufactured a band.

Still, it was a good day. Beer, food, company and (some) music all good.

And Sam was a star.

Posted to Apropos of nothing by Simon Brunning at 09:44 AM
July 04, 2003
Go wild in the country

I'm off to see Steve this weekend. Drunken blogging on Saturday night is a distinct possibility...

To Amsterdam again on Monday evening, thence to Madrid on Wednesday evening, and back to Blighty on Friday.

Posted to Apropos of nothing by Simon Brunning at 04:11 PM
XP and design

The company for which I work is not yet 'agile'. We are introducing test-first throughout our development process, though, and other we are looking at and discussing the other XP core practices.

One if the aspects of XP which seems to be putting some people off the idea is the absence of a specific design stage. Demystifying Extreme Programming: Just-in-time design demonstrates the just-in-time design concept.

Posted to Software development by Simon Brunning at 01:52 PM
Top Trumps - with a difference

C**t Trumps

My only question - where (oh where) is Carol Vorderman? The deck just isn't complete without her.

Via b3ta

Posted to Funny by Simon Brunning at 12:45 PM
Blog glossary

Blog glossary

So now you know what a link whore is. ;-)

Via Erik.

Posted to Blogs by Simon Brunning at 10:02 AM
Irritating colleagues

Workmates' habits 'drive us mad'

One colleague always leaves his mobile on his desk . It's uncanny - it never rings when he's there, and always rings as soon as he steps out of the room.

Another has a mouse which doesn't work smoothly. Every hour or so he'll slam it down on the desk and make everyone jump.

There are, uh, disagreements about whether the window should be open or not. Me, I'm fresh-air boy. People who like to be warmer can wear a bloody jumper! If I'm too hot, there's nothing I can do.

We also get the coffee slurping thing, too.

Me, I'm perfect, naturally. No irritating habits at all. ;-)

Posted to Apropos of nothing by Simon Brunning at 09:38 AM
July 03, 2003
The Paint Game

Cal's The Paint Game - good for wasting a few minutes...

Me - I got 2/10. As a proper bloke should - a bloke recognises red, orange, yellow, green, blue, purple, pink, brown, black, grey and white. Possibly British Racing Green, too. And that's it.

Hmmm - I got a rather scary 4/10 the 2nd time through...

Posted to Toys and games by Simon Brunning at 04:51 PM
For the less aspirational parent

Are you worried that your child might grow up to make a ton of cash? That they might learn a profession, become an accountant, a programmer, or (shudder) a lawyer?

Or worse, that they might become a really useful member of society? A nurse, a doctor, a teacher, a firefighter?

Well, worry no more! Just get them the McDonald's Food Cart with Play Food, and show them what you expect of them. (Available in the UK from the ever classy Woolworths.)

Posted to Parenting by Simon Brunning at 10:45 AM
July 02, 2003
Thumbnail Image

Thumbnail Image.

Bwahahahahahaha!

Posted to Funny by Simon Brunning at 03:59 PM
This weekend

I'll be back in the UK tomorrow - the Madrid thing wasn't organised in time, so it'll be next week at the earliest now. After another Amsterdam visit, that is.

No girls this weekend. Steve has kindly invited me down to sunny Haslemere for The Guilfest (no, really), which will be cool. And I'm sure we won't get drunk or anything. Honest. ;-)

I usually meet up with Steve during the week, after work. All this gadding about the Continent means we haven't had a beer and put the World aright for ages. It's a wonder it hasn't fallen to pieces.

Anyway, it will be really good to see Steve, Sam and the lovely Cathy again.

Posted to On the road by Simon Brunning at 03:27 PM
Google toolbar 2.0

The Google Toolbar 2.0 is in beta. The popup blocker is fab, and I'm sure the 'Blog This' button would be great too, if I were a Blogger user.

But what happened to the info button? Version 1.0 if the toolbar had one, and it allowed quick access to English translations and back references (amongst other things). I miss it!

Posted to The Internet by Simon Brunning at 12:46 PM
Dynamically extending Python classes

Mark 'Dive into Python' Pilgrim gives a nice demonstration of Python's dynamism in Dynamically extending APIs.

Posted to Python by Simon Brunning at 11:36 AM
July 01, 2003
The Matrix Reloaded: The Abridged Script

The Matrix Reloaded: The Abridged Script

Very funny. By the same author: The Lord of the Rings: the Fellowship of the Ring: The Abridged Script (in which I was particularly amused by the MtG references, and the Elijah Wood put downs), and loads more.

Posted to Funny by Simon Brunning at 05:23 PM
Text Processing in Python

Looks like David Mertz's Text Processing in Python is out. I can't see myself holding out too long on that purchase.

Try before you buy - read Text Processing with Python online.

Just one criticism - why-oh-why another one-chapter Python tutorial at the beginning? I really can't see the point. Virtually every Python book has one of these. You don't get this with, say, Java books. They assume that you know Java already.

Also interesting from the pen of David - Why list comprehensions are called list comprehensions.

Posted to Python by Simon Brunning at 03:32 PM
Open source = higher quality

Interesting. In Closed source versus open source in a model of software bug dynamics, Damien Challet and Yann Le Du of the University of Oxford show that open source software has less defects than closed source, other circumstances being equal.

I'll have to try this on on El Presidente - "It's your fault that the software I wrote is crap. You insisted that it be closed..."

Via Azeem Azhar.

Posted to Open source by Simon Brunning at 02:50 PM
Back in Amsterdam

And the weather is gruesome.

Tomorrow, either London or Madrid, I don't yet know.

I'm getting very bored of planes and hotels now, it has to be said.

Posted to On the road by Simon Brunning at 01:03 PM
Eclipse 3.0 M1

So many new toys today! Eclipse 3.0 M1 News

Check out the method call hierarchy, the new Quick fixes, the code generation improvements and the new style checks - these all look cool to me. I'll be doing some Java work in a couple of days...

Oh, and good luck jEdit! You've got my vote.

Posted to Java by Simon Brunning at 12:45 PM
Email on the road...

I was previously using beer.com for my email on the move. Sadly, it's been pretty unreliable, though, so I've had to switch to Yahoo.

This is a shame, 'cos I'm sad enough to think that a beer.com address was pretty cool. But it was bouncing mails sent to me, and those that did arrive were not becoming visible for an hour or two. Yahoo, though not cool, works fine.

Hotmail? Wouldn't touch it with yours, mate.

Anyone had any notable experiences, good or bad, with a free web-based email account?

Posted to The Internet by Simon Brunning at 10:38 AM
Java 1.4.2

Java 1.4.2

Another new version of my day-to-day workhorse. I've not upgraded yet, but when I get the time...

Posted to Java by Simon Brunning at 10:26 AM
Python 2.3

Python 2.3b2

I've upgraded, and as usual with Python, It Just Works.

Cool stuff in there - see Andrew Kuchling's What's New in Python 2.3 for details.

Update: See also Alex Martelli's What's New in Python 2.3? for another overview, less exhaustive (which isn't like Alex), but which covers some of the most useful enhancements in some detail.

Posted to Python by Simon Brunning at 10:13 AM
UK Blogmeet

UK Blogmeet

On the off chance that I'm in the UK at the time, this sounds like fun.

Posted to Blogs by Simon Brunning at 10:09 AM