Home : Archives : 2004 : June

Thursday, 17 June 2004

A Recipe for Disaster::

Life

1 Difficult client
1 Mind, never made up
1 Fixed deadline, fast approaching
Handful of contractors, going insane

Mix input and deadline. Underscore early in the process that it is expected that the contractors be flexible. Next, change definition often and refuse to adhere to any sort of agreement, written or not.

Question ability of contractors to do anything if they don't precisely follow client's "suggestions." Do not recognize requirements defined earlier, except when advantageous to your position or unrealistic - preferably both.

Indicate unhappiness with rate of advancement; bring contractors to a slow boil. Whenever a goal is almost reached, change your definition of fulfillment. Let contractors stew in juices.

As deadline approaches, add ill-defined discontent at will but do not give any required information for advancement. Increase pressure until almost explosive.

When done, ignore results.

11:10 AM on Thursday, 17 June 2004 | comments (0)

The Five Obstructions::

Movies Reviews

Aside from what I'd read in a review (somewhere, no longer sure where), I went into The Five Obstructions knowing - and expecting - very little. I'd never seen its source/subject, The Perfect Human. Sure, I knew Lars von Trier's work (and his reputation), but nothing about his hero/subject, Jørgen Leth.

In fact, arriving late, I even missed a good amount of the introduction. So much for a "pure" exposure to the film or a complete viewing in its integrality.

Breaking down and revisiting one's prior work can be difficult, if not downright painful. And von Trier makes things about as painful as he can for poor Leth - albeit in an obviously playful way. Still, von Trier can't help but let show his glee when setting the stage for Leth's initial task - or his mock disappointment when Leth finds creative ways to sidestep technical and even emotional constraints.

Five films, five sets of rules - all with one goal: remake Leth's famous (to others, apparently, not to me) film, "The Perfect Human." Both directors visibly evolve during the film, in role if not in appearance. Hardly surprising, considering the five tasks span the months covering 2000 to 2002.

I found myself relating to that same time scale, thinking back to my own life over that same period: my move to Paris, through starting my own company. In fact, one of the main reasons I went to this film was the one challenge that - according to the review - threw Leth for a loop.

The hardest challenge of all? Total freedom: do anything you want. And sure enough, Leth - having grown used to his protégé/torturer's Draconian ways - was a bit rattled when given carte blanche. But I wouldn't say that he was "thrown for a loop." Nor was I, when left to my own devices. After a short period, I picked up and moved on - as, inevitably, most of us do.

On a totally unrelated note, I couldn't stop myself from comparing how each actor shaved in each of the films. It's such a banal exercise, but served as an interesting reference point - a way of comparing the different permutations by using this one moment as a metric. I think my fascination with it is a sure sign of how much of a geek I am.

I obviously missed a crucial point by arriving late: the whole series of challenges were supposedly devised by von Trier to pull Leth out of some reclusive funk that had him sulking in Haiti. But by the end, I could feel the camaraderie, as well as Leth's appreciation - fittingly, expressed in a letter written to von Trier by von Trier himself.

4 / 5 : von Trier's arrows fly true: "no direction" doesn't equate with freedom, nor is "making lemonade from lemons" life's purpose

11:25 AM on Thursday, 17 June 2004 | comments (0)

A Midsummer Morning's Dream::

Life Music

I had a waking dream this morning (right around the time that I woke up, meaning that I could remember enough to savor the dream), involving time travel, some very familiar setting (a school? a former workplace?), a favorite band and a foreign language.

The favorite band was Bel Canto, who I haven't listened to for a while - but I assure you that I am at this very moment. Beautiful, sweeping vocals befitting the name. Odd-yet-familiar melodies. Great stuff.

The time travel element was standard sort-of-odd dream fare, the familiar setting a banal detail. The foreign language, though, was what seemed to be some Scandinavian tongue.

