May 2003

31May2003

Impossible Performance Art

By carlfish on

Inexorable, the harbour is going nowhere, it has nothing else to do. It will beat on this jetty day after day until it was broken, until it is out of its way. Such forces have hewn valleys between mountains, this little structure of wood and steel will be beaten down if the harbour has to wait until the end of civilisation to do it. And what has civilisation been, but a blink in the water's eye, a ripple in history?

28May2003

The Junk Drawer Mini-Pattern

By carlfish on

You are in some way subject to architectural, framework or language constraints that force you to write ugly code. For example, your UI framework requires one kind of object, your persistence framework requires another, and you keep having to convert between the two.

26May2003

Defining Metadata

By carlfish on

I recently posted a definition of Metadata to the XP mailing-list. It's pretty basic stuff, but I figured I'd put it here in case I needed to find it again later.

24May2003

What Bridge?

By carlfish on

Anyway, today after dropping into the bakery to grab lunch, I decided to walk across the bridge and take some photos. I should do it again some time when it's more sunny. Meanwhile you can find the photographs in question here.

24May2003

Quality In Depth

By carlfish on

Above all, you need a culture where quality is considered important. (This, once again, parallels security.) If the company doesn't value quality, you're never going to achieve it because everyone will be looking for ways to work around whatever measures you put in place, and nobody will ever be called to account for doing so.

19May2003

Respect the Technology

By carlfish on

In order for this to happen, though, I expect the people who design toasted sandwich makers for a living to know a hell of a lot about them. This is fundamentally necessary. If it were made by some guy who'd read a pamphlet one evening about how to build an electrical appliance, it'd be just as likely to blow up in my face as do anything useful.

19May2003

Mortal Hacking

By carlfish on

Sometimes I think it would be really cool to have my working day commentated by the ghostly voice from Mortal Kombat.

18May2003

The Open Source Prime Directive

By carlfish on

Getting people to contribute to Open Source is <em>hard</em>. If you do not have sufficient motivation to take the first, important steps yourself, nobody else is going to. At most, you'll attract a bunch of other people who, like you, want to talk about the project instead of coding it.

17May2003

Passing by on the web

By carlfish on

This, of course, took the poor student somewhat by surprise. Not the least because I tend to write rather formally to strangers, and it may have (unintentionally) sounded like I was annoyed. But anyway, you don't really expect, when you reference someone's writings in your obscure school assignment, to have the author write back and correct you.

16May2003

Technical Accuracy in a Movie?

By carlfish on

I'm going to see The Matrix Reloaded in about two and a half hours. Just now, I was reading JWZ's blog and discovered that it contains evidence of the first ever technically accurate computer-hacking scene in a movie.

16May2003

Closures and Java: a Tutorial

By carlfish on

A closure is an anonymous function that `closes' over its surrounding scope. Thus when the function defined by the closure is executed, it has access to all the local variables that were in scope when it was created.

13May2003

Cross Platform or Native Widgets?

By carlfish on

There's a lot to think about in this for Swing programmers, too. If your application has been laid out on a Windows box, chances are it's going to look wrong on OS X. At worst, you're going to find a lot of widgets fighting for space, and cropping text because the OS X widgets are just that much bigger and rounder than their Windows counterparts. Even if the layout isn't breaking, you're still not going to look comfortable on the platform because the Apple Human Interface Guidelines are very strict about how applications are laid out

13May2003

L Ron Jobs and the Church of Macintosh

By carlfish on

Since joining the Church of Macintosh, I have found peace and fulfilment. Finally, after years in the computing wilderness, I finally feel I have found somewhere that I belong. Don't you want to belong?

08May2003

Linux and Selling Out

By carlfish on

"...it's funny that it's now become possible to use Linux and still feel like you're selling out, but there you go." --- Kief, on being forced to support RedHat

06May2003

Short Attention Span

By carlfish on

After eight years of being an Internet nerd, I've finally completely lost the ability to concentrate on one thing at a time.

06May2003

Weighing into the Static vs Dynamic Typing Debate

By carlfish on

Static typing is declarative. Testing is procedural. Thus, when your program fails through types, the exact location of the error can be immediately ascertained: it's the point at which your type declaration becomes untrue. When your program fails a regular test, you only find the point at which the testing procedure detects the resulting misbehaviour.

06May2003

Quote of the day

By carlfish on

I say we take off and nuke the entire site from orbit. It's the only way to be sure. ---Ripley, in Aliens.

04May2003

Schemix - Scheme Kernel Hacking

By carlfish on

The intended use of Schemix is for exploration of the Linux kernel and for rapid, interactive prototyping of Linux drivers and other new kernel features. To achieve this, Schemix will attempt to make a large subset of the kernel functionality available to Scheme programs. Interactivity is via a character device, /dev/schemix which presents a REPL (Read, Eval, Print Loop) to anyone having access to the device.

03May2003

Movie Review: X-Men 2 (no spoilers)

By carlfish on

X-Men 2 had a good plot, strong villains, good F/X and action sequences (both unfortunately overshadowed by Matrix Reloaded anticipation), and good performances by all the lead characters. What it desperately needed was a decisive, ruthless script editor.