21 September 2006

Music I've Made

I just realized that I have pages all over the internet, with nothing to link them together. To make things better, some of them are years out of date. So, here's my musical history, with links to mp3s and websites where I have them.

Painted Invisible (2003-present)


A solo project that's somewhere between electroclash and futurepop (both terms I hate, by the way), as well as the name of a bouncy synthpop duo that never happened and an earlier trance/pop solo project.

An mp3 collection for Painted Invisible and Pneumat IX (below).

A web page about Painted Invisible and my musical history.

Pneumat IX (2005-2005)


Slower and moodier synthpoppish stuff. Pneumat IX was a duo with my former flatmate Francis until he flipped out and took off (with a bunch of my CDs and equipment) for LA.

The band's myspace page. Just about nothing on this page is true. For example, you may notice that the music that Francis claims as his deeply personal solo music is bit-for-bit the same mp3s that are on the other pages above and below. Oh well, it's still good music.

My personal myspace page, from the Pneumat IX era. I haven't updated it in almost a year, and I'm not even sure which email address it was attached to. There's some music-related stuff there, and some more blogs if you're bored.

The original Pneumat IX page, which we never finished.

The mp3 repository for the above site.

DJ Payn (1989-present)


My usual club DJ name. I've released a few mash recordings, but I haven't looked for them online.

Ice IV.V (1999-2002)


Electronic parody covers. My first post-Ice IX solo project. Most famous for "Del Taco Man," And One's "Techno Man" rewritten about various people in the LA industrial scene hanging out at a Del Taco. Other targets included Idiot Stare via Falco ("Rock Me Chadley Bishop"), NIN ("Closer to Lunch"), and... I can't remember. I no longer have any of this music. If you have any, please let me know.

LAGoth.net writeup, thanks to archive.org. Also see a later version, with the logo.

I have no idea how I ended up on last.fm. But someone must have this song--two different versions, in fact.

HacK (1999-2003)


Psytrance/ebm solo project. I never finished anything, mainly because I spent all my time making new sounds in Reaktor instead of writing music. Reaktor is dangerous. Also the name of three different clubs I promoted. No websites appear to exist.

Mulder's Files (1996-2000)


Synthpop all about the X-Files, basically a S.P.O.C.K ripoff. No finished recordings exist, and I can't find any evidence online that I existed.

Ice IX (1994-1999)


