inessential by Brent Simmons

May 2001


Now it can be told...

Yesterday I read an interview with Rich Siegel (of BBEdit fame). He said that the "tools we had to use didn't work very well on X."

I'm going to amplify this a bit. Most Mac users probably don't realize what it's like from the developer's point of view.

We use Metrowerks CodeWarrior, like pretty much everyone else. (Though ProjectBuilder is gaining ground.)

It was nearly impossible to get debugging working on OS X. In the end, someone figured out you could set up remote debugging on the same machine. It's totally slow, you have no idea. Just totally painful. And often unreliable. For instance, it's impossible to debug running MacBird cards in Frontier.

(But it did work -- without debugging, there would be no OS X version at all.)

And then there were other bugs -- typing in CodeWarrior on OS X is way slow. More pain.

There was no way to connect to our version control system (which is Windows-based). So I had to take careful notes and boot back into OS 9 and get the VCS caught up from time to time.

I'm not here to throw rocks at Metrowerks. Based on their track record, they will have a very good version of CodeWarrior for OS X before long. They make great tools.

But the reality is that it takes time.

As much as I complain about Metrowerks, they probably have similar complaints about Apple. Everybody builds on someone else's work.

Now, we worked through the problems, and got to beta, and we'll soon be shipping Frontier for OS X. BBEdit for OS X is already shipping (kudos to the Bare Bones folks).

To everybody waiting for apps X, Y, and Z for OS X, you should know what the developers are going through. It takes time, even when the tools are totally there. But they're not there. So it takes double the time, at least.

Of course, the developers often get blamed. And the developers could blame Metrowerks, who could blame Apple -- but that's all stupid stuff. The truth is that this is a new OS, and everyone's working hard, but patience is required all around.


Sheila: "...all your colleagues couldn't be closer to a nap..."

When I was young I thought, naively, that superior intelligence breeds superior morality.

The software industry, a group of smart people if there ever was one, proves how wrong I was. Looking around at Microsoft and the Open Source community and blah blah blah, I can't believe I ever thought what I thought.

The software industry is sick in bed with the flu, a thermometer sticking out of its mouth, its pillow cold with sweat, an untouched glass of flat ginger ale on the nightstand.


Have a good Memorial Day. See y'all tomorrow.

Cool car.


It's wonderful to lie outside on a picnic blanket with my wireless iBook and work -- until it gets too windy. Sheesh! Enough with the wind already. What, you want to drive me nuts?

Sheila has pictures of our pretty flowers blooming in the back yard.


I'm working on Frontier 7. Gotta ship this puppy. The to-do list is getting short.

I started reading Daniel Boorstin's The Creators last night. I'm just a dozen or so pages into it -- but so far it's utterly entrancing. I read The Discoverers a few months ago and recommend it unreservedly.

I'm going to have the weirdest French accent. I have these French lessons on cassette tape, but I hadn't figured out when I would have to time to do them.

Then it occurred to me -- why not do them while I work out?

So there I am, doing my workout, trying to speak French -- je (breath) voudrais (breath) un verre (breath) de vin (deep breath) rouge.



Sheila and I do a lot of gardening. Our yard isn't big. We know every square inch of it.

So when little bits of aluminum foil and other shiny things show up here and there, we know it's birds.

It's not annoying, actually. If I act annoyed it's mock-annoyed, just because it's fun. "Oh, those crazy birds, what'll they do next?"

It's enoyably weird that the universe evolved this way, that there would be such a thing as aluminum foil and that crows would happen to distribute it around my yard from time to time.

It's surprising. Were I inventing a world as fiction, I would not have come up with this detail.

And why do crows have that raspy caw instead of the sweeter chirps of other birds? Why are crows always black -- why is there no brown crow, no yellow-breasted crow, no blue-crested crow?

Many readers naturally associate crows with Edgar Allen Poe's poem. Me I think of Kafka -- whose last name translates as jackdaw, a black bird related to the crow. Had he been American, his name would have been Frank Blackbird, which is kind of a cool name.

Kafka -- he had the imagination for detail, he would have come up with crows dropping bits of aluminum foil in one's backyard.

