December 2002

30Dec2002

Turning Mac-anese.

By carlfish on

One of the things I used to dislike most about the Mac was the way that applications stuck around even when you'd closed all their windows. “How annoying” I'd think, as I searched through the Application Switcher to find all the programs I'd started that were still taking up precious resources because I'd never explicitly quit them.

29Dec2002

Gresham Trumps Postel

By carlfish on

You can't go ten feet on the Internet without having Jon Postel's Robustness Principle quoted at you. Like most accepted wisdom, it doesn't quite bear close inspection. The problem arises because following the robustness principle does not protect you from people who do not follow it. The results can be quite chaotic.

23Dec2002

YKYBHTLW...

By carlfish on

You know you've been hacking too long when you come up with an idea for a silly Science Fiction/Horror short story, in which the universe implements reference-counting, and as soon as the number of `references' (i.e. connections to other people) you maintain reaches zero, you are visited by The Garbage Collector.

19Dec2002

Weblog Etiquette: Comments Forms

By carlfish on

If your weblog has a comments form, it is a very good idea to have some kind of small-print on the form that explains how the submitted comment is going to be munged.

18Dec2002

AOL patents IM

By carlfish on

Before you scoff about patenting the obvious, try to remember back to just how revolutionary ICQ was, and how quickly everyone flocked to it. ICQ introduced the idea that <em>presence</em> would work over the Internet, not just on closed-gate BBSs and online services.

17Dec2002

Inheritance Taxonomy

By carlfish on

An object's interface (try to forget the way Java has co-opted the term for its own ends) is the set of messages to which it will respond. Thus, interface inheritance is the declaration that one class will respond to the same set of messages as another. This is the cornerstone of polymorphism: two objects that respond to a common set of messages (having a common interface) can be substitued for each other at compile- or run-time, allowing for more dynamic and flexible programming.

12Dec2002

What Does Maven Do?

By carlfish on

Everybody seems to have glowing praise of Maven at the moment. The problem is, it's not immediately apparent from the site's front page what Maven actually does. On one hand, I really don't have the time to play around with Maven until I grok it. On the other hand, if I did grok it, perhaps it would save me an inordinate amount of time in the future? I don't know.

12Dec2002

Why Hibernate Rocks

By carlfish on

Hibernate was brought up to 1.0 in a very short space of time, by two programmers working with one of the most efficient motivations a programmer can have: frustration. If any of you have ever done any significant work with Entity EJBs in Websphere 3.5, you'll know exactly the frustration of which I speak.

10Dec2002

Why Java will not get Macros

By carlfish on

There have been calls from some quarters for a fully fledged macro system in Java I think the chance of this escaping academic study and getting into mainstream Java is somewhere close to zero.

09Dec2002

SOAPy Madness

By carlfish on

I've only ever written two SOAP applications. The first was &ldquo;Hello World&rdquo;, except it would give back a random quote from the fortune file instead of the boring Hello. The second was truly diabolical...

05Dec2002

JSR 201 analysis

By carlfish on

I think my biggest problem with the enhanced for statement is that it's the one thing in JSR-201 that is a step away from the right thing. Once foreach is implemented, the precedent has been set: whenever the lack of blocks causes us to lag behind C#, don't fix the underlying problem, work around it with a variant on what we have already. That leaves me a little cold.

03Dec2002

Code Conventions (final)

By carlfish on

The natural mode of any disagreement on the Internet is highly charged rhetoric. It's because we have this invisible audience that may or may not exist, so the instinct is to play to the crowd. This tends to elevate the most trivial discussion into a flamewar of epic proportions, especially with things that are matters of taste that can never be decided through reason (emacs vs vi, Java vs .NET, or code conventions)

01Dec2002

I is NOT for Interface

By carlfish on

On Hungarian Notation: I prefer to have code that is easy to read in the general case, and tools that will tell me the supporting information if and when I need it. The information should be available, but not obscuring the code.