July 2004

« June 2004 | Main Index | Archives | August 2004 »

31
Jul

There's been such a furore about Paul Graham's dismissal of Java in his latest essay, that nobody seems to have bothered to examine the meat of the essay. Which is a pity, because the whole Java snipe was trivia. It's part of the Lisp-hacker mentality to take random swipes at more successful, but less technologically pure environments. Before Java was whipping boy #1, C and Unix were the root of all evil.

The thesis of Graham's essay seems to be this:

1. Hire great hackers.
2. ...
3. Profit!

Step one is where most of the controversy has been directed, both because Graham's definition of "Great Hacker" is really based on himself and his friends, and because his recipe for hiring great hackers is "Offer them equity, and jobs that don't involve Java, Windows, or dealing with end-user expectations".

Step two is more interesting to me, because its supposed to be the real point of the essay, but it consists of a great deal of hand-waving, essentially boiling down to "Be one of the companies that I've mentioned in this essay that hired great hackers, and succeeded as a result."

It's very easy to find counter-examples. Look at Xerox PARC, which hired insanely great hackers, gave them room to work on problems that interested them, and only managed to make a bunch of other people rich as a result. Or closer to Graham's territory, look at the AI Winter, where a group of incredibly smart hackers dug such a huge hole for themselves that they managed to make Lisp a lingua non grata for the next decade.