One thing I've always liked about Kafka's stories is that as metaphor they're usually opaque. When a guy turns into a beetle it's natural to think it's like a fable of some kind, somehow a metaphor for something. But it's not. It's really a story about a guy who turned into a beetle.

I'm ambivalent about metaphors. Like so many other people, my brain naturally draws connections. This is like that, and this other thing is like that other thing.

Metaphors help one to see clearly -- except when they don't. Too much metaphor and the world becomes an undifferentiated, unaesthetic soup, where everything is like everything else but nothing is itself.

So the crows' weird habit of littering shiny objects in my yard -- it doesn't remind me of anything else. It's not like anything else. As metaphor it's opaque. (At least to me.) It's just what it is, surprising and beautiful on its own.

So I like it.

(This weblog entry was composed as I was falling asleep last night. That's just in case I don't seem to be making sense.)

LinuxNewbies: Services on Linux: Daemons.


For people who are up late on a Tuesday... The Frontier site now has a directory, which makes it easier to find docs. (This link will appear on Frontier News tomorrow.)

Sheila: "So wrong..." A reminder that the wickedness of some people knows no bounds.

A number of baby booomers have written or posted letting me know that they like punk too. Cool.


The other day I was explaining to Dave how punk rock and the Two-Way-Web have elements in common. This is from an email I sent:

The central tenets of the punk movement:

1. Amateurs -- people who make music because they love it -- rock.

2. Do-it-yourself! (Abbreviated as DiY).

3. Everybody who wants to be heard (be in a band), should be able to.

4. There should be no barriers, and no difference, between a band and its fans. The two-way music scene. Fans are in bands too, and people in bands are fans of other bands.

To say that I'm a punker may be a bit of a stretch -- I'm a married homeowner, middle-class, with a 401K plan -- but still, the punk ethic was the philosophy I was raised with. That's true for lots of people in my age group.

Remember the music scene in the '70s. You had bands like Pink Floyd and various "progressive" rock bands using orchestras and synthesizers and really expensive weird studio junk. The average kid who wanted to form a band had no hope of being able to do anything like that.

Rock was the people's music in one sense only -- people listened to it. But they couldn't create it anymore.

Then along comes Iggy Pop, the Ramones, the Sex Pistols, the Clash, Lou Reed -- and a new ethos.

We're back to three or four instruments. Drums, bass, guitar, a singer.

You didn't even really have to play your instrument very well, as the Sex Pistols proved -- what counted was spirit and expressiveness.

That punk may have seemed threatening to baby boomers isn't surprising. It was an attempt at a cultural revolution, an attempt at overthrowing corporate rock and all the over-blown Pink Floyd stuff that baby boomers liked. It was an attempt to kill the culture of rock stars.

It was a fiercely democratic movement.

For an excellent introduction to punk rock, get the Clash's album London Calling. You'll find that it's surprisingly accessible -- with catchy melodies, even. Good, straightforward rock-and-roll. And as powerful now as the day it was released.

PS I wrote about the similarities between punk and the Two-Way-Web once before.


Long-time Seattle Internet cafŽ Speakeasy burns.


I don't want it

It goes by names like ubiquitous computing and wearable computing. Whatever it is, I don't want it.

I don't want a microprocessor in my underwear drawer, letting me know when it's time to buy new socks. I don't want an LCD display on the side of my toaster streaming the morning stock quotes. I don't want my refrigerator to hot-sync with my palm and update my shopping list. I don't want my TV to sense my emotions and decide for me which shows I really want to watch.

Maybe this sounds weird, coming from a geek, an early adopter type, a guy who enjoys toys and cool technology.

But there's another side to it -- when I'm not using my computers, I like to put them away. They go in the office, and I leave the office. Good-bye computers for a little while.

Yes, I do enjoy my Palm and my wireless iBook (and my fast net connection). I can go anywhere in the house or yard and be connected to the net. It's great. But the point is that these are objects, they're not embedded into anything. I can put them away.

Some people do want this stuff, they want smarts embedded everywhere. I don't. Get it away from me -- it's like a plague.

Here's an example -- about a year ago, Sheila and I bought a new TV. It's got all the latest in smarts. I expect that in a TV, I don't complain. One of the things it does is set its time automatically -- somehow it must be encoded in the cable stream, don't ask me how. But of course the time was off by about half-an-hour, and there was no manual way to set it. (For whatever reason, when Daylight Savings Time began, the TV corrected itself.)

