Groan like it's 1997

I used AIX today. The last time was in 1997. Except for the fact that the black POWER (tee hee) box packed quite a bit more punch than the horrible Apple-branded POS the size of a small fridge I had to use six years ago, it felt like nothing had changed. CDE. ksh. It all came rushing back.

Man, this old slow Linux box running GNOME feels good.

UI infatuation

As an excercise in pain, I've been installing quite a bit of software on a old IBM ThinkPad 600 running Windows 2000 today. I only have to use the machine for two weeks or so, but for that time I do need software. Like a sensible browser. And because W2K makes Galeon and Epiphany non-options, the next choice was Mozilla Firebird.

It's not too bad. It seems to fit in a lot better in the Windows UI than Seamonkey, the previous version of Mozilla's browser, ever did in GNOME. Maybe because my Windows looks the same as every other Windows out there, but my GNOME is running non-default theme (oh, I just checked: Firebird is better at mimicking GNOME than Seamonkey is. Cool.) Mozilla does manage to assimilate some of the customizations, but not nearly all. It's fast, too; it feels faster than IE6.

And, man, I stumbled upon the coolest thing. The RadialContext extension is sexy: good looking, fast, functional. I've heard of pie menus before, but never used one. Partly because all the screenshots always looked butt-ugly. Well, not with RadialContext. In fact, in real life it looks better than in the screen shots. And it feels good to use. It does mostly everything gestures do, but better. Fast and easy gestures accomplish all the operations in the context menus, and you get visual help while still learning where everything is.

Highly recommended.

Mark Watson on automatic accessors for Java

Mark Watson proposes a change to the Java language, in the form of making it possible to automatically generate accessor methods for class attributes. It would work a bit like the generic functions created by the :reader, :writer and :accessor slot options given to defclass in Common Lisp.

However, I think that if that part of the language is to be changed — and I agree it should be — the new design should go all the way to hiding the methods from the users of the class. It should be possible to optionally define the accessor methods you want and then have them accessible by simply using the attribute name. So object.attribute = value would invoke object.setAttribute(value) behind the scenes, if such a method was defined. For backwards compatibility, it would need to do the normal assignment if it was permitted and no method was defined. A close relative to look at for inspiration would be C#. This one of those places where the language is, simply put, better.

[UPDATE]

Reading Bruce Eckel's great blog, I stumbled across this: The Java team is clearly not ignoring the threat of C# [...] along with the new features already on the list for "Tiger" (JDK 1.5), including true enumerations, autoboxing, and generics (templates), they are adding attributes, something (along with autoboxing) taken directly from C#, because it's a good idea.

© Juri Pakaste 2024