Synthpop/hiphop/ebm/techno. Ice IX was originally an SF band called RU486, but after founder Zeke moved to LA, it ended up turning into Ice IX, which I joined shortly thereafter. Over the years, we morphed from generic Laeatherstrip-style ebm to something unique and cool--partly because I got more involved, but mainly because Zeke's tastes evolved. Our album never came out, but we had a bunch of compilation appearances (not one of which I now have a copy of--again, contact me if you do). Not to be confused with Ice Nine (Levi from TKK's band) or Ice 9 (Chris Randall from Sister Machine Gun's band), from around the same time and in roughly the same musical space.

Official web site on Hallucinet, thanks to archive.org.

An interview in an online 'zine.

The discogs page, proof that someone actually paid me for a recording at least once. Although I think I made more off mp3.com (before they started screwing over their artists) than the whole band made from all the comps combined.

An everything2 node.

Internet Covers Database results, notably including not a single one of the covers we recorded on comps (I think Human League, Gary Numan, Run DMC, Kraftwerk?), and including some that we never even played live.

Krypton Angels (1992-1995)


Bad ebm. I wish someone had told me that the world didn't need another FLA ripoff. One demo recording lost years ago, and that's OK. No references online.

23 Naked Jesi (1991-1996)


Annoying old-school industrial noise. All demos lost, and I don't care. No references online.

Beat Traitor (1988-1992)


New beat/ebm/industrial collaboration with a guy named Topher back in college. One demo recording lost years ago, but I'd love to hear it again. No references online.

Battery Club (1987-1989)


"College rock" (which means somewhere between indie and alternative, before those terms existed) band that went through numerous incarnations before me and the other guitar player (Topher) decided we liked playing keyboards better and started Beat Traitor. No demos, don't care, no refs.

17 September 2006

Why I Love Python

Plenty of people, including die-hard lisp-heads and big names in the open source field, have already written about why they love Python. Google does most of their new development in Python, and it's cut their development cycles radically. And Python is the language behind BitTorrent, without which I wouldn't have been able to download replacements for all the CDs that have been stolen or broken over the years (not that I would ever do such an illegal thing). Any company that uses Java or C++ or .NET without thinking about Python first is giving a sure sign that they don't know what they're doing. (Of course I still end up working for them. Well, if they're going to throw money away, I'll take some of it.)

But forget about the technical merits of high-level languages, the beauty of indentation as structure, the interactive environment, etc. You can find all of that in other languages, but none of them are Python. Here are some of the less-commonly given reasons why Python rocks.

First, there's the name. It started off as a Monty Python reference, which is a great way to declare uber-geekiness while (to distinguish it from C++) at the same time not taking yourself too seriously. The only way to top that would be to name the language after a Hitchhikers or Discworld reference, like Slartibartfast or Rincewind. And using spam and eggs instead of foo and bar makes it impossible for any Python user to deny being a geek.

The fact that Python is also the name of a snake (not to mention the Israeli update to the Sidewinder missile) made it way too easy for O'Reilly to come up with the cover for their "Programming Python" book (unlike, say, caml, which is named for animal already in use by Programming Perl). However, now that Python is big news, the community has to worry about offending ophidophobes and Christians--so all of the old logos involving snakes and/or 16-ton weights (especially the MacPython logo, with a realistic snake wrapped around an apple) had to go.

This led to one of the most entertaining discussions I've ever seen, as hardcore geeks tried to figure out how to be politically correct. And the resulting logo is pretty cool, too.

In fact, the Python development lists are often entertaining to read, which I can't say about any other language.

Then there's the fact that Python's Beneficial Dictator For Life has the same name as Risky Business's Killer Pimp (played by Joe Pantoliano in what I think was his first major role). Yes, his name is Guido--and he's not even Italian; he's Dutch. How cool is that?

Python is also the only programming language with its own font (designed by Guido's brother Just).

Pythonistas (and isn't that much cooler than "C++ experts" in itself?) talk about the Zen of Python, and really mean it. Try typing "import this" into a Python interactive session.

Meanwhile, while C++'s big future plans are for a "200x" version, and Perl is looking ahead to a version 6 that may come out any decade now, Python is looking ahead to the year 3000. When we're all disembodied software agents, we will reprogram ourselves in Python.

Then again, what do I know; I used to code in Forth.

17 June 2006

Python Macros

OK, I should post this on comp.lang.python, but I wanted to think it through first by posting it somewhere nobody's going to read. Also, I wanted something techy on my blog.

For the last 300 years or so, Python fans with lisp envy have been arguing that Python needs macros, while Python fans with lispophobia have been arguing that Python should avoid macros like the plague.

The problem is simple: How do we make macros usable (as opposed to the C preprocessor) and implementable, while still being Pythonic?

The only answer anyone ever comes up with is "sort of lisp-like" or "sort of scheme-like" or "anything but the C preprocessor," or at best, "sort of lisp-like but with Python doc strings." Without a good proposal, Guido tells everyone to shut up, and Python stays macro-free.

I think the answer has to come from Dylan. Dylan has a macro system is both hygenic (like Scheme) and powerful (unlike Scheme). But Dylan isn't a syntaxless Lisp derivative; it's a language with a quasi-Algol syntax (like Python). And the macros preserve the syntax. Pretty cool. The classic article is D-Expressions: Lisp Power, Dylan Style (Jonathan Bacharach and Keith Playford, 1999).* (Watch out, that's a PDF.) You can also read The Dylan Reference Manual.**

I'm not going to explain Dylan macros in detail. There are three secrets.

(1) Pattern-matching rewrite rules are sufficiently powerful for almost all purposes. Full-scale code-generating procedures break syntax, but fortunately, they're unnecessary. While there are a few annoying limitations to Dylan macros, they have to do with the implementation, not the concept.

(2) Algol-like languages have useful Skeleton Syntax Trees (SSTs), just like Lisp. Macros based on raw or tokenized text either break syntax, or are too restricted (like cpp). Macros based on ASTs are useless unless you can modify the AST parser on the fly. With macros based on SSTs, a single one-time change to the parser is needed to allow macros, but then you're done.

(3) Hygenic macros need an escape clause. One reason that Lisp and C macros are dangerous is that they accidentally inject names into the scope of the calling code, possibly overriding the caller's names. One reason that Scheme macros suck is that there is no way to inject names into the calling scope. Dylan solves this by making new names hygenic by default, but providing the "?=" form to circumvent this.

Here's an example of a Dylan macro:

define macro with-open-file
{ with-open-file (?stream:name, ?options:*) ?:body end }
=>
{ let ?stream = #f;
block()
?stream := make(, ?options);
?body
cleanup
?stream & close(?stream)
end block }
end macro

with-open-file(stream, locator: "phonenumbers")
process-phone-numbers(stream);
end with-open-file;

Here's what the same thing could look like in Python:

defmacro withfile:
"""withfile(stream, °options, **kw) -> Open a file for use without the enclosing scope"""
withfile(?stream:name, ?options:*, ?kw:**):
?:body
=>
?stream = file(*?options, **?kw)
if (?stream):
try:
?body
finally:
?stream.close()

withfile(stream, name="phonenumbers"):
processPhoneNumbers(stream)

Of course this is a pretty bad example for Python--but it's short.

Anyway, there are a few obvious differences. In Python, indentation is part of the SST. There are docstrings. The list of matchable forms is somewhat different--in particular, "*" matches an argument list, rather than arbitrary syntax. (We might need a form to match arbitrary syntax, the "*" and "**" forms should obviously match the usual Python meaning. Maybe "***"?)

Why do macros need names? Not just for debugging, but so you can undefine them with "del withfile" the same way you can with functions.

I haven't written an implementation. The obvious first step is to build a preprocessor that converts Python source with macros into macro-expanded standard Python source. But I'm not sure that's sufficient to show off the idea, because it doesn't show how macros will integrate with the parser, or how macros can be used in interactive code.

* Look, an actual blog-style link in my blog!
** And another one!

25 March 2006

Maps

I was just playing with the built-in map feature in Flock, which uses the new Yahoo! Maps.* Their maps aren't much different from Google's, or Microsoft's. How many ways can you Ajax up a map GUI. And, after all, it's all the same data, isn't it?

The funny thing is, it's not all the same data.**

According to Google, that train track that runs two blocks down the hill from me is called CalTrain, and the stop is called 22nd St. CalTrain Station. It carries trains all the way down to the Google Shuttle Transfer Station (which most of the world calls the Mountain View CalTrain Station) and beyond.

According to Yahoo!, that train track is called Southern Pacific, and there is no stop to be given a name. For a forward-looking company like Yahoo!, that's charmingly old-fashioned.

Yahoo! also thinks that Chavez is still called Army between Mission and Bayshore--just as old-fashioned, if not quite as charming.

On the other hand, according to Google,*** 22nd St. runs all the way from Potrero to Missouri. This would be a really handy street if it existed.

In fact, the day after I moved to Potrero Hill, armed with a Google Maps printout, I got off a bus at 22nd & Potrero to walk home across 22nd. I immediately discovered that this was wrong unless I wanted to jump over the freeway. But after detouring, everything looked fine. Until 22nd St. became a dirt path, a stone stairway, someone's driveway, a back yard, an unmarked and unlit path, and, finally, a cliff overlooking a fenced-in construction zone. (If you make it down the cliff and past the fence, it becomes a real street again for two car lengths or so.)

From that cliff, I think I could have jumped on top of the first house on the block, run downhill along the rooftops, and then rapelled into my flat. But I didn't have my climbing gear, or my action-movie theme music, so I had to detour two blocks out of the way.

At least I didn't try to drive across 22nd.

To Google's credit, there are actually signs saying 22nd St. every step of the way. Even at Connecticutt, where it's a path into someone's backyard to the west and a cliff to the east, it's clearly marked as 22nd St.

Yahoo! has 22nd St. running from Kansas to the point where it turns into a staircase. That not quite right, but it's the part that's theoretically drivable as long as you don't mind driving your SUV on narrow dirt paths that clearly don't go anywhere other than a staircase.

Looking up one of my old neighborhoods, I discovered to my surprise that Stanley Ave. connects up to Nichols Canyon and Curson. To get to Curson would require driving through someone's front door, out their back door, around their pool, through a hedge, and then up a 45-degree incline. To get to Nichols Canyon would require using their neighbor's garage door as a ramp to jump over the garage and the cliff behind it. I think you get an Insane Stunt Bonus for that one.

* Do I really have to type the exclamation point whenever I write Yahoo!? If I end an exclamation with their name, do I need two, as in "Damn that Yahoo!!"? I had a phone interview with Yahoo!, and the guy on the phone actually said, "The point of this interview is to find out if you're a Yahoo!" I could hear the exclamation point. At that moment, I began to wonder if maybe I was a Google. I didn't feel like one, but I called. They took so long to set up a phone interview that I already had four offers. So I guess I'm not going to work for a company that makes AJAX maps. Oh well.

** There's also search data, in addition to map data, and Google clearly beats Yahoo! here. If I leave off the Ave or the N on N. Stanley Ave, Google asks whether I mean Stanley Ave or Stanley Dr, or N or S. Yahoo just puts me three miles away from either of the two streets.

*** A big chunk of this was written shortly after I moved, whenever that was. Since then, Google appears to have fixed their data, and now has exactly the same 22nd St. as Yahoo! Maybe someone heard me complaining? Meanwhile, there's a dirt trail down from Connecticut and around the construction, at a manageable slope, not far from where 22nd should be. And some of the sillier signs are gone.

Why I'm Not an Engineer

My official job title at most of my jobs has been "Senior Software Engineer." And I hate it.

I won't belabor the fact that "Senior" makes it sound like I've been at the company for 15 years, when actually I've been there 6 months and the company was only around for 3 months before that.

The real problem is with the word "Engineer."

Engineering is about physics and mathematics. Engineering is about designing to exacting specifications. Engineering is about being able to prove that a solution will work before implementing it. Engineering is about discovering all relevant factors and taking them into account. Engineering is about repeatable successes. Most of all, engineering is about using proven processes to guarantee reliability.

Anyone can design a bridge, or a skyscraper, or a fuel pump. But we don't let just anyone do it. And there's a reason. If you design a bridge, a "crash" is not acceptable. People die, there's a major scandal, your company gets sued for negligence, and you get fired, if you're lucky.

But when you're building a mail server, or a web browser, or a real-time strategy game, it's perfectly normal for a sizeable percentage of your customers to have regular crashes. What happens? Your company charges them for support, and gives you a bonus for releasing on time.

Worse, when something goes wrong in a software project, it's usually so difficult to pinpoint the problem that nobody even tries. Remember the Challenger O-ring hearings? Imagine something like that applied to Microsoft Windows. In fact, you don't have to. The Navy tried to hold similar hearings to determine why a Windows crash left one of their ships dead in the water. Ask them how that went.

From the other side, what we do--when we do it well--feel something like magic, even to us. That's simply not true for engineers. That's not to denigrate engineers. They get the satisfaction of solving a difficult problem (just like us), or doing a job and knowing they've done it right (unlike us), but if they pull something off and can't believe that it works, they consider that a red flag, not a reason to celebrate.

So, if what we do isn't engineering, what is it?

Computer Science. Adobe calls all of their code-writing employees Computer Scientists. After all, that's what most of us studied in college, right?

This is completely bogus. Someone who studies algorithmic complexity, or programming language semantics, or type theory: that's a computer scientist. Calling someone who writes software a computer scientist is like calling an auto mechanic a physicist.

Software Craftsmanship. Some people (most famously Pete McBreen) argue that what we do is more like craftsmanship than engineering. There's something to that. Despite all the college degrees, the knowledge that we pass down is more like guild wisdom and rules of thumb than rigorous training in known methodologies.

The problem is that craftsmanship, even more than engineering, is about repeatability. A craftsman builds similar products over and over, and gets very good at doing so. But software is supposed to be not just better, but radically different, than its predecessors. A marble table that's every bit as good as one from the Victorian era is a triumph. A program that's just as good as last year's is a failure. Forget our products; even our methodologies are supposed to be radically different than those from a decade ago.

Software Development. "Developer" doesn't sound bad at first glance. But that's only because it doesn't seem to mean anything.

As a consequence of that vagueness, most fields use it for those people who are neither actual workers nor creatives. Within the software industry, we're the workers and the creatives--or at least what passes for them. Look at development executives in television, or the career development team at a performing artists' agency, or the business development team at your own company. That's about as far from what we do as anything I can imagine.

Tinkering. Others have likened us to tinkerers. There are no rules to what we do, but there are lots of tricks that we figure out, and these tricks look like magic to the outside world even when we try to explain them, even though they're really pretty simple.

But that doesn't really work, for much the same reason. Tinkerers make minor improvements to existing products, Whether or not we succeed, we're always trying to build new things.

Mechanics. Sometimes people in "traditional engineering" fields like to disparage us by calling us mechanics or technicians. But mechanics only exist in fields where there are already engineers. Without automotive engineers to build cars, there'd be no auto mechanics to fix them. We're the top guys in our field, sad as that may sound.

Besides, this suffers from the same problem as the last two categories, only more so. A mechanic who ripped out your working engine and replaced it with an untested new model because he had a cool idea would not be in business long.

Software Writing. Why not run with the "creative" thing. We write programs, so we're writers. Maybe it's not exactly writing novels, but then neither is punching up dialogue in screenplays, producing tech manuals, or doing biographical research--and yet people who do those jobs are called writers. And if our hours and work conditions aren't as weird as writers', they're not exactly normal.

That all sounds appealing, but I think it misses something crucial: We're creating products. Actual things that do work for people--at least when they work. Writers don't do that.

Plus, nobody wants to read what we write. I know, the linux kernel is available online, and thousands of people download it and read it. But every one of them is doing so in order to improve it, or get ideas for a different kernel, or write linux drivers, or debug linux applications. Not a single person reads the linux kernel just to read it.

Programming. What about programmer? We make programs, so we're programmers.

If it sounds a bit dull and old-fashioned and unglamorous, so what?

That's really the crux of the matter. Most people in our field want an impressive title. "Engineer" has some kind of cachet that many of us covet.

But why? Who are we trying to impress?

Girls aren't impressed because you call yourself an engineer. If they're impressed by your job, it's because you're so overpaid that you can afford to buy ridiculously stupid toys. Or maybe because you can get away with dressing like a teenager and showing up to work at 11:00.

Banks and lenders aren't impressed because you call yourself an engineer. They're impressed because you make enough to pay interest. And because even if your company tanks or you get fired, there's so much turnover in your industry that you'll have another job in a month anyway.

Your grandmother may be impressed, but she doesn't know the difference between you and a computer repair technician or an AOL tech support drone. Besides, your grandmother would be a lot more impressed if you just called more often, or married someone nice.

Do you really want to be a guy who wears a buttoned-up white shirt, black socks even with sneakers, and a slide rule in a pocket protector? Not me.

The best title I ever had, I was in charge of a team that, as far as our founder could tell, just randomly banged away at keyboards until eventually an approximation of working code came out. Like Hamlet, but he didn't need an infinite number of us.

So I was Big Chief Codemonkey.

Unfortunately, we soon had to start dealing with H1B visas and partnership deals and next thing you know, I was Lead Software Engineer.

Sigh....

1 You Scan Through Monster...

In the piece that follows, all names have been changed. Not to protect the innocent, but because I'm trying to forget most of them.

I've already written about plagues, but here's one I missed.

Until recently, it had been a long time since I actively looked for a job, so I'd forgotten what it was like. If you've forgotten too, let me refresh your memory about recruiters.

<div voice="Andy Rooney">Have you ever noticed that recruiters these days don't know how to use email?</div>

Every email I get from John Smith has the subject "John Smith: Recruiter." Every email from Joe Blow has the subject "Joe Blow: Contact Info." Every email from Sue Brown has the subject "Sue Brown: Hipressure Headhunting Agency."

So of course they all get filtered right into my Bulk folder. This means that instead of checking my Bulk folder once a week to make sure there's nothing useful there, I have to check multiple times per day.

Then there's Mary Marks, who ends every call with "I'll send you the details by email" and then sends a messaging saying, "It's all set."

At least she's better than Jesse Jones, who replies to each and every email I send by clicking "Reply" and then "Send" without typing any text whatsoever.

I think the founders of Zimbra are right that email is broken--but I can't imagine how it could be fixed well enough to help these guys.

<div voice="Jerry Seinfeld">Have you ever noticed the way recruiters just love to offer you jobs that even a monkey could tell aren't a match? Who are the wizards that came up with that? I mean, they'd offer Superman a job in the Kryptonite mines! What's the deal with that?</div>

I'm a C++ developer. I mostly work on network software. So I love when I get a call like this:

"I've got the perfect position for you. They need a Visual Basic developer with 15 years' experience working on in-house farm management applications."

I especially love when they ask you in detail what you're looking for:

"So, what in particular do you want?"

"Well, I've spent too much of the past three years dealing with Microsoft technology, so mostly I want to get back to cross-platform work."

"Wonderful! Do I have the position for you! We need someone to build Microsoft Management Console GUIs for a Microsoft Active Directory plugin on Microsoft Windows!"

Even if you've never seen a computer, you should be able to tell what's wrong here.

<div voice="Dennis Miller">Recruiters know geography like Zahir-ud-din Mohammad Babur knows how to keep the Uzbeks happy, Chachi.</div>

I live in San Francisco. I don't mind taking the train to work. (Hell, I used to take the subway to work in LA. Yeah, that was me, the one guy they built the subway for, and I don't even live there anymore.) What I don't like is driving down 101 through rush-hour traffic.

So, when recruiters ask how far I'm willing to commute, I always say something like this: "I live right next to CalTrain, so I'm willing to go as far as Mountain View if they're by a station. But I absolutely hate driving down 101, so even San Mateo is too far if they're not by a station."

And the answer is invariably something like this: "Right, of course, of course! I mean, you left LA for a reason, right? Hahaha! Yeah. So, I have this position in Sunnyvale, well, I think maybe it's Milpitas, that you'll just love, they're right between the freeway and the bay, perfect!"

For those who don't know the area: This is about 5 miles past Mountain View. It's also about 4 miles from the train. Getting there generally means transferring from the CalTrain to a VTA train to a bus, and then walking sixteen blocks along a road with no sidewalk under the watchful eye of Lockheed/Martin guards on loan from the US Navy. Total commute time between 80 and 150 minutes, depending on how you time the transfers.

Or, of course, you can drive down 101.

<div voice="Slick Rick">Now sit down, and I'll tell you a story.</div>

I'm nearing the end of the job-search process. Companies A.com and B.net want to make me offers, but I still want to talk to C.biz. I have a second interview with C.biz for tomorrow at 11:00. I very clearly explain the situation to everyone involved.

I tell A.com's CTO that I'll call him at 2:00. I tell B.net's hiring manager that I'll call him at 2:30. I tell the recruiters who set me up with A.com and B.net that I'll call them later in the afternoon, after I've called their companies. Everything's good.

Tomorrow, at 11:00, right as I'm shaking hands with C.biz's team lead, my phone rings. I check to see if it's anyone important. It's Josh Stone, the recruiter who hooked me up with B.net. I hit ignore. Ten minutes later, he calls again. Two minutes after that, he calls again. Then my phone begins ringing continuously. I can't even navigate through the menus to switch to silent mode, because a new call comes in and cancels navigation before I can get there. I settle for turning the volume all the way down, which puts it in vibrate mode, and stuffing it in the couch cushions.

Now it's 2:00. I'm done with the interview, and ready to talk to A.com's CTO.

But I can't, because my phone is dead. All that vibrating has killed the battery. I have to go all the way home first.

By the time I get in touch with B.net, their CTO is on a phone interview with someone else. The receptionist tells me that he assumed (quite reasonably) that I was going to turn down the offer based on the fact that I didn't even call him back after my interview, and that neither my home voicemail nor my cell voicemail will take a message from him. (Did I mention that both are completely full of empty messages from Josh Stone, so they won't take messages from anyone?)

<div voice="Sam Kinison">Oh! Oh! Ohhhhhhhh!</div>

What would possess someone to act like this? I've had crazy ex-girlfriends call me 20 times in 15 minutes, but they were (a) crazy, (b) girlfriends, and most importantly (c) ex-, and therefore had nothing to lose by pissing me off. When someone who's trying to put together a business deal with me acts this way, what am I supposed to think?

It goes without saying that this was a dumb way to achieve his goal of getting me hired by B.net. But I'll say it anyway.

I came very close to summarily turning down B.net because I was so annoyed. And even if I had been sure I wanted to go with them, they might have found a better candidate (through a different recruiter) in those phone interviews before I got back to them. Or they might have just decided I wasn't reliable enough to hire because I don't call when I say I'm going to and don't answer my phone.

Either way, he's out a big chunk of money. (That's where recruiters' money comes from: If B.net hires me, they pay his company something equal to a percentage of my first year's salary, and his company pays him a commission on that deal.) And what does this do for his repeat business with B.net, or with me or any of my friends?

How do these people stay in business, not to mention get good accounts like B.net?

It's almost as if the only competition factor among recruiters is luck. (I'm not an expert on economics, but I believe that's the only situation where you end up with drooling morons and highly-trained professionals succeeding at the same level.)

<div voice="Yevgeny Petrosyan">That's all time for laugh today!</div>

To be honest, looking for a job as a computer programmer in the Bay Area in 2006 is great, recruiters notwithstanding. In the end, I got four good offers (including A.com, B.net, and C.biz) so quickly that Google didn't even get a phone interview set up.

I'm sure to people in other industries, or other times and locations (I remember LA during the Crash), being buffetted with calls from people trying to offer your high-paying jobs doesn't sound all that bad.

I remember looking for a job as a computer programmer in LA in 2001. That wasn't so great. I'm sure if you're a 60-year-old aerospace engineer, or a 19-year-old single mother, or an immigrant from Chechniya whose work visa is on hold because someone saw you go into the same mosque as a guy who looks kind of like Osama, it downright sucks.

And there are a few really good recruiters among the batch. I even have some good-recruiter stories; they're just not as interesting.

And once upon a time, I thought Bruce Sterling was going to be right about the future, and a headhunter would be someone who kidnapped you on the way to work and brainwashed you until you thought you'd actually been working for the rival zaibatsu your whole career. Compared to that, 25 phone calls in 10 minutes doesn't seem so bad.

So, I feel a bit guilty for whining. Until I check my voicemail and have to clear out 20 more messages from recruiters who already know I accepted an offer but still want to tell me about this great job just north of Port Sonoma for a MS SQL database administrator who speaks Serbian.

And then I think, maybe Shakespeare was wrong: Second, we kill all the lawyers.

The Hobbit

No, I have no rumors about what Peter Jackson's up to. I just watched The Hobbit for the first time in a couple decades. In some ways, it was better than I remember; in other ways, worse. But this isn't a review.

I'm here to talk about the voices.

Take a listen. That's gotta be Orson Bean as Bilbo, Snidely Whiplash as Thorin, old-time comedian Brother Theodore as Gollum, Captain Hook as Elrond, someone doing a bizarre parody of Otto Preminger as the king of the wood elves, Leonard Nimoy as Gandalf, and Harry "Captain Murphy" Goz as Bard, King of Lakeland. So, as soon as Leonard Nimoy finished telling Orson Bean about his adventures to come, I rushed off to IMDB to look them up.

Yeah, that's Orson Bean, and Hans "Snidely" Conried, and Brother Theodore, and Cyril Ritchard (who really is Captain Hook, even in real life). And who's doing the Otto Preminger impression? Oh, Otto himself. Well, he did it for Stalag 17. "Vith Christmas coming on I haf a special treat for you. I'll haf you all deloused und haf a little tree for every barrack, and then ve vill kill the dwarfs und take zere gold."

But it's not Leonard Nimoy. In fact, of all people, it's director John Huston. To think, if he hadn't been wasting all that time on that Bible movie (you know, the one that had the balls to call itself The Bible--and was good enough to get away with it), he could have been wearing the pointy ears, telling Kirk how illogical everything is, and getting a Swedish synthpop band named after him. And why didn't he give that overly-emotional Mary Astor a nerve pinch on the Maltese Falcon set?

OK, so I was wrong about Nimoy, but surely Bard is The Goz, right?

I mean, who else could deliver a line like "Hooray for the King under the mountain!" with that panache? (And without giggling!)

Who else could say, "Our town has been ruined, many of our people have been killed, and I'm still not an Adrienne Barbeaubot, damnit!" (I may be slightly misremembering that one, but it was something like that.)

But lo and behold, it's not Harry Goz. Harry was apparently too busy playing his first supporting role in the long-forgotten Looking Up, so they had to go with some guy named John Stephenson.

Who the hell is John Stephenson? He has a decades-spanning career with dozens of credits, but nearly all of them are as "Additional Voices" in lame Hanna-Barbera cartoons. He must have had at least one major role in the 70s, right?

There it is. Star of the original Sealab 2020, Captain Murphy.

If you haven't watched The Hobbit in a long time, it's worth it. The scene where Smaug chases Bard around the corridors in the Murphmobile until Stormy accidentally blows up the whole station rocks.

Curses to Smaug, and to Pod Six!

So now I have to go find Return of the King. I vaguely remember three hobbits that sound like Orson Bean, Roddy MacDowall, Casey Casem, and a guy who sounds like Casey Casem doing an impression of a bad Mexican actor doing a British accent, renacting the first two books in five minutes flat. Is that right?

17 February 2006

My Name: Andrew / Laurence Payn Barnert

People sometimes ask about my name. Here's the story.

Start with my birth name: Andrew Laurence Barnert. My initials match my father's (Anthony Lewis Barnert). There's a long family history of giving your firstborn your initials and your later kids a different first initial but the same middle initial. Yes, my family have been geeks for generations.

Payn started as a pseudonym. Once upon a time, I was doing publicity for record labels, and also doing music journalism. It doesn't look very good when an article or interview in a magazine is written by a guy who works for the band's label. Someone with more integrity would have avoided writing about bands he worked for, but someone who knows that the music business is the last place to waste your integrity would have come up with a pseudonym. Which is what I did. Because of a long story, I had the email address payn@usc.edu, so I chose Payn. And then one of the labels I worked for started writing me checks under that name, because someone is an idiot. So I had to get it added to my legal name so I could deposit the checks.

It turns out that in California, anyone can change their name just by using it officially for a period of time without any intention of fraud. This is pretty cool in theory. The problem is, it's very hard to use your name officially until it's been changed. In old-fashioned states, you have to go before a judge, and he approves the change; in California, because of our enlightened common-law name change rules, it's very hard to get a judge to see you without a good cause, so you're stuck in a catch 22. Eventually, though, I got a bank to accept my new name.

Anyway, there is no "e" at the end of Payn. Trust me; I made it up, I should know.

The / comes from the same time. I'm a huge fan of the 80s TV show Square Pegs, and it was the nickname of Merritt Buttrick's character, who was a hero ("totally different head... totally"). I decided that since I was changing my name anyway, I should add a / to it. That turned out to be hard to do, as most computer systems beep at you when you enter a non-alphabetic character as part of a name.

So, back to my birth name.

Andrew apparently came from a girl named Andrea. Both versions just mean "man" (in the sense of "male," rather than "homo sapiens"),* so it's a pretty dull name for a boy, and a cruel name for a girl.

I usually go by Andy, or sometimes Andi. This isn't really a matter of choice; I had a friend in college who, as a sort of experiment, tried to get everyone to call me Andrew instead of Andy, and then Drew, but neither caught on with anyone else. Even people who were originally introduced to me as Drew and never heard me called anything else started spontaneously calling me Andy anyway. The same friend later tried spelling my name with an 'i', and that did catch on. I'm not sure what any of that means about me, but there you have it.

I'm not sure where Laurence came from,** but my father was adamant that it's spelled with a 'u' rather than a 'w' to match Laurence Olivier rather than Lawrence Welk. Which is pretty cool.

Barnert is apparently of Plattdeutsch (far northwest German) ancestry, even though it comes from Jews living in eastern Pommerania. I'm sure Hansa traders are somehow involved in that. The "barn" could mean barn, or child, or maybe bear--or something completely different.*** The "-ert" is like English "-er." My guess is that some ancestor brought bear furs from Novgorod or Finland down into Germany, but maybe he was a barn-builder or an early obstetrician. Anyway, it's a pretty uncommon name, so if you recognize it, you probably from a relative of mine (or live near Paterson, NJ).

So now you know.

* "Andrew" is of course also a Biblical name--one of the first disciples, the apostle crucified by illiterate Romans (they made his cross in an X shape instead of a T), and the patron saint of Scotland and Russia. You'd think religious Christians would love him, but it seems less popular among them (except the Scottish) than among the masses. (In fact, it was the most popular name for Jewish boys one year in the early 90s.) So I guess everyone in America has forgotten him.

** The name itself comes from Laurentius, a title for a victor crowned with a laurel wreath; I mean I don't know why I was given it.

*** By the time a Plattdeutsch name goes through eastern Germany and then Ellis Island, who knows what might have happened to it....

10 January 2006

The Good Old Days

Everyone knows that conservatives are just misguided by longing for the "good old days" of their youth--which weren't actually all that good. (Ah, the 50s. If you were white and male and Protestant and rich and didn't know any leftists and didn't have teenage sons to get into rumbles with knives and chains and/or get sent to Korea....)

But romantic liberals who long for the good old days of mankind's* youth are even more misguided.

Surely the ancient peoples were more peaceful, honorable, spiritual, and in touch with the earth than modern Christian/scientific/materialist/whatever society, right?
  • The Celts liked to decorate in human skulls.
  • The Norse idea of heaven was a place where they could hack each others' limbs off all day, drink all night, and wake up ready to do it all over again? (Didn't Dante give the wrathful a circle of Hell that was pretty much the same thing?)
  • The Egyptians worked thousands of slaves to death to build the pyramids.
  • The Caucasus mountains are full of peoples who finally accepted civilization only after the Russians showed them that modern weapons are even more neato than rolling boulders down the hill at strangers (although some of them still required Peter to wrestle lions first).