So what we're setting ourselves up for is that -- the embedded smarts won't be that smart, and there will be nothing you can do. And the average Brent and Sheila will feel less in control of their environment, as technology designed to make life easier makes life more and more annoying.

Okay, imagine if the little brains really were smart. And imagine -- this is a huge stretch -- the designers get smart and allow for manual over-rides. I still don't want it.

Okay, picture the toaster that is really good at sensing the done-ness of the toast, and pops when the toast is perfect, every time. What happens to the poetry of real life?

Here's the poetry of real life: "Honey, sorry, I burnt the toast a little." "Oh, that's okay, here scrape it off with a knife." And then you scrape it off with a knife, watch the little black and brown crumbs collect in the sink, watch as you scrape away a charred layer and end up with an okay, though imperfect, slice of toast. You feel the slight vibrations of the knife in your hand as you scrape it across the bread. Then you run water in the sink and watch the crumbs go down the drain, except for a few stuck around the edges of the sink. And you remember, as you eat your toast, that your husband or wife or whatever is a really nice person and didn't mind when you messed up the toast a bit, since after all that's life, that's the way it goes.

And you're much happier than if a goddamn toast-computer made goddamn perfect toast.


Mariners are 30-9. Ichiro has a 21 game hitting streak. We won 7-2 last night.

Yup, we need a new hitter as much we need Bobby Ayala back in the bullpen. (In other words, we need a hitter as much as we need newer, more virulent contagious diseases.)

Update 3:45 PM: Ichiro now has a 22 game hitting streak, with a single in the first inning against David Wells of the White Sox. (And then Ichiro stole second base. And then Ichiro stole third base.)

Update 6:30 PM. Mariners win 5-1, are now 31-9. They have the second-best record after 40 games in major league history, according to announcer Dave Niehaus. (Behind, if I remember right, the Tigers' 35-5 record in the early '80s. Tied with the Yankees 1998 31-9 record.)

Schadenfreude. "What I've seen in the past six days is a young man tormented by the Rangers' failure to win, deeply hurt by the fans' constant vocal disdain and perhaps as unhappy as he has ever been in his life."


Sports fans -- or at least the ones that call talk radio -- can be so totally stupid. I have sports radio on in the background. A few callers have called to say that the Mariners need to make a trade for a hitter. Huh? At 29-9, the M's have the best record in baseball. They have pitching, defense, hitting, speed, chemistry. I can't imagine a trade where they wouldn't give up more than they're getting.

Specifically, the rumor is that the Rangers are shopping Ivan Rodriguez. Pudge. So what -- what, you want to give up Freddy Garcia for Pudge? No way. Not in a million years, you freaks. Go to blazes.

Can Ichiro approach DiMaggio's 56-game hitting streak record? Some people think it's possible. Wow.

If that happened, I would freak out.


Now it can be told...

This site was the first Manila site to be served by Frontier for OS X. Sometime in April I made the switch from an NT server to a G4 Cube.

The second site was the Frontier-OSX site, of course.

AndrŽ Radke announces Regex 2.0.2b3, which includes some bug fixes and is carbonized, so it works with OS X Frontier.

Part of the fun of Frontier for OS X is exploring the new environment. One of the things I did was write a mini-app that allows you to call Frontier from the command line. This app was done using ProjectBuilder -- which is the first time I've used ProjectBuilder. It was... different. At first I didn't like it at all, but it grew on me quickly, and I soon found it charming.

I want to re-iterate the thanks to Tim Paustian -- he's done a wonderful job on carbonizing Frontier. My personal thanks go to Tim for his enthusiasm and hard work. To every Frontier user who runs OS X -- if you get a chance to send Tim your thanks, please do so.

Sam DeVore, beta tester extraordinaire, has started a FAQ on using Frontier in X.



All reptiles 10% off.


Happy May Day!

Here's a list of user-agents for spiders that harvest email addresses. Spammers use these.

If you run a Frontier server, you can completely block these with a responder. The condition script should check the user-agent for a match. The responder's "any" method script should return a page that just says "Go fish!" or something.