In my dream, I was trying very hard to give Bel Canto proof that I came from the future (our present; the dream was set in the early 80's, I think). It had to do with my needing credibility when I came up to them with a message in the future-now. Like I said, standard dream fare.

Of course, I was speaking this Scandinavian language - Norwegian, maybe? It seemed perfectly normal at the time, but in retrospect it was a little odd. You see, until literally one minute ago, I had thought that Bel Canto was Icelandic. But then, looking for a link to their biography to add to this entry, I found out that they are, in fact, Norwegian. Weird: I've listened to them for more than fifteen years, and I don't find out their true origins until now. Yet, in my dream, I knew.

Even in my dreams, I'm extremely (overly?) exacting. I could've "simply" spoken French, considering I'm immersed in it daily. Or I could've thought I was speaking pretend-Icelandic (rather than pretend-Norwegian). Instead, my brain insisted on the "right" language.

I should be a movie director: the kind who everyone praises for "artistic integrity," but who is despised for their unrelenting perfectionism. Sort of like what I do now, but with more money.

3:06 PM on Thursday, 17 June 2004 | comments (0)

Tuesday, 22 June 2004

Sounds::

France

The loud grinding, buzzing, humming sounds of construction. The worker gnomes are at it again - this time, not only upstairs but also downstairs from me. I now have that to look forward to as an alarm clock every morning, for some indefinite amount of time. Oh, well.

A shrill rendition of "It's a Small World After All," whistled by Nameless Person in the Street on my way to work. Slightly more pleasant, but wouldn't you know it, his whistle carried over all the other sounds. This unfortunately meant that for the next minute (despite walking in opposite directions, and I walk fast), I was subjected to Disney's piece of finely engineered marketing. I spent most of the rest of the day trying to get it back out of my head.

The whir, buzz, whine and scrape of the dentist's tools. He had to be cruel to be kind: it's been four years since the last time I sat in that kind of reclining chair. I was a little nervous going in - not because I'm afraid of dentists (quite the opposite), but because I'd put it off for so long and was worried to hear that my mouth had gone to rot. Many thanks to Heather, both for finding a good dentist and for going so far as to make an appointment for me - just the jolt I needed to break my cycle of excuses.

The wheeze and moan of the accordionists (and their instruments) on the Métro, both to and from the dentist's office. Here's a tip for any traveler in Paris: there are licensed (by the transit authority) musicians in the Métro, these guys are most certainly not. It's not "cute" or "quaint" or anything but "crass appeal to the sympathetic tourist's dollar," and giving them money just encourages the proliferation of accordionists, all playing the exact same three songs that define the totality of their repertoire. Please do support the real artists, like the guy on the 9 line who sings an a capella version of "La Mer" mixed together with "Beyond the Sea" (Bobby Darin's better-known English rendition). Or the string quartets who brighten up the busier stations. Or any number of real musicians - just please, not the accordionists. Thank you.

Silent streets (as much as normal for Paris at 8:30, at least), well after the Fête de la musique was supposed to have begun. This is the annual national music celebration (closest approximation of the meaning), where musicians professional and amateur alike take to the streets and play. Last year, it was impossible to go anywhere after 6:00 and not hear music. Unfortunately, this being a Monday combined with an important French football match, no one seemed to be ready to go out. So we quickly transitioned to...

Buzzing conversation, clinking of silverware on plates and of wine glasses. A nice dinner in a pleasant bistro near the canal Saint Martin. Unfortunately, this was all my friend Valerie and I had to occupy us for one hour between dinner and dessert. The sound of operating order equipment apparently had been lacking, and everything got backed up. The figs in cream sauce - when they did eventually arrive - were delicious.

Grinding guitars, blaring trumpets, smooth keyboards - you name it, it was being played. The 2004 Paris edition of the Fête de la musique finally got its groove on sometime after Valerie and I had left the restaurant at 10:30. Later, Heather joined us to the sounds of bad glam rock covers at Bastille. (Bad covers, bad glam rock - you choose the semantic permutation that you prefer.) We wandered the streets, enjoyed the pastiche formed by musicians playing their hearts out - and in the process, covered a good swath running from the 19th through the 11th, 10th, 4th, and 1st arrondissements.

Honking horns and drunken reveling from French football supporters. Les Bleus won 3-1 against Switzerland, granting them passage to the quarter-finals of the Euro 2004.

These were the sounds I heard today, 21 June, the longest day of the year. Now, it's the whir of my laptop's fans. Soon my day will end as it began, in silence.

2:05 AM on Tuesday, 22 June 2004 | comments (0)

Just Like Norman Rockwell Would've Pictured It::

France

It was a swell evening and all, but nothing at this year's Fête de la musique compared to one funny sight that I witnessed at last year's edition.

It was toward the end of the evening, after having meandered through the area around the canal St. Martin. Near place de la République, a barricade stood against the few cars braving the streets packed with music-loving pedestrians. République was hosting the finale band: Simply Red, back from wherever they'd been hiding since the Eighties.

Anyway, the funny thing had nothing to do with bands back from the dead, and everything to do with the average Parisian.

Standing beside the barricade, a small group of police officers were giving out directions and generally making sure no one in search of a parking spot moved the steel assemblage. It was all a relaxed affair - so relaxed, in fact, that the one woman cop among the four had pulled out a cigarette.

Now, it's generally known that no Parisian who smokes ever had a light on him. And it's generally accepted that it's polite behavior for strangers to approach you on the street and ask for a light. I think that statisticians have run the numbers and concluded that Pierre Dupont, of the 11th arrondissement, provides the sole lighter for the 750,000-odd people living on that side of the city.

So, I guess it must have been good ol' hapless Pierre who was passing by the barricade at that very moment. Because, just like that - in the ultimate Parisian gesture - the woman cop leaned over to him and asked for a light. Of course, I don't think it's accepted behavior to ask for a cop's number in return.

10:20 AM on Tuesday, 22 June 2004 | comments (0)

Wednesday, 23 June 2004

Too. Tired. To. Care.::

Life

So, it's been about a week since my project from hell finished. I'm verbose, but I don't like to beat a dead horse. Still, I'm going to revisit this one last time.

I don't often talk about work details. For one thing, I think that it's important for a client relationship. For another, when I'm not working, I usually want to talk about other things. This project is different, in that it was a nightmare and I need to get things off my chest.

I'm not looking to drag our client through the mud; I still respect the business aspect of our relationship, even if the client really pissed me off. Don't bother going on if you're looking for a tawdry tell-all or a naming of names. The same goes if you don't feel like wading through my ranting.

I should say frame what comes next with the fact that it was, in the end, a learning experience. I recognize that there are several things that we could have done better on our end. Still, I place much of the blame at the feet of a client who was unwilling to make any compromises, even when he himself made the task impossible.

For us, the project seemed a pretty cool opportunity at the start: we were hired to create the dynamic screensaver and desktop wallpaper for a major football championship. Then came the scope slippage: six languages, sixteen teams (plus a general version), working on Windows and the Macintosh. Phew.

We're not a production shop, but I felt that I could handle that (I'm the one who did all the Flash programming, aside from the work that a friend did). Normally, we're there to help design interfaces with clients, keeping the best interests of their users while still respecting the clients' needs. However, we were in a rock and a hard place on this project: a third of the way in, our client made it very clear to us that he expected us to do nothing more than to implement what he wanted.