Oh, but those are all part of Western culture, if you stretch "Western" to include part of Asia. What about the wise and mystical east?

I could point out that, long before western culture invented 8 buns to 12 hot dogs, the Chinese invented 16 pounds of mu-shu pork to 4 mu-shu pancakes. How wise and mystical is that? But let's stick to ancient times.

  • I'm guessing you've heard of Genghis Khan, and maybe Tamerlane and Beber? A "Horde" is generally not a friendly gathering.
  • Then there's the Japanese, who, centuries before making salted cuttlefish snacks labeled "For great taste of healthy Fun!" used to intentionally starve most of their people just to make sure they couldn't revolt. Not to mention slaughtering the Ainu for sport.
  • The Polynesians practiced cannibalism until the 19th century.
  • Chinese warlords put entire populations to the sword to make sure there was nobody to breed with their women while they were out plundering.
Ah, but those peaceful Native Americans, they knew and loved Mother Earth.
  • The Lakota drove entire herds of buffalo over cliffs so they could skim a few off the top.
  • The Aztecs--this one's just too easy. Yeah, just about every culture on earth had some kind of human sacrifice, often involving babies, but nobody took it to quite the level of these guys.
  • There are Amazon tribes still alive today who won't let you get laid or take drugs until you can prove you've killed someone--which goes back to the ancient human tradition that the best way to get laid is to kill someone and then rape his wives.
  • The Apaches, they were nice guys too....
Maybe we're not going back far enough? Maybe it's agriculture or civilization itself that spelled the beginning of the end? Well, whoever the first modern humans in Europe were, they drove the mammoth and so many other species into extinction so quickly that they had to abandon northern Europe thousands of years before the glaciers forced them to. I think that says it all.

If not, look through the early human bones we've found and count up what percentage show clear signs of being attacked--and often butchered after death--with stone axes.

The fact is, through most of human history, the strongest and most bloodthirsty ruled. There were no Ghandis or MLKs until the 20th century. Pining for the peaceful state of nature in edenic prehistory is just stupid.

The good old days were pretty horrible, and as bad as W is, any randomly-chosen leader of Assyria would make him look like a saint.

Now, that's not to say that today's status quo is good. But instead of looking to a mystical past that never existed, look to the future. Figure out what's wrong with the world and find a better way to live that nobody's ever tried. It could be a lot better than today--and it can't be a lot worse than a few millenia ago in the "good old days."

Footnotes:

* If you want to call me a sexist for not saying "humankind," go ahead. But men pretty much ruled the early days of the species, so women don't deserve as much of the blame.