Spoken truth

Oh dear. A horrible waste of time.

Posted in Uncategorized | Leave a comment

Mike Culbert, RIP

I just read that Mike Culbert, who was the chief technologist on the Apple Newton (and went on to do a lot of other neat stuff at Apple) has died of cancer.

We’ve lost another really great engineer. Mike was one of those rare people who “got” entire systems, from transistors and batteries all the way to how the user worked with the system. He was comfortable with hardware design and could sling code pretty well, too. He had a great sense of clean design and a wonderful and sarcastic sense of humor (the Newton prototypes he designed for us were dubbed, by him, “Bunwarmers” — presumably because that’s all that us software types did all day long on those things). I enjoyed the time we worked together.

My condolences to his famiy and friends.

Posted in Uncategorized | 5 Comments

new spacehog album

There is a new Spacehog album: As It Is On Earth. I had no idea this was going to happen (as far as I knew they broke up years ago).

Now all we need is for Mansun and Ambulance, Ltd to somehow come back. Oh, and Stretch Princess.

I’d trade ‘em all for a new XTC album, though.

Posted in Uncategorized | 1 Comment

Seaing Clearly

When you wade into the ocean and a kid who’s six years old says, “Mister, you shouldn’t wear your glasses into the water,” just maybe you should listen. Because some six year old kids are smarter than you are.

Within five minutes I’d been turned upside down by a wave, and my prescription glasses (without which I can’t see more than about ten inches) had been washed off my face. Gone.

So I go to the kiosk where they rent things like masks and snorkels. Hey, I might search and get lucky. Only they won’t rent me anything because the waves are too high.

“C’mon, give me a break,” I wheedle. The kid running the kiosk looks slightly disgusted, and hands me a mask even though he’s not supposed to. Five minutes later a second wave upends me, rolls me around, slams me against the sand and rips off the borrowed mask. My breath has been knocked out and I just kneel down in the water, trying to suck in air while I wait for another wave to cream me. The mask is gone, too.

I know when to quit.

If you’re stupid like me, always carry a spare pare of glasses on a trip. And listen to wise kids. And don’t fuck with the ocean.

Posted in Uncategorized | 3 Comments

Clean living and

The precdence of ‘&’ in C/C++ just cost me another hour. It’s probably cost me a cumulative week of debugging time in the last quarter century.

Remember to brush your teeth, bathe regularly, chew with your mouth closed, and parenthesize your expressions.

Posted in Uncategorized | 10 Comments

Revisionist History

The current Time Machine Bucket List

(If a working time machine falls into my lap, these are a few things I’d address…)

Gary Kildall must understand to use linefeed as the line terminator in text files, and not carriage-return plus linefeed. Also, no control-Z nonsense; exact file lengths in CP/M, please.

Intel must choose a 256 byte paragraph size (8 bits) rather than the puny and useless 16 byte paragraph size. Result: An architectural 16 MB memory space, rather than the miserable 1 MB. VisiCorp doesn’t kill itself trying to cram its software into overlays and so forth, and its battles with Microsoft become epic.

Bjarne Stroustrup realizes he has to have a standard string class for the first public release of C++, rather than that iostreams nonsense.

Steve Jobs includes a second mouse button (good luck with that. Maybe if we get him really high this time…)

There must be threads in V6 Unix. They don’t need to be fancy, they just need to get people thinking. (This probably means coroutines in C).

Brendon Eich runs into Walter Smith in a bookstore in Palo Alto. Hey, isn’t that Guy Steele over there, talking to Doug Crockford? They all go for coffee and chat. Steele and Crockford browbeat wimpy Netscape management into giving Brenden and Walter a year to do a great job on JavaScript. ’nuff said.

A mushroom handling accident in the executive dining room wipes out nearly all of the Warner Atari’s upper management. 2600 Pac-Man given nine months of development time, all movie-based games are canceled.

A young Larry Ellison realizes that building boats is really, really cool. He is never heard of in the tech industry. Decades later he runs into Paul Allen and asks for his autograph.

(Note: Stay away from Richard Stallman in all versions of the timeline).

atom1

Posted in Uncategorized | 20 Comments

AntiChamber

I just finished AntiChamber. I liked it.

It will mess with your head, a lot. A few of the puzzles require careful timing (ugh), and one puzzle towards the end was not obvious at all, but on the whole I liked the way it played merry hell with your sense of space.

I did feel slightly nauseous early on, but got over it. Nowhere near as bad as Descent.

Do NOT play this while reading House of Leaves. Just don’t.

 

Posted in Uncategorized | 2 Comments

A classic bug

We were at lunch, and I was bitching to my cow-orkers about the USB device I was trying to get running. “It’s flaky as hell,” I said.  “One moment it’s working, the next it’s in the weeds and not transferring data at all.”

It was true; the system would transfer data for a while, then things would stop flowing, transfers would start timing out, and eventually the device would stop enumerating and nothing would work. Then, with no changes, it would start working again.

“It was working great when I got in this morning,” I continued, “But now…”

I’d been twiddling code and writing tests for a week, but hadn’t found the root cause of the problem. One difficulty was that both the hardware and the software were new.  Another was that there were a bunch of barely documented “analog” registers that controlled things like driving current and various transistor-level things; mucking with the settings of these seemed to help, but not always, and what they really controlled was a mystery.

I thought some more. It had worked yesterday morning, too. Then again, after lunch. Then there had been a meeting, and –

“I know what it is,” I said.

—-

Back at my desk, I started up my tests. They were working. I left the unit running, went to the kitchen and drank a can of apple juice. I kept the can.

Returning to my cube, the unit had gone into flake mode again. I used my pocket knife to cut the top off the can and pushed out a dent in the bottom of it with a pencil eraser. I added some insulating tape around the bottom’s rim, and then perched the can on top of the chip I was working with.

I filled the can with ice. Ten seconds later the device enumerated and my tests started working again.

I took the can off: about thirty seconds later the device failed. Can on: working. Can off: busted.

I’m a software guy, but I know a temperature problem when I see one.

—-

“The manufacturer says they know what the problem is, and that they’ll fix it in the next chip revision.”

“That only cost me a week.”

Oh well. :-)

This is a classic problem in bring-up. I’m embarrassed that I hadn’t thought of it sooner.

Posted in Uncategorized | 3 Comments

vetus plumbum

I was just doing some soldering in the garage. I use a fine gauge solder for ICs and similar small connections (not the lead-free stuff, by the way), but I had to solder a number of larger components with much thicker leads. So I dug out a spool of solder I probably bought at Radio Shack in the mid 70s. I’m sure this stuff is illegal somewhere.

Let me tell you, the moment that old solder hit the iron the smell of its rosin brought back a lot of memories. Modern solder is weak and pale and seems to lack some essential quality; maybe it’s the reason we can’t put people on the moon anymore. I took a deep and slightly toxic breath.

Suddenly I was back in my basement bedroom in Colorado. It was 1978. I was putting together another board of RAM while watching a weekday afternoon rerun of Star Trek on the old black-and-white tube set I’d repaired. My high school homework was in the corner, in my backpack, and I wasn’t planning on doing it because I was going to have a computer working in a couple of days. After soldering another 2,000 connections or so. After which . . .

I’m just returned now. I changed history, a little. I hope you don’t mind.

Posted in Uncategorized | 4 Comments

How to remember someone’s name

1. Ask for their name.

2. Use the person’s name a couple of times as you converse.

3. Repeat their name under your breath when you part.

4. When you meet the person again, simply say “I’m sorry, I’ve utterly forgotten your name.”

Repeat about eight times.

Posted in Uncategorized | 6 Comments