How can you live up to expectations, when what you do (interface design) is not what is wanted (cheap production)? Normally, we wouldn't have taken the job. So why did we? Because it wasn't until after signing the contract that he ever specified that we would be essentially staff augmentation.

Then came the feature creep: animated interstitials, almost no common features between the screensavers and the wallpaper (contrary to what had been specified in the contract), and "hey, let's add this" mentality. This is where we were in part to blame, because we should have stood more firmly and reigned in the client.

But this was a client who had plainly stated at the start that he needed us to be "flexible." Basically, he didn't want to be bothered by technicalities. We were very flexible (as you'll see from the number of hours I worked), but never did we get any encouraging feedback. I don't need someone kissing my ass, but I don't want to hear a client complaining that you're "only getting 60% of what [he] paid for" the very day I had worked 37 hours straight.

I truly feel that I went above and beyond the call of duty for this project, in effect creating two entirely separate programs in slightly over one week's period of time. Besides my usual perfectionism, I also had to ensure that they would work in a variety of conditions (no Internet connection, the team didn't advance in the tournament beyond a certain point, etc).

The final blow is the fact that only the English version was uploaded - until today. And now that the other versions are uploaded, only the general one is online - 16 team-specific versions are only available in English. Well, it makes sense: they waited to upload until halfway through the tournament. The final match is Sunday, 4 July; it's all over for half of the teams as of the very moment of this entry. This is what I meant when I mentioned the client ignoring the results.

Huge kudos go to my friend Brian Westemeier, who did the interstitial animations. He's a Flash whiz, and I highly recommend you check out his company, RokketChair Productions.

In closing, I really don't want to hear anyone's sympathy or get a dressing-down, either. I'm writing this more as a warning to others who seek to please clients at all costs, and of course to vent. I warned you at the start...

Above all, don't tell me any "at least..." stories. There is no "at least [insert rationalization here]." The project is finished, and I'm done talking about it. Quite simply, that's as good as it gets.

To any potential clients who I've scared off, I apologize; bitching about who I work for is not what I do. [Updated Friday, 2 July 2004: You know what, I'm not sorry. We need clients who can hold themselves to the same standards as they do us. We appreciate a challenge, and we're very hard workers. If you can't respect the business relationship that this entails, then maybe it's best that we don't work together.]