Graham even makes exactly the points as to why hiring a Great Hacker can be a risky proposition. Such hackers (at least, the ones described in Graham's essay) are generally not motivated by money, an even if money were a factor, they're good enough to waltz into any programming job they feel like. A Great Hacker is motivated by the problem not yet solved, and bored by pretty much everything else. A Great Hacker is productive when working on an "interesting problem".

The challenge for hiring great hackers is holding their attention. If your interest is pure research, or if you and they happen to be moving in the same direction, they'll give you the benefit of that order-of-magnitude productivity advantage. If the great hacker gets distracted by some new shiny thing, some more interesting problem to solve, they'll pour their energy into that instead.

And there's not much you can do about it, because it's that focus of single-minded attention that marks a great hacker.

So the missing step 2 is:

2a. Identify a hard problem, the solution of which would fill some market niche, and that your great hacker is sufficiently interested in finding a solution to
2b. Make sure your great hacker is kept away from shiny things until the problem is solved
2c. Pray that the hacker can, in fact, produce an effective solution (if this was a certainty, you wouldn't have needed the hacker in the first place)
2c. Market that solution effectively

There, and that's the path to success, and ultimate riches!

I just ducked down to Dymocks technical bookshop in Sydney, and bought a copy of Mark Pilgrim's Dive Into Python, thus bringing Mark one step closer to that important goal of recouping his advance.

On first examination, the book presents a significant problem to any prospective owner. While it has an attractively designed cover and a nice, self-deprecating blurb by the author on the back, the book is entirely the wrong size.

Unlike most computer books, it is far too light to be used as a weapon, and not thick enough to raise a monitor to eye-level. Nevertheless, it is not nearly thin enough to be used to prop up one leg of a wobbly table. I can only imagine this is a massive oversight on the part of the publisher, who should know by now what most computer books are really used for.

Given its complete uselessness for any other purpose, I may be forced to read it.

It's a strange feeling to be a blogger with nothing interesting to say. Of course some people would argue that's blogging in a nutshell, but this month I've had remarkably little cross my mind that was worthy of public comment.

I seem to be taking a break from being a nerd. After I finish work for the day, I want to stay away from the computer, watch some TV, maybe read a book. I wonder if this is how normal people behave? I hope I get over it soon, I've got a bunch of geek stuff I promised myself I'd do in my spare time.

Why is Ben wearing sunglasses in the office? The flames were just too bright!

I guess I should have responded to being biled, but why make a fuss? Javablogs' stability has been a running joke, and deserving of discontent. It's been mostly hardware-related, but there have been one or two annoying software glitches.

Anyway, as Alan pointed out to me, wasn't that the nicest bile you've ever read? I wasn't accused of a single deviant sexual practice. It was almost complimentary. As for having lost my mind when I joined Atlassian, I have to point out that I was a Websphere consultant for the previous three years. I challenge anyone to do that and retain any residual sanity.

(An aside: I'm not personally responsible for Javablogs. I'm just the guy who blogs about it every now and then. I'll happily take the blame for the stuff that's broken, but all the bits that aren't broken are the collective work of everyone at Atlassian.)

This 10kg box of M&Ms appeared at the Atlassian office last week. So much for any hope of a post-holiday diet.

Looking at my last two Quicklinks entries, I see William Shatner covering a Pulp song, and Florida youth hanging themselves on meat-hooks. I can't help wondering if the two are related. Perhaps after listening to Shatner sing, hanging on a meat-hook is a blessed relief?

How to offend women without even trying: (Charles) "Hi! I heard a lot about you, but I don't think we've ever actually met before." (Rita) "Of course we have! Didn't I spend an afternoon sitting on your lap?" Oops.

Meanwhile, if you live in Sydney, go and see Gibson Nolte performing Adam Rapp's play Nocturne at the Belvoir St Theatre. Gibson gives a pretty incredible performance, holding you for the whole 100-minute one-man show. And I'm not just saying this because he was a groomsman at my brother's wedding, and probably has incriminating photos of me from the reception.

And from IRC:

iMorpheus: I miss the Cure.
Carlton: Yeah, it's a shame Robert Smith Lost It in the 90's.
iMorpheus: what happened?
rojisan: he got meds?
Carlton: Well, I think he just finally realised that he's happily married and very rich, and forgot how to be depressed.
rojisan: that's fixable with meds too
Carlton: So everything after Wish sounded like he was trying to remember how to write Cure songs, but couldn't get in the mood.

Not that I have even remotely enough money to buy one, of course, but...

Cost of 30" cinema display from US online Apple store:US$3299
Converted to Australian dollars:AU$4499
Add 10% GST:AU$4949
Cost of 30" cinema display from Australian online Apple store:AU$5999

I wonder where that 20% markup comes from.

This scene was cut from the first draft of the Spiderman 2 script.

PETER hangs suspended from the SPIDER WEB, and
looks meaningfully at MARY-JANE

        PETER
    You see... that's why we can never
    be together. Spiderman will always 
    have enemies, and I couldn't bear
    anything happening to you. It's the
    only way to keep you safe.
    
        MARY-JANE
    Sure. What-ever!
    
PETER can't quite process this. He just sits
there on the web.

        MARY-JANE
    Well, how many mortal enemies have
    you had?

        PETER
    The Green Goblin. Doctor Octopus.
    That makes two.
    
        MARY-JANE
    And how many times have I been
    abducted by your mortal enemy and 
    almost killed, despite you being so
    very careful to make sure we're
    not a couple?
    
PETER, once again, has no response to this.

        MARY-JANE
    TWICE, you complete pillock!
    
Another moment of silence.

        MARY-JANE
    So, what difference would it have
    made if we'd just been shagging like
    crazed rabbits for the last three
    years? But no! You  just HAD to go
    on with your stupid martyr act!
    Does masochism run in your family
    or something?
    
        PETER
    Hey! That's not fair!
    
        MARY-JANE
    Too bloody right it isn't. Do 
    you realise how much this is
    going to complicate my love-
    life?
    
        PETER
    I'm sorry... What will you tell
    astronaut-guy?
    
        MARY-JANE
    Oh, I'm over him already. I was
    talking about Jarvis.
    
One more unexpected revelation might just be too
much for PETER.

        MARY-JANE
    Jarvis. Jarvis Cocker. I figured
    if I was going to be attracted to
    moping guys in thick glasses, I
    might as well find one who sings
    about how good he is in bed.
    
CUT to MARY-JANE being lowered rather quickly from
the web by a long strand of SPIDER-SILK.

Last night, after two beers but before the pool competition, I had the misfortune to be cornered by someone with a deep, abiding belief in astrology.

"So when's your birthday?"
"December."
"Ah, a Sag?"

Warning bells start going off about now. The only people who refer to Saggitarius as 'Sag' are those who use the word often enough to be dangerous.

"So, you're an outgoing guy, then. Life of the party."
"I'm a toxic introvert."
"Like the outdoors?"
"Er, not really."
"Ah, but you said you just came back from America. So you like travel. Typical Sag."

At this point, I can feel my brain-cells dying en masse just from being forced to listen to this. Or maybe it's a mass suicide to avoid having to process any more of it. I picture my neurons lined up, cups of poisoned kool-aid gripped tightly in dendrites: "It's this, or having to work out what your rising sign is! You know what you have to do!"

I have a pretty laissez faire attitude to spirituality. If you believe in a God, or several Gods, or a nebulous spiritual ether that encompasses all living things, that's really none of my business.

At least, that's what I thought. Now I know that I have one exception, in the same way that Country is my exception to having no musical biases.

If you honestly think that a human being's personality or destiny is shaped by the fact that some guy looked up at a pattern of dots in the sky a few thousand years ago and thought "Ooh! Horsey!", then I'm sorry, you're an idiot.

In my one and only visit so far to JavaOne (sorry guys, you may have won the hockey, but between spotlight, dashboard (and its associated neat additions to WebKit), and all the other cool new stuff, Apple wins the bulk of my attention this week), I was given the five-minute demo of Project Looking Glass: Sun's 3d window manager which has just been open-sourced.

I don't claim to have made any in-depth analysis or testing. I do claim to be opinionated, prone to rash first impressions, and to have been using computers for long enough to have some idea of what works, and what doesn't.

Positive

  • Nice eye-candy

    I'm an OS X user, so I can't really complain about eye-candy. A desktop environment that looks good is just more pleasant to use.

  • Clear distinction between foreground app and background.

    The way the background apps actually move into the background is a good, informative effect. OS X accomplishes something similar (but more subtly) using drop-shadows.

  • Nice effect for virtual desktops

    Virtual desktops are navigated between by spinning your perspective from side to side. This is a cool visual clue for where you're going that might reduce one of the main problems with virtual desktops by helping you maintain a spatial memory of where you left some windows.

  • Interesting tilted window effect

    I'm not so sure on this one: it almost dropped down into the next section, but the way windows in the background can tilt slightly seems a quite effective way to increase screen real-estate. The visual cue of being angled backwards makes the shrinking of the content of the window much less disconcerting than if it had just been scaled.

  • Doesn't try to do too much

    It doesn't attempt to have you fly around in arbitrary 3d space finding your windows. It could have, but that would have made it totally unuseable.

Neutral

  • Side-on windows

    Windows can be minimised by flipping them side-on. The window title is written along the "spine", and you have a very small angled view of what's on the face of the window. I just don't see this as being very useful: the minimised windows still take up far too much space, and speaking personally, I don't see the point of minimising windows - they're just as useful hidden, or parked out the back of the desktop. (Exposé obviously helps me here)

  • Boring-looking applications

    Surrounded by the cool new window manager, the regular X Window apps with their very X Window-ish widgets and window decorations look decidedly drab and out of place.

Negative

  • Still clumsy

    The demonstrator (who had presumably been doing this for three days already) had some trouble manipulating windows that had been tilted in the background or flipped on their side. I wasn't given the chance to try this myself.

  • Notes on backs of windows

    This is one of those features that looks cool in a demo, but actually reduces the usability of the environment in practice. I almost never want to associate a note with a specific window, and since the contents of windows change pretty often it's incredibly unlikely that the note will remain relevant for long.

    The existence of the notes, however, will make closing windows a questionable affair, because you'll have to be warned about possibly destroying stuff that's completely invisible to you when you hit the close button. I'd much rather a desktop-wide notepad that can fly in, dashboard-style.

  • Crappy demo CD app

    The demo "cool 3d effects" app is a CD changer that spins a pile of CDs around. It looks cool, but compared to its two-dimensional alternatives, it's a huge step backwards in usability. User interfaces that try to model physical objects are almost never a good idea. We shouldn't be encouraging people to write awful interfaces like this by using them in demos.

    ...which begs the question: if that's the best they could come up with for the demo, is it really a good idea to try and follow that path in other applications?

All in all, Looking Glass looks like a good start. It introduces some interesting ideas to the desktop UI, but I don't think I'd want to use it seriously in its current form, even ahead of all the other dismal Linux UIs. Which is fair enough, it's an experiment and not meant for that kind of use yet.

One thing Apple consistently get right, is that eye-candy is best when it's applied to something that is already useful in its own right. Minimising a window is useful, minimising with a genie effect or by flipping the window on its side is kinda cool. Ditto with the way Dashboard widgets shimmer into view when you open them, or flip over to reveal their preferences. Even better is when the eye-candy enhances an already useful feature, such as the ways that the cube effect in OS X's fast-user switching, or the sweeping viewpoint in Looking Glass's desktop switching add a spatial element to the transition.

When looking cool comes before the feature that is being made to look cool, that's when problems start occurring.