Saturday, February 15, 2003

Duck Typing

Python's implicit interfaces, Objective-C's more explicit "protocol"s, and similar features in other dynamic languages like Ruby and Smalltalk, have been given the name Duck Typing. See here or just do a Google search.

You pass me an object, and "If it looks like a duck, waddles like a duck, and quacks like a duck," then as far as I'm concerned, it may as well be a duck.


[GIGO: words unreadable aloud]

Duck Typing. That's a brilliant term. And it certainly applies to more static languages like both C++ and Java. It is just more formal in that context-- much more like a super anal ObjC protocol.

In the work I have been doing with Java recently (lots of JINI), Duck Typing seems like the universal rule through which all functionality is realized.
10:10:27 PM    

KDE Saga Continues

I decided to give the Linux installation one last shot. This time, I'm going for a straight, production version, Debian Linux installation.

From tasksel I indicated that I wanted an X11 User desktop. This should create a system that has both Gnome and KDE capabilities.

After downloading and unpacking about a bazillion packages, then comes the configuration boondoggle of X11. It asks all kinds of questions about sync rates, mouse ports, video memory size, keyboard layout, etc...

Obviously, not something I would put my Mom through (the age old litmus test for any family sys admin; could I deal with putting this technology in front of my mom?), but none too bad.

Except that I screwed up and said I had an MGA video card instead of the ATI that is actually in the box. Ooops.

That wouldn't be so bad if there was any obvious indication that I had done something bad and that there was a way to undo the badness.

There isn't. When X starts, it just flashed a black screen and dropped me to the command line login prompt. From there, it took some wizardry to figure out what configuration file had to be touched to use the right driver.

I just wanted to use a nice Linux based desktop, I didn't want to administrate yet another machine!

Once I finally banged my head off enough of the command line configuration walls, KDM actually came up at boot and presented a login panel. X11 thinks my monitor can only do up to 800x600 but I just don't have the energy to figure that one out right now.

Now, logging into the KDE desktop brings us to a whole new chapter in this ongoing story.

For one, it is an extremely well done desktop environment. I'm very impressed. The wizard at login is quite nice -- not something my mom could deal with but I, as the geek that I am, definitely liked a user experience that is tailored to my particular desires.

It includes a very nice suite of basic applications; calendaring, basic text editing, nice web browser, file manager, help viewer, preferences, etc...

Linux has come a long way since the last time I installed it. The user interface has vastly improved in both power and ease of use.

Ironically, 'fink install kde' just worked on my OS X box -- one command to install a fully functional KDE desktop with almost no configuration. not that I fault Linux in this regard. Certainly, the Debian installation process asks the users many, many questions that do not need to be asked (regardless of what your "question sensitivity" is set to) and the end result has never been exactly what I meant anyway.

However, the real difference is the hardware platform. X11 under OS X can determine exactly what the capabilities of the hardware are. X11 on the i386 platform has to deal with literally billions of possible combinations of various random devices.

Enough on this subject. I now have a usable Linux box with a halfway decent GUI on it. I don't have time to screw with config files and the like any more. I just want to use the damned thing -- the whole point in the first place.
4:50:26 PM    

And if you really are a villain...

For that villain in your life, there is Villain Supply!

(Thanks, Kevin!)
12:17:15 PM    

I'm Steve, and I'm a super-villain!

Seth pointed to this the other day and it wouldn't load for me, but I've just seen the "Super-Villian" Switch Ad. I'm dyin' here.

  • "When you're holding the Moon for ransom you value stability in an application."
  • "Linux gives us the power we need to crush those who oppose us."
  • "I have a Beowolf cluster of Atomic Supermen."
  • "I'm *Alllll* about Open Source."

  • I'm Steve, and I'm a super-villain! (Warning, serious geek humor) [redmonk 2.0 : monkinetic weblog]

    Heh. I normally don't find such things that terribly funny. But, having recently installed Linux, the part about how easy it is had me laughing.

    And I still don't have a useful KDE desktop. KDM won't install because of dependency issues or some such and I have no clue what window manager is supposed to be used to achieve a usable KDE installation.

    I lost interest. I like a Unix desktop that just works.
    9:46:21 AM