In case you have any doubts and wonder what I do do, here's a list of my hours:

Thursday, 20 May (holiday) 6 hours
Friday 9:00 AM - 9:00 PM
Monday, 24 May 10:00 AM - 12:00 AM (approx)
Tuesday 9:00 AM - 7:30 PM
Wednesday 9:00 AM - 8:00 PM
Thursday 8:00 AM - 6:15 PM
Friday 9:30 AM - 7:30 PM (client meeting)
Saturday in bed with a fever
Sunday 1:00 PM - 2:30 PM
Monday, 31 May (holiday) 8:00 AM - 2:30 AM (the fun starts in earnest)
Tuesday 9:00 AM - 3:00 AM
Wednesday 9:00 AM - 2:30 AM
Thursday 8:30 AM - 7:45 AM (that's Friday AM)
Friday 1:00 PM - 8:30 PM
Saturday 8:00 PM - 1:00 AM
Sunday 9:30 AM - ...
Monday, 7 June ... - 10:30 PM (37 hours, 2 of them napping at the office)
Tuesday 10:15 AM - 3:00 AM
Wednesday 9:30 AM - 2:00 AM
Thursday 10:15 AM - 9:00 PM
Friday 10:30 AM - 7:30 PM
Saturday 10:00 AM - 2:00 AM
Sunday 2 hours
Monday, 14 June 2 hours

That's a total of some 275 hours (roughly, because I included 2 hours of napping, my lunches, etc). That's only for me: I didn't calculate any of the late nights and all-nighters that my designer partner spent, nor any of the time (much less, but still important) put in my my third partner.

6:49 PM on Wednesday, 23 June 2004 | comments (0)

Thursday, 24 June 2004

Geek Ahoy!::

Geek Meta

Anyone who's read entries from around the time I started my blog (oh, those long-gone golden days of - er, this past February) knows my love-hate relationship with the medium.

On the other hand, the tools - oh, the beautiful, shiny tools - are really pretty damn cool. After conducting a very scientific (and obviously thorough) survey of three of my friends' blogs, I decided to follow their unanimous endorsement and use Movable Type. Note that there's no hyperlink there: by their license agreement, I have to put a link to them somewhere on my home page. I figure that's one too many required linkages - so find it yourself, you grabby little punk.

There's been a recent uproar among the blogging community - faintly audible as a cough among the cacophony of all the world's true miseries - about Six Apart's change in their licensing requirements. I'm not going to get into that here (free software vs. Open Source is probably better saved for when - and if - I write about Linux), but Mark Pilgrim has a pretty good article about it and its effects. For the present, suffice to say that Mark has a great point: Movable Type is "free enough."

No, what this entry is about (or is supposed to be about) is the fun side of things - the geek side, really. Movable Type is pretty feature-complete in itself, but can be made even richer via plug-ins (the term for those little modules of third-party code that extend an existing piece of software, like the ubiquitous Flash plug-in for your browser).

Lives change, Web sites grow, blogs evolve. Something I originally thought would be perfect becomes an annoying limitation, so I change it. The latest little fix-er-up is my topic handling.

You'll notice that, to the right of my entries ("to the right," that is, unless I decide to change my site's layout), I have a little icon. Click on it - go ahead, just be sure to come back here using your browser's "back" button. I'll wait... Done? See, it gives you a list of other entries in the same topic.

Duh, you say. Well, "duh" is right, but Movable Type out of the box only allows me to show all the topics associated with my entry. That's fine if I always want to show all of them (when I have the space), or if I only every have one. But what if I only want to show the main one on some pages (like my home page), and all of the topics on other pages (like the page that shows the full entry)? No go.

So I whipped up a lil' ol' plug-in. Now, I can show only the main topic when I want to, and a list of all the topics when I need to. Like I said earlier, pretty damn cool.

So, I hereby announce two new topics: Joining the self-evident topics of France, Life, Movies, Music and the coyly mysterious Meta (blog entries about my blog), I give you Reviews and the all-powerful, all-important Geek. Ta-dahhh.

Befitting an occasion so splendiferous, I inaugurate the Geek topic with this very entry. Though others will appear before it in the archives (due to tagging the otehrs with a secondary association), this is the first entry whose main topic is actually "Geek."

...

Criminy, that was boring.

I hate blogs.

11:34 PM on Thursday, 24 June 2004 | comments (0)

Friday, 25 June 2004

Even Monty Python Would Have a Hard Time Making This Funny::

Geek

I get spam, lots of it. Due to my youthful indiscretions involving where I stuck my email address, every Joe Penis-Enlarger and Jane Horny-Co-Ed now want to be my pals (or bedmates, it's all a bit confusing). Yes, I left my address unprotected, and as a result I'm supposed to Earn Easy Ca$$$h!!! This may or may not be related to helping out most of the population of Nigeria with URGENT BUSINESS ASSISTANCE to the order of ABOUT TWENTY MILLION UNITED STATES DOLLAR [sic] (or "$20 MILLION," in case you didn't understand ALL THE SHOUTING).

And, in the ultimate of insults, I am plagued by spam from vendors who want to sell me anti-spam software.

Yea, I say unto you: I have sinned. I am wracked with the guilt of - gasp! - having put my email address on the Web.

Back when I first got my domain, I was happily chugging along with my ISP-provided address. I was an early customer, and also the first "John" to think of asking for his name. So by the time I registered "johnkeller.com" in 1999, I already had years of history and many people with my old email address.

Why not, I thought, include a Web version my resume ("CV" for some) at my new domain? Nifty. And why not then post a very personal - and easy-to-remember - email address along with it? So I did.

And now, years after having abandoned my dialup account (it's sort of expensive to dial in to Minneapolis from Paris) and switching over to what was once my resume's dedicated email address, I'm suffering the consequences. This is, of course, long after having removed this said address from my Web pages. Ironically, the address currently posted (and has been for at least five years), gets almost zero spam messages. Sigh.

Fortunately, there are salves and balms for the pain, if no outright remedies. My main tool in the kit is SpamAssassin, which sits on my host's server and tags suspect messages for me. With the help of a technique called Bayesian filtering, SpamAssassin is very effective in evaluating the likelihood that a given message is spam. My email arrives as usual, with certain (e.g. "many") messages tagged as spam. And if SpamAssassin messes up, I can just feed the message back to it so that it learns better for next time.

There's always the potential for email tagged as spam that is, in fact, "ham." So I still have to slog through those damn messages - which number several hundred a week. In the future, when I'm being bombarded with 10,000 offers every minute for some futuristic version of V1@GRA, I'm sure that I'll look back on these halcyon days with fondness. But right now, "several hundred a week" is a lot.

SpamAssassin evaluates each message using rules (does it look like spam, taste like spam, smell like spam...). These rules are assigned point values, which add up to a "is it or isn't it" threshold. After some extensive tweaking, I've found a combination of rules and a rating threshold that avoid too many false positives or false negatives.

Well, I finally was able to go one step further. Yesterday, I added a mail-filtering rule (using another service that exists on my host's server) that applies a second limit. All spam with a rating above this second, slightly higher, threshold, is summarily dumped (well, I still get it for testing purposes, but that will soon change).

This effectively reduces the number of messages that I have to manually evaluate: Since setting the gears in motion, only four spam messages have gotten through in 24 hours. Forty seven others (47 OTHERS) hit a brick wall (the proverbial "/dev/null," in geek parlance) - or would have, were I not still in testing mode.

Before, it was annoying whenever I got a spam message. Now I say, "bring it on." It's still annoying, but also sort of fun - sort of like when young kids become annoying by never getting tired of playing the same, simple game.

So, I'm on my way to (mostly) spam-free email. My question is, where is our lawmakers' spine and why is it me who has to bear the onus of this whole process?

Maybe one of these days, I'll get an email promising me to be SPAM-FREE FOR THE REST OF YOUR LIFE if only I ***Clik heer***. Of course, it'll probably just get automatically filtered out.

12:18 AM on Friday, 25 June 2004 | comments (2)

Wednesday, 30 June 2004

Number 50::

Life

I was talking with Heather this evening, when stress came up (that is, the subject of...). If I learned one thing from my hell weeks, it's that at a certain point I just top out on stress. I never had that happen before (I've got a lot of stress to share, I guess).

Successive 18-hour days and massive worry actually ended up putting me into a Zen-like state. "Zen-like," in that I still could get upset - but not more stressed. In fact, I think I was calmer during the worst of my work periods (like the 37-hour day) than at the project's start (when all I could see was the hugeness of what lay before me) or its end (when I was having to play firefighter instead of savoring a job well done).

Other things, potentially picked at random but probably not:

That is all.

11:08 PM on Wednesday, 30 June 2004 | comments (0)
« May 2004 | home | July 2004 »

My site has been designed to take the fullest advantage of Web standards.

While it is still accessible on any browser or Internet device, it looks and works best when viewed with a browser that supports these standards.