2003

29Dec2003

Saving HTTP Authentication?

By carlfish on

Sometimes, I think of ways that our lives could be simplified. Then I write them in my blog, so I can point at them whenever I want to complain about how much better the universe would be if I were in charge.

24Dec2003

The Giveaway Gift

By carlfish on

If on a major holiday or birthday you buy a girl a gift from The Body Shop, you may as well be writing "I didn't have the faintest clue what to get you, so I ended up taking the path of least resistance" on the wrapping paper.

16Dec2003

Overly Mocked

By carlfish on

So what happens if you test those higher-level components with mock objects? Well, you sort of end up with tests that do absolutely nothing but test a series of method calls on mock objects. What are you testing, really?

08Dec2003

Sick

By carlfish on

It's a pity you can't do that. If I had access to my own source-code, and could recompile myself whenever anything went wrong, life would be so much easier.

30Nov2003

Just Set the Halt

By carlfish on

"Train yourself to think about where to put the halt, not to think about what the problem is. Of course it’s a great feeling when you can reason to the problem. But we’re not here to make our brains feel good, we’re here to get the code working as quickly as possible."

30Nov2003

Misc

By carlfish on

Three minute angels, viral marketing, bridge-climbing and semi-naked beach bunnies!

28Nov2003

Ethereal Memory

By carlfish on

One of the biggest problems these days is information overload: there's just so much information out there that needs to be digested and kept on hand. Using the Internet as my swap-space leaves much more room in my head for the important things

25Nov2003

Google, Microsoft and Tall Poppies.

By carlfish on

And Bill still believes that what is best for us is what is best for him: Microsoft dominating every market they play their hand in, until all competitors are ashes.

23Nov2003

Jar File Hell

By carlfish on

And you (OK, I) end up in situations where B is throwing a NullPointerException where it's being called from A (via the helpfully provided A->B plugin). Is it a bug in A? Is it a bug in B? Is it really a bug in C, the invisible piece of infrastructure that introduced A to B?

19Nov2003

Stand-up Meeting Antipatterns

By carlfish on

I've had my own bad experience with stand-up meetings, but I've also had good ones. I think, however, that I've been able to observe _what_ makes the meetings good or bad. So here's a couple of stand-up meeting antipatterns that I have observed, and refactored solutions that I have seen work.

13Nov2003

Cool Things About Blogging

By carlfish on

It's a whole bunch of people saying interesting stuff, but the stuff hangs around indefinitely. It's very easy to dredge up a reference from a vague memory.

13Nov2003

Quintessentially Aussie

By carlfish on

[Jones] went out to bat during the famous tied Test of 1986 at Chidambaran Stadium, Madras, despite suffering from a combination of dysentery, vomiting and feeling faint....

09Nov2003

[AHOV 2] SQL Injection

By carlfish on

A user is able to craft some input to the program that modifies an SQL query into doing something that it shouldn't.

09Nov2003

Australian Idol: A Licence to Print Money (Unless you win it)

By carlfish on

Between broadcaster Channel 10, producers FremantleMedia/Grundy, record label BMG Australia and concept licensors 19, there must be a lot of people wringing their hands with glee. There's a lot of money to be made here, and with any luck, a bare minimum is going to be wasted on the "talent"

09Nov2003

[AHOV 1] Directory Traversal

By carlfish on

A user is able to specify a filename to a program that allows them to access files in areas of the filesystem that should be unavailable.

09Nov2003

A Handful of Vulnerabilities: Introduction

By carlfish on

A series of articles detailing common security flaws found in software: stuff that gets reported to Bugtraq every day. If you're a developer, it's your job to know what these are, and how to avoid them.

07Nov2003

There Is No Magic Security Bullet

By carlfish on

The enemies of security are complexity and inattention to detail. Using a "managed language" is one way to reduce complexity, but more than enough remains to make our lives very difficult. We just have to keep paying very close attention.

05Nov2003

You Can't Stop the Music!

By carlfish on

I will play through the 3362 songs on my iPod in alphabetical (well, ASCII) order by song-name, starting with Regurgitator's "! (The Song Formerly Known As)", and finishing with Faith No More's "Zombie Eaters".

04Nov2003

Alan Smithee

By carlfish on

Sometimes, though, a director can go to the Guild and complain that the movie was taken out of their control. The studio pressured them to stray from their vision. It was cut against their wishes. Then, the Guild will have the movie credited to Alan Smithee.

02Nov2003

Short Presentation on Blogging

By carlfish on

Inspired by Diego's excellent two articles on blogging, here's the slides from a presentation I did for work a little while back on the subject. Geared heavily towards Java programmers.

02Nov2003

An XSLT Anecdote

By carlfish on

I was thinking of writing a quick program that would process my iTunes XML-exported playlists into HTML. After some thought on what would be the simplest way, I decided it might be time to overcome my distaste for XSLT.

01Nov2003

Knights of the Old Republic

By carlfish on

It's 1am and I just turned off Knights of the Old Republic. While it's shaping up to be a pretty good CRPG (and, the prequel movies aside, I'm a sucker for all things Star Wars), here's the things I have found annoying so far:

30Oct2003

Why the "Hacker Logo" is stupid

By carlfish on

It captures nothing about what it means to be a hacker. Worse, its drab nature captures every misconception we'd rather get away from. It's the logo equivalent of "You sit in front of a screen all day typing? And you _enjoy_ it?"

29Oct2003

struts-menu Permissions

By carlfish on

The other day I had to mess around with struts-menu, so as to make certain menu options disappear based on who was logged in. Eventually, I worked out how it's done. Mostly by reading the source-code. I figured I'd write up what I did so maybe someone else can benefit from my day.

29Oct2003

class.class

By carlfish on

A while back, I wanted to demonstrate that the restrictions of the Java programming language and those of the Java Virtual Machine were not the same thing. Hence, a class called 'class'.

27Oct2003

Redhat Can Bite My Shiny Metal Ass

By carlfish on

Suffice to say, from this day henceforth, I will do my utmost to convince any client, customer, employer, friend, neighbour, or anyone I overhear discussing Linux in the pub that Redhat is a useless pile of fetid dingo's kidneys.

23Oct2003

Quote of the Day: Alan

By carlfish on

Through the modern miracle of defenestration, the programmer is relieved of the drudgery of Javadoc. -- Alan Green

22Oct2003

Mini-Pattern: Noun-Verb

By carlfish on

Early on, require that command or action classes are named by their noun first. then the verb: i.e. "UserCreateCommand", or "UserUpdateInformationAction".

20Oct2003

Return to the Planet of the Exceptions

By carlfish on

A more accurate restatement is to say that "Exceptions change the default behaviour on an error from being unpredictable, to being fail-fast". The first property that Exceptions have, but error codes do not, is this safety.

20Oct2003

The Right Words in the Right Order

By carlfish on

"I don’t think writers are sacred, but words are. They deserve respect. If you get the right ones in the right order, you can nudge the world a little or make a poem which children will speak for you when you’re dead." (Tom Stoppard's "The Real Thing")

20Oct2003

What's Your Threat Model?

By carlfish on

It's a strong model: the end nodes are secure and the middle is not. It's clean, it's simple, and we just happen to have a solution for it. Problem is, it's also wrong. The end systems are not secure, and the comms in the middle is actually remarkably safe.

19Oct2003

Broken Promises

By carlfish on

One of the problems with writing is that sometimes you have an idea that is very clear in your head, but that for some reason you just can't ever quite manage to turn into a coherent article.

16Oct2003

Apple: Typically Modest

By carlfish on

From the front page of Apple's website today: The blunt art of hyperbole, and how to get everyone talking about you.

16Oct2003

Defrosting...

By carlfish on

I'm pretty sure the fridge in the Cirrus office hasn't been defrosted since I started working there, three and a half years ago. In that time, it's managed to gather up a healthy collection of ice. Today David Pinn decided to do something about it.

16Oct2003

Movie Review: Kill Bill

By carlfish on

Nobody dies cleanly in Kill Bill. The bodies don't fall out of frame with a minimum of mess. They fountain unnatural torrents of blood, and stay where they lie, or they crawl out desperately with what limbs they have remaining. There is no sanitized violence, there is only brutality.

15Oct2003

I've Got the Power!

By carlfish on

Once you can reach across your desk and play that sample at any pitch you desire, it's hard to stop. Even though you know you're sending your co-workers insane.

14Oct2003

Google, Weblogs, and the End of the World

By carlfish on

The web does not exist to serve Google. The web should not stay stagnant so as not to break its search engine. The web evolves continuously. It is up to Google to change itself to adapt to what people want to do with the Web.

14Oct2003

Taking Exception to Joel Spolsky

By carlfish on

Like quite a few people, I'm going to add my voice to the throng and say that Joel Spolsky's latest essay, 'Exceptions', is the first of his writings that I can remember looking at and thinking, "Man, that's just wrong."

12Oct2003

Scriptwriting Tips: Ensemble Superhero Movies

By carlfish on

After seeing both X-Men 2 and League of Extraordinary Gentlemen this year, I have come to the conclusion that Hollywood has great difficulty writing a script for an ensemble superhero movie. As a theatre patron, I would like to suggest the following script guidelines for anyone attempting such a movie in the future.

08Oct2003

More [foo]Forge Fun

By carlfish on

Given the use of the phrases "is ... fully featured", "can be easily configured", and "has a plugin architecture" in its description, what stage of development would you assume the project is in?

08Oct2003

.sig Quote of the Day

By carlfish on

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." -- Brian W. Kernighan

07Oct2003

'Just' is a Four-Letter Word

By carlfish on

'Just' is a vague, almost condescending diminutive. Nine times out of ten, it means this: "I do not know, but it is in my interest to estimate optimistically."

06Oct2003

Validating My Prejudices

By carlfish on

I keep hearing how wonderful Visual Studio .NET is, and how it kicks the ass of any Java IDE. Unfortunately, I mostly hear this from people who haven't used a Java IDE in the last three years, and I haven't used Visual Studio in about... er... five. So I just grit my teeth and say "Yes, whatever you say".

04Oct2003

NetNewsWire Diff Feature

By carlfish on

NetNewsWire has a really cool feature whereby it highlights changes that have been made to an RSS item. The transparency of weblogging can be quite daunting sometimes.

26Sept2003

Let down...

By carlfish on

For the first time since buying the iMac in February, I have a reason to be disappointed in it. This is the first thing about the machine that hasn't "just worked" for me.

23Sept2003

Paid By the Keystroke?

By carlfish on

Problem: I have a list of objects. I want to create another list containing the id property of those objects. Solutions in seven and a half languages.

23Sept2003

Music Consumption

By carlfish on

I was thinking last night that I haven't really bought many CDs lately. I guess it's partly because (IMHO) the music scene is going through one of those downturns during which it doesn't produce much that I actually like. Or perhaps it's just that I'm finally getting older and my ability to adopt new music has atrophied.

22Sept2003

NAT and Security

By carlfish on

I'm not a big fan of Network Address Translation. Its security benefits are minimal compared to a similarly configured firewall, and its disadvantages are legion. It's a tool that's blocking the free flow of data, segmenting the Internet and bloating protocols, while at the same time being misused as an excuse not to improve the infrastructure surrounding it. This is just a bad thing.

20Sept2003

Procrastination

By carlfish on

Probably the most glaring of my many character flaws is my ability to procrastinate pretty much forever. Over the years, this has led to me putting up with situations that most people would just do something about, because I was always going to "do something about it tomorrow".

17Sept2003

SneakerNet Lives

By carlfish on

I recently bought a keyring-sized 256Mb USB flash drive. This got me thinking about just how portable our data is going to become, even without networks.

16Sept2003

Verisign: the Ultimate in Typo-Squatting

By carlfish on

Verisign, it seems, have the trump-card. By putting a wildcard DNS on '.net' and '.com', they are redirecting every single domain typo to their own search page. I can't even begin to describe how much this whole idea annoys me.

14Sept2003

Basic Mathematics

By carlfish on

I sat staring at the screen for a very long time. It seems that ten years after leaving school (and five since I last studied mathematics in any meaningful way) my mathematical skills have atrophied to the point where I'd forgotten how the hell sine and cosine really worked.

08Sept2003

How toLowerCase and isLowerCase Interact: Not a Bug.

By carlfish on

This is not a bug. The Javadoc for the Character Class explains that the toLowerCase() method does not necessarily return a lower-case letter. It returns either a lower-case letter, or the original letter if it has no lower-case equivalent.

08Sept2003

It's Better to Beg Forgiveness...

By carlfish on

Your application should quietly do what it's told, but provide a way for the user to recover from mistakes. Make your actions undo-able. Make your deletions un-deletable.

06Sept2003

Democracy in Bug-Tracking?

By carlfish on

I've visited this subject before, but it's worth repeating. In my experience, the most useless feature in any public bug-tracking system is the ability to vote on bugs.

06Sept2003

Fight Club Fanboys

By carlfish on

Dear world. Fight Club was not a grand endorsement of nihilism. It was not there to reassure you that it was OK to hate the world and your life. Fight Club was a satire!

05Sept2003

A Sense of Wonder

By carlfish on

For several years now, my Slashdot signature has been: "The more I learn about the Internet, the more amazed I am that it works at all."

05Sept2003

The URL is Not Enough

By carlfish on

I'd say it's quite significant that I, someone who spends more of his life than he will comfortably admit to online, have never felt even remotely like visiting a URL chalked on the sidewalk. The same goes for the plethora of URLs that appear in print and television ads. Never bothered with them.

04Sept2003

Bayesian Filtering: The Spam Fights Back

By carlfish on

This email was obviously written with Bayesian filters in mind. It's seeded with around 150 random, long words of the kind that you'd not expect to find in a spam, but that are varied enough that it's quite likely that at least _some_ of them will be in your filter as high indicators of non-spamness.

04Sept2003

Reverse Engineering Is Not Theft

By carlfish on

Copyright does not prohibit reverse-engineering, except (thanks to the DMCA) where the thing being reverse-engineered is a copy-prevention mechanism. This is because copyright law is all about the making and distributing of copies. Under regular property law, once you have bought something, you're perfectly within your rights to take it apart and see how it works.

03Sept2003

Social Technology: A Parable

By carlfish on

I was in the pub last night playing pool. At some point during the game, my opponent mentioned something about Bronski Beat (after a few beers, you're lucky I remember this much), and my Father and I both got stuck trying to remember who the Hell the lead singer was. So I tried Google...

03Sept2003

One Sun Way?

By carlfish on

"Fragmented" is a spin word. It has powerful negative connotations, implying that something that was once whole has broken into pieces. I would like to replace it with a better word: "competitive".

02Sept2003

Thankyou, Cat-Lovers

By carlfish on

I would like to personally thank all the cat-lovers (even those without cats) for making "Post Pictures of Your Cat To Javablogs Day" such an enormous success. Join us same time next year, when we post candid snapshots of our favourite celebrity elbows!

02Sept2003

Path MTU Discovery

By carlfish on

Symptom: when you're trying to access a webserver, you can connect fine, send the HTTP request fine, but then the client waits forever for a reply. Interestingly enough, if you upload a really small (Say, 10 byte) file to the server, you can retrieve it without fail. Possible Cause: something is blocking Path MTU Discovery.

01Sept2003

My Cat Rocks

By carlfish on

This is my cat. Her name is Cassie. She has nothing to do with Java.

31Aug2003

Cascading Style-Sheets Suck

By carlfish on

I loathe Cascading Style Sheets with a passion. Well, I loathe the fact that every browser supports a different, incompatible subset.

31Aug2003

Maintaining an Election

By carlfish on

I have come to the conclusion over the years, that the worst possible way to run any kind of volunteer online community is through democracy. Democracy is a high-overhead compromise that rarely works in the small- to medium- purpose-oriented communities that tend to arise online. And yet, people keep trying it.

29Aug2003

Announcing: Cat Pictures Day

By carlfish on

In honour of a recent comments thread on Hani's blog, I hereby declare Monday, September 1st to be "Post pictures of your cat to Javablogs" day. All are invited. If you don't have a cat, find one!

29Aug2003

In Trusted Computing We.. er.. Trust?

By carlfish on

The assumption of the OS security model is that all actions a user takes should be considered equal, and the user's authority is delegated infinitely and unchecked through software. This is the deadly assumption that causes almost all malware to spread. We should not assume that the user trusts the software he or she is running.

18Aug2003

Beware Regular Expressions

By carlfish on

Some people, when confronted with a problem, think "I know, I’ll use regular expressions." Now they have two problems. ---Jamie Zawinski, in comp.lang.emacs

18Aug2003

RedHat is Brain Damaged

By carlfish on

Debian is a volunteer project, so the people who put the packages together do it for free. RedHat is a commercial organisation, so they need to pay their packagers, and in turn that cost needs to be transferred back to us, the user. It also doesn't help that compared to apt/dselect, RHN is pretty clunky.

14Aug2003

Trust and Non-Public Members

By carlfish on

It's tempting to try to make it impossible for people to write bad code. It's also often a waste of time: what you want is to make it impossible for people to write bad code when they should know better.

12Aug2003

Gosling on Java

By carlfish on

James Gosling recently weighed into a discussion on Apple's java-dev mailing-list. Here are a few choice quotes.

11Aug2003

Defending Wheel-Reinvention

By carlfish on

The accepted, and often unquestioned wisdom is that reinventing the wheel is bad. I attempt to redress the balance by providing a few situations where such reinvention is a good idea.

05Aug2003

Insomnia

By carlfish on

I am afflicted with occasional bouts of insomnia. They are nothing serious, they just manifest as me finding myself at 1:30 in the morning thinking: "Wow. I'm not at all tired, am I" when I have to be at work the next day.

03Aug2003

Rent-A-Girlfriend

By carlfish on

Maybe I'm being a neanderthal here, a historical throwback due to my life as a computer nerd. Maybe the modern-day Metrosexual man scoffs at my inability to work out if that jacket really makes me look like a prat or not. I doubt it, though. After all, the archetypal Metrosexual is David Beckham, and I bet Posh picks out his clothes.

01Aug2003

The Placebo Mini-Pattern

By carlfish on

Some long-running processing is occurring in your program. You really have no idea how long this event is going to take, but you want to keep the user as happy as possible while it is running.

29Jul2003

The Javablogs Impedence Mismatch

By carlfish on

So long as Atlassian add filtering and threading features to Javablogs in imitation of the evolution of mail and news clients, the Java blogging community will continue to grow and share good information. I just can't help thinking it will be missing something: that ineffable element that makes weblogging different.

29Jul2003

Online Wisdom from the Buddha

By carlfish on

He avoids harsh language and abstains from it. He speaks such words as are gentle, soothing to the ear, loving, such words as go to the heart, and are courteous, friendly, and agreeable to many.

28Jul2003

The (d)Evolution of Online Communities: A Case Study

By carlfish on

The reposts were causing the little-known newsgroup to get a lot of attention. Everybody wants to associate with, and become a part of something that is funny and successful, and this inevitably lowers the overall quality of the place being inundated with newcomers.

28Jul2003

Version Numbers and You

By carlfish on

Too many Open Source projects treat Version 1.0 as some kind of Holy Grail that can only be reached when the project is perfect. I find that highly annoying, because it makes it really, really difficult to tell a sketchy alpha from production code that is just still in pre-1.0 because the author wants it to do everything.

26Jul2003

Why I'm Not Afraid of AOL Weblogs

By carlfish on

What it is, however, is highly resistant to floods of crap. The network routes around such damage easily. Nobody finds it interesting, nobody links to it, so it may as well not be there. Which isn't to say that AOL weblogs are going to be all crap: they'll just follow the general distribution such services have shown elsewhere. Those that aren't crap will be linked to, and become part of a larger section of the blogosphere.

26Jul2003

Corporations Law

By carlfish on

What occurred to me, was the well-known fact that the modern corporation exists as a means by which people can get involved in risky ventures, and then be protected from having to pay their debts by the government if the venture fails. Put that in your pipe and smoke it, Libertarians.

25Jul2003

Hacking the Legal Code

By carlfish on

The law is not code. It is not compiled into an inviolate binary and run by a deterministic system. It is passed through the heads of human beings whose job it is to interpret the intent of the law. Courts generally look with disdain upon ‘clever’ interpretations of the law, unless that interpretation follows the court's conception of justice.

23Jul2003

Dear Vodafone

By carlfish on

Since we now have number portability, the net difference in cost and convenience between me staying with Vodafone or switching to a new provider is... zilch. Hence, a certain sale was turned into a vaguely pissed off customer with an incentive to see if he can get a better bargain elsewhere.

22Jul2003

On Convergance.

By carlfish on

Q: What can you brush your teeth with, sit on, and telephone people with? A: A toothbrush, a chair and a telephone.

21Jul2003

The Fifteen Minute Test

By carlfish on

Maybe that means I'm not an alpha nerd any more. In twenty years some ten year old kid is going to try to teach me how to use the descendent of Tinderbox because I never caught on at the beginning, and Just Don't Understand...

20Jul2003

Dear Mum

By carlfish on

Dear Mum, you will be happy to know that after three weeks of my house-sitting for you, both cats are still very much alive and healthy.

19Jul2003

On Specs and Brown M&Ms

By carlfish on

One story from Snopes that I quite like is the story of Van Halen and the Brown M&Ms. The story was that Van Halen's rider contained a clause that required a bowl of M&Ms to be supplied backstage, but with the brown ones removed. If they found any brown M&Ms, they could terminate the contract with the venue without penalty, and not perform. It's true.

18Jul2003

T2: The Director's Cut

By carlfish on

Other Director's Cuts are a marketing exercise designed to sell more copies of a video (or now DVD) by adding those bits of the movie that were filmed, but removed from the final cut because they screwed up the pacing, made the movie drag and generally added nothing to the film itself.

16Jul2003

The Battle Of Who Could Care Less...

By carlfish on

If you could care less about something, you are implying that there the thing in question has some measureable degree of importance, however slim, in that it is possible for that degree of importance to lessen.

14Jul2003

Running an IRC Channel

By carlfish on

In a roundabout way, I came across a page about an IRC Channel discussing whether the channel should have a clear set of defined rules. As an IRC user for eight years, here's the formula I have found to be the only one that actually works:

13Jul2003

Disk quotas: impose hard limits with care.

By carlfish on

Hard limits, on the other hand, impose a strict cap on the disk space a particular user can be assigned. Attempts to exceed that usage are met with a reaction similar to the disk being full. Very few programs can cope with running out of disk space.

11Jul2003

False Advertising

By carlfish on

When it says "24/7 Technical Support" on the box, I explicitly do not expect that to mean "you can email us any time of the week, but we'll only respond the next business day."

10Jul2003

The Internet is Not Shit

By carlfish on

I wanted to write a response to the circulating The Internet is Shit meme, but all I really kept coming back to was this piece of Usenet history from Russ Allbery

08Jul2003

RSS, nEcho and me.

By carlfish on

I've been watching the RSS vs nEcho debate rage back and forth, back and forth for a week or so now. For those who came in late, don't worry what Echo is, go home.

08Jul2003

Run while you still can

By carlfish on

An architectslobby headline on Javablogs pointed out by a co-worker reads: "XML Beans: The Best of Both Worlds". While I haven't read the article it points to, I'm sure I could think up some better headline...

03Jul2003

The Importance of Dogfood

By carlfish on

I'm not making a particularly controversial (or new) statement when I say that when developing some project, having the development team "eat their own dogfood" is a very useful technique. This is an advantage Open Source can have: what you get is some very well-chewed dogfood.

01Jul2003

From the Hyperbole to the Ridiculous

By carlfish on

Any idiot can sit down and spend four or seven years of his life writing out his "masterpiece." You do some research, you do some hard work, you get a little help from friends and family, and you get it done. But, it takes a true writing genius (or geniuses, in this case) to create something as original as...

29Jun2003

Joel Spolsky is right again

By carlfish on

Too many software developers just can't bring themselves to implement completely invisible features. They need to show off about what a great feature they just implemented, even at the cost of confusing people. Really great UI design disappears.

29Jun2003

Namespaces and RSS2.0

By carlfish on

The problem that Namespaces were introduced into RSS to solve was: lots of different people want to add their own custom extensions to RSS. Since RSS is such a small domain, the chances of two people coming up with identical tags with different semantics is actually quite high.

25Jun2003

Gratuitous Microsoft Bashing

By carlfish on

Mid-2002, Apple release an update to their Mail app that catches 90% of spam. A year later, Bill Gates has a revelation: "Hey! Let's do something about spam!"

24Jun2003

WebKit: Embedding Safari

By carlfish on

Cocoa hacking reminds me just how much I dislike Swing. It took me longer to post this blog entry than it did to write the above "My First WebKit App". If only Objective-C had automatic memory management...

24Jun2003

Stupid Moments in Public Service Advertising

By carlfish on

I'm sure the Cancer Council of Australia</a> think they're making a really incisive point here. But why, oh why, oh why did they pick Pulp Fiction as the movie to parody? I suppose it was just because it's a well-recognised poster, but it rather kills the message.

23Jun2003

Let's unit-test like it's 1999.

By carlfish on

Then, of course, I realised just how recent 1999 was. I started thinking "Do things change that fast?" Then I realised, no they don't. Things still changed slowly, but if you only see the back end of the exponential adoption curve, it looks a lot faster.

23Jun2003

Google's Broken Weblog Backlash

By carlfish on

The linking patterns of weblogs did not subvert or corrupt PageRank, they simply altered the web in such a way that PageRank became less relevant, and no longer answered that question. Rather than taking the negative approach, working against the new shape of the web, patching the problem by marking down a certain class of page, Google needs to find a new positive approach, to adapt to the new shape of the WWW and work with that to once again find the answers.

21Jun2003

Real Names, Please.

By carlfish on

As a courtesy, I'd like to ask anyone commenting on this site to leave their real name with the comment. That is, unless you're someone I've known online for so long under an alias that I wouldn't recognise your real name.

21Jun2003

The Value of Penetration Testing

By carlfish on

Penetration Testing is a security practice during which some trusted party attempts to detect and exploit weaknesses in a system's security. It is possibly one of the more fun aspects of security work, as it is the closest a legitimate 'white-hat' hacker can get to the sort of fun the black-hats get up to.

16Jun2003

Quick Link

By carlfish on

List of various Dr Who and Anime references from Star Trek TNG

16Jun2003

Digging a Hole

By carlfish on

I just closed one bug... and then as a result of closing it, opened six new bugs. (Well, five new bugs, and one umbrella-bug to link them all to). Ever feel like you're digging a hole, and eventually it'll be too deep to climb out of?

15Jun2003

The WhineBlog.

By carlfish on

This is why the BileBlog quickly bored me. Most of the criticisms are, indeed, accurate. Some are trivial, some are not. But each individual criticism is only dealt with in the most superficial of possible ways. Root causes aren't investigated. Improvements aren't suggested beyond "don't do things that suck".

15Jun2003

Lame Programmers and Credit-Card Numbers

By carlfish on

I phoned support to question this requirement, and was flatly told that there would be no negotiation entered into. Their reasoning was that they had some kind of fiduciary responsibility to make sure that whatever got typed in as the card number got sent verbatim to the bank. So I shrugged, and did what I was told.

15Jun2003

Radio Userland Curiosity

By carlfish on

One day last weekend, I had nothing to do. I was visiting my old Radio weblog, and started wondering how many others had jumped ship like myself. 98 lines of Ruby later, I had a set of totally useless statistics.

13Jun2003

The Little Coder

By carlfish on

The languages that an interested soul could download and learn today are so much more advanced than we had back then. Now, programming is no longer a ubiquitous part of the computing environment It isn't the default mode the computer starts up in any more. Its an option you must seek out.

13Jun2003

Fish Porn!

By carlfish on

Fish can be turned on by an aquatic equivalent of pornography, according to research revealed yesterday.

10Jun2003

Bad Thoughts

By carlfish on

It's pretty much impossible to walk from the office to the shops where I buy lunch without going past, and being accosted by at least one person soliciting for a charity.

09Jun2003

Handling Bug Reports

By carlfish on

What are the needs of the users, however, are up to the developers to determine from all the evidence, and a bug-tracking database is a very bad measure of what is important across the whole range of users.

07Jun2003

About a Dead Rat

By carlfish on

For about a week we had been noticing a pretty bad smell in the kitchen. A sort of rotting-animal smell. As we leaned over to look behind the oven, the smell got stronger.

01Jun2003

Burning bread

By carlfish on

I have a rather painful history of having to throw out toasters for various reasons I'd rather not go into at breakfast. Yesterday, I finally overcame my toaster phobia and bought a new one.

01Jun2003

Why "industry pundits" shit me

By carlfish on

Enforcing J2EE compliance is important, because IT buyers care about being able to move Java applications to different systems, said Ted Schadler, an analyst at Forrester Research. ...

01Jun2003

Mozilla Firebird - Beta Fatigue

By carlfish on

I'm suffering from horrendous Mozilla beta-fatigue. I've been supporting the browser, using it regularly since the single-digit milestone releases (Well, M9 anyway). It had about a year of useability and stability, and then... another radical change of direction lands us in beta-country again.

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.

28Apr2003

Swallowing Exceptions: Don't Do It!

By carlfish on

The only place where it is acceptable to swallow exceptions is in the first case: if the throwing of the exception means absolutely nothing to your application, that's the only time you can ignore it. If you're going to be swallowing an exception, have the courage to swallow it silently. If you can't muster that courage, if you have one of those guilty pangs every time you see an empty catch block, it's a good sign that swallowing the exception was the wrong thing to do in the first place.

26Apr2003

Classic Testing Mistakes

By carlfish on

Classic Testing Mistakes by Brian Marick dates back to 1997, but this is the first time I've read it. It's a very good, common-sense guide to software testing.

26Apr2003

What is a "type"?

By carlfish on

In Java at least, an object's type represents three different things: (a) The messages that the object will respond to. This defines the object's interface. (b) The code that the object will use to respond to these messages. This defines the object's implementation. (c) An attribute of the object, of type Class. Sometimes, people get stuck on the third one, and give it far more importance than is really necessary.

21Apr2003

Java, the evolutionary dead-end

By carlfish on

In a previous post, I noted Paul Graham had described Java as an "evolutionary dead-end". After a lot of thinking about what this means, I've come to the conclusion that it's not really such a bad thing for Java to be. After all, the crocodile is an evolutionary dead-end too, but we don't hold that against it.

14Apr2003

What is a standard?

By carlfish on

Standard has to be one of the most over-used terms these days. Technologies compete against each other, and get into slanging matches over who is the most "standard". The term is meaningless.

14Apr2003

The Memory Management Glossary

By carlfish on

Ned Batchelder pointed to The Memory Management Glossary, which is (as would be expected) a glossary of terms applicable to memory management. I'm linking to it because I just know it's the sort of thing I'll want to be able to find in the future, and if I don't write it down, I'll forget.

13Apr2003

Cutlery

By carlfish on

I brought the fish and chips home, and sat on the floor eating them with my fingers. The fish was quite greasy, so for a while I wished that I had a knife and fork instead.

11Apr2003

Prevayling Stupidity

By carlfish on

To save you following the link, the Prevalent Hypothesis is (direct quote) "That there is enough RAM to hold all business objects in your system." That's right. Users of Prevayler don't have to worry about there being enough RAM because... we assume there will always be enough RAM!

10Apr2003

Publishing Woes

By carlfish on

I was thinking of writing something longer than a blog-entry. Anyway, to do this, I must pick a format. I want an open format, naturally, but I also want to be able to publish to both PDF and HTML. I want the PDF to look professional, but I don't want the HTML to look like ass. Which leaves me in a bit of a bind.

10Apr2003

A good host is hard to find

By carlfish on

The quality of a web-host is measured by how little you notice they exist, and in the six months I've been running The Fishbowl on their service, I've noticed them precisely once. That's a pretty good record by any account. Good work, AVS.

08Apr2003

Make your queries consistent

By carlfish on

One tenet of predictability is that when you make identical queries against identical sets of data, the results should also be identical. In queries that return multiple responses, this includes the order in which the data is returned.

08Apr2003

Mail.app problem solved?

By carlfish on

I, of course, haven't been deleting the junk messages, I've been moving them into a storage folder. I am willing to assume this is what's been confusing the filter into wondering what is spam, and what isn't.

08Apr2003

Brain Stew

By carlfish on

A host is a host, from coast to coast / and everyone talks to a host that's close / unless of course, the host that's close / is busy, hung or dead.

05Apr2003

Mail.app spam filter a dud?

By carlfish on

One of the big selling-points for Apple's Mail application in OS X is the adaptive spam filter. Reviewers have gone wild praising how wonderful it is, and how it gets rid of 95% of their spam. In my experience, it has been catching about one fifth of the junk, and letting 80% through.

05Apr2003

A nerd in a fishbowl

By carlfish on

The artist occasionally known as Urban_Dragon drew this the other day and sent it to me. It's really neat. Thanks Urb. :)

03Apr2003

Quote of the Day

By carlfish on

Written, by me, in an IM to a cow orker: "It's one of my better ideas. Although I still think the one about putting saddles on sheep has merit."

02Apr2003

Revolutions are not imposed from above.

By carlfish on

I'm engaged in a running battle with my father over web services. He believes in them. I don't. I admit I'm young, but I've never seen a computing revolution imposed from above.

31Mar2003

Thread.run()

By carlfish on

I was hanging around at work late, doing a few practical checks on the effects of different isolation levels on overlapping entity bean accesses under Websphere. Oh, the exciting things I get up to in my day-job!

27Mar2003

PortableRemoteObject.biteMe()

By carlfish on

PortableRemoteObject.narrow() was the first step in my steady, and now complete disillusionment in Enterprise JavaBeans. The first time I saw it, even though I was a relative newcomer to OO modeling at the time, something clicked in my head, something said to me this is so very, very wrong.

25Mar2003

Referer Spam: A message to writers of web tools

By carlfish on

I've written about this before. So has Mark Pilgrim, and he's got a much bigger audience than me. If you are writing a news aggregator, web robot, blog indexing tool, whatever, you MUST NOT advertise your product's website in the Referer header. If you do, your product does not comply with the HTTP standard. More importantly, you're being incredibly annoying.

25Mar2003

Paying for Software

By carlfish on

As I was paying for my copy of NetNewsWire, it occurred to me that I've bought quite a lot of Mac software in the last year and a half. Especially when compared with... well... the nothing I bought for Windows in ten years.

19Mar2003

The Prevayling Attitude

By carlfish on

I've been meaning to write an article about why I'm discouraged from using Prevayler by the over-blown and annoying hype of its supporters, but Alan has beaten me to it.

19Mar2003

JSR-666: extended operator set

By carlfish on

The JSR-666 expert group has noted that since Java source is essentially Unicode, there are thousands of potential operators going begging, simply because they don't appear on regular keyboards. This minor inconvenience should not deter us from improving the language, so we are proposing the following additions:

12Mar2003

Wanted: multiple exception-type catch blocks

By carlfish on

Exception catch-blocks that took multiple exception types would be incredibly simple to implement in the compiler, would require no VM changes, and would tidy up a lot of source code. How about it, Sun. With a bit of a push, you could get this into 1.5 easily

08Mar2003

HTML peeve: image captions

By carlfish on

It's absolutely insane that there's no way in HTML to associate a caption with an image. The closest you can get is putting the image in a table, and then giving the table a caption, which is Just Wrong. And of course, because the standards bodies are going off into the ether with XHTML2, this'll never get fixed for the mainstream web.

08Mar2003

Mes Souvenirs...

By carlfish on

You find the strangest things in old piles of paper. I've been preparing to move to the new apartment, and this time I'm trying to minimise the amount of stuff I have to transfer across the Harbour Bridge, and that involves going through my old piles of paper, some of which have lain undisturbed for up to six years.

05Mar2003

Pool, Beer and Victory

By carlfish on

Most Wednesday nights, you can find me at the Menzies hotel opposite Wynyard station, playing in the pool competition. I first went four years ago, and I've been a regular ever since moving to Sydney, three years ago. If you're in Sydney, pop down some day and say hi. I'll buy you a beer.

03Mar2003

Self-importance

By carlfish on

February was the first time my weblog's exceeded 100,000 hits in a calendar month. And that's even if you ignore the two days where I got hit 11,000 times by the same bot. Go me.

03Mar2003

Util is a language smell.

By carlfish on

One of the tricky aspects of API design, especially when designing the base APIs for a programming language, is deciding what goes in, and what stays out. Some languages, such as Smalltalk, Objective-C, Ruby, Python, Perl, CLOS... Okay, a great many languages allow you to add behaviour to existing classes. Java doesn't. Which is why the humble Util is here to stay.

02Mar2003

Massive Attack: Exchanged

By carlfish on

I took the not-CD back to the store. I may very well download it from the Internet (where it is readily available, despite the copy-control) as an act of protest.

27Feb2003

Apple Sucks (Well, NSAppleEventDescriptor does, anyway)

By carlfish on

Quick straw poll. Whoever wrote the Java interface to Applescript for OS X was: (a) So comfortable with AppleEvents that he or she just wanted to replicate them verbatim in a new syntax, instead of providing a useful abstraction, (b) Completely ignorant of the Java Language, (c) A sadist, (d) All of the above.

27Feb2003

Ouch.

By carlfish on

Sure, I could treat my body better. It could do with more exercise, and a better diet. (or maybe this is my body reacting violently to the fact that I actually fed it a large quantity of salad yesterday, and it was unused to the nutritious content?) But still, it's let me down this morning, and I'm not going to forgive it easily.

25Feb2003

YKYBHTLW...

By carlfish on

You know you've been hacking too long when you see the band-name ZWAN, and your first thought is "What does the Z stand for?"

24Feb2003

Interview With a Programmer.

By carlfish on

I'm a good programmer, and a pretty good designer. On all other counts, I'm told I interview quite well. That said, if you put me on the spot and say "Write this code in the next five minutes", I'll flounder around, and probably make a pig's breakfast of the whole thing.

22Feb2003

Introduce Yourself! Comments and Weblogging

By carlfish on

It's been pointed out to me once or twice that I don't enable comments on my posts. Today, I read that this is the number one habit of highly annoying bloggers. So in my inaugural comment-enabled post, I invite you all to say hello, in the spirit of two-way communication.

22Feb2003

Organised Cows

By carlfish on

I'm sure some people in the office wonder why the three of us greet each other in the morning with a hearty "moo". Or maybe they don't. Programmers tend towards eccentricity anyway.

20Feb2003

Livejournal: The Next Target

By carlfish on

"LiveJournal is currently under a Distributed Denial of Service attack, and has been since about 5:30pm PST (1:30 AM GMT) tonight. We have been working with our upstream providers (including several major backbones) to filter traffic as quickly and effectively as possible."

16Feb2003

Visualise Whirled Peas

By carlfish on

These pictures really don't do justice to the size of the crowd that turned up in Sydney today to protest against Australia's involvement in any war in Iraq.

15Feb2003

The Death of Democracy

By carlfish on

It's getting to the point where opinion polls on war in Iraq contemptuously ignored by my country's government, because those in power trust the power of their media allies to convince us they're right, and we're wrong. Where we all have questions we want to ask our elected officials, but get no answers because those in the position to ask them for us, have their own agenda.

15Feb2003

Moving, maybe...

By carlfish on

I'm considering moving from Newtown to Kirribili. I want a view of something more than just Erskineville Road, damnit.

10Feb2003

A New-Found Respect for Javascript

By carlfish on

Javascript is a small language, but the problem didn't lie there. The problem is that what we generally refer to as "Javascript" is really the intersection of the language itself, plus the DOM (and to some extent CSS) support of whatever browser it's being run in. And it's only in the last year or so that web browsers have had anything approaching decent DOM/CSS support.

10Feb2003

A foolish consistency

By carlfish on

Java, being rooted firmly in the C tradition, believes that the first number is zero. Arrays and lists begin at index 0. The first character of a String is string.charAt(0). Thanks to the legacy of time.h, Java even believes January is month 0, skewing up the mental landscapes of anyone used to thinking of June as month 6, and December as month 12.

03Feb2003

The 86 Rules of Boozing

By carlfish on

55. If you think you might be slurring a little, then you are slurring a lot. If you think you are slurring a lot, then you are not speaking English.

03Feb2003

JSR-666

By carlfish on

JSR-666. n. The Java Specification Request from Hell

01Feb2003

Shellshocked

By carlfish on

Tonight, just before going to bed, I learned of the tragic break-up of the Space Shuttle Columbia on re-entry, and the probable death of her seven crew. To those astronauts and their families, I send my thoughts before I go to sleep.

01Feb2003

My Place Part One: Kitchen

By carlfish on

This is entirely Lonita's fault. The rest of my apartment will have to wait until I've finished tidying, but I thought I'd do the kitchen beforehand, just for all the beer bottles.

29Jan2003

The "writing articles about XP" trap.

By carlfish on

People expect Extreme Programming to be undisciplined. That's not true. People seem to want to label any undisciplined process as being 'agile' or 'extreme'. That's not true either. People have found that writing an article of the form above, and sticking an inflammatory headline about Extreme Programming on it gets you lots of page-views. That, on the other hand, could be true.

28Jan2003

Objective-C vs Java

By carlfish on

Once you're used to automatic memory management, being forced to do it all manually is a real hassle.

26Jan2003

Mailing-list Stupidity of the Year

By carlfish on

This mailbox is protected with an email password system, to have your email delivered please resend the message and include the string BLUEHILL in the subject. Thank You!

25Jan2003

SQL Worm Irony

By carlfish on

Microsoft's homepage, on the day the SQL Server worm crippled large sections of the Internet: "Today's News: Bill Gates reports on security progress made and the challenges ahead." (Image on site)

25Jan2003

Are Network Worms Healthy?

By carlfish on

The solution isn't defensive worms. The solution lies in the recognition (seldom expressed, lest we later regret it ourselves), that the failure to patch a seven-month bug is negligence, the failure to firewall non-essential open ports on network servers is negligence. In other matters, the failure to implement egress filtering is negligence. We could probably come up with a pretty good baseline of what is obvious systems administration negligence when it comes to security.

25Jan2003

"Trustworthy Computing" - welcomes the SQL Server worm.

By carlfish on

Hello, Internet-wide denial of service attack. **** you, Microsoft. **** you, incompetent server administrators who are not only too lazy to get off their stupid asses and upgrade a broken piece of software, but are too ****ing clueless to put their servers behind a firewall and block access to administrative ports.

22Jan2003

Categorisation

By carlfish on

The ancient Chinese encyclopaedia entitled Celestial Emporium of Benevolent Knowledge classifies animals into the following categories:

21Jan2003

Enh...

By carlfish on

They're creating a new movie for Websphere developers. It's called "Dude! Where's My Classpath?"

19Jan2003

Dan Bernstein and Patents

By carlfish on

Dan 'DJB' Bernstein can be a dickhead, but you have to respect software of the quality of qmail, and you have to respect his amusing fight against his university's patent policy.

19Jan2003

Filesystem sacrilege

By carlfish on

Dear Operating System Vendors. I no longer want to know where my files are stored. I no longer care.

17Jan2003

Databases, Part One

By carlfish on

I feel pretty confident saying that a significant number of people who are using a Relational Database, shouldn't be. They shouldn't be for one of the following reasons:

15Jan2003

Morning-itis

By carlfish on

How do I remember the next morning, the last thing I was working on yesterday afternoon?

10Jan2003

NullPointerException

By carlfish on

The NullPointerException in Java can be incredibly annoying. In some languages, such as Objective-C, the null (or in their case, nil) object doesn't throw an exception, it just quietly returns another nil for every method called on it. I prefer the Java behaviour. Many others disagree.

03Jan2003

Legend

By carlfish on

Steve Waugh is a dead-set legend. Possibly even better than Boonie.

01Jan2003

How to Write Like a Wanker

By carlfish on

Matt Olson: How to Write Like a Wanker, "A popular misconception about text messages on the Internet is that, to be an effective communicator and earn the respect and admiration of your peers, you must be able to write lucid prose; that your messages, articles, posts and pages must be easy to understand and pleasant to read."