A weblog written by the Keeper of Tickets, webmaster of the Chronicles of George. Feel the love. Fear the banality.


My Archives: December 2005

Wednesday, December 21, 2005

Last year at about this time, I spent a day or so reading through Andy Hertzfeld's site at Folklore.org, which contains more than a hundred anecdotes on the design and creation of the Macintosh computer. Most of the stories are set between 1980 and 1985, a time when the men wore short shorts and the women had poofy hair. The stories themselves are engrossing in the extreme; each focuses on a nibblet of the development of the Macintosh. Favorites of mine include Busy Being Born, about the development of the Mac and Lisa UI, Calculator Construction Set, which gives a glimpse of Steve Jobs's fanatic perfectionism, The Grand Unified Model, about the Finder's birth, and Apple II Mouse Card or We're Not Hackers!, hammered into my head just how freaking smart these guys were, because of how much they were doing with such mind-bendingly limited resources. We tend to take the power of our computers today for granted and even complain when it takes more than a few seconds to open up a web page or send an e-mail, but reading something like this really draws me up short:

I talked to Burrell about the problem, which basically came down to making a peripheral card for the Apple II that included a 6522 VIA chip on it. Burrell came back the next day with a brilliant two chip design, just the VIA and a tiny dual flip-flop chip to synchronize it.

To move the mouse cursor without flickering, both the Mac and the Apple III code used a vertical blanking interrupt, which drew the cursor during the time interval when no video was being painted. Unlike the Mac and Apple III, the Apple II didn't have a vertical blanking interrupt. The most brilliant part of Burrell's design involved how it synchronized with the video, without running a wire to pick up the video signal.

The 6522 chip had a timer which could generate an interrupt at a specified interval. The problem was synchronizing it with the video, since the video generation was not accessible to the processor. Burrell solved the problem by wiring up the spare flip flop to the low bit of the data bus, using it to latch whatever data the video was displaying so the processor could read it.

To synchronize with the video, Burrell had me fill the Apple II's frame buffer so the low bit was on most of the time, but set off at the end of the last scan line. I wrote a routine to sit in a tight loop, reading the latch. When the low bit changed, we would know the vertical blanking interval had just begun.

The Apple II wasn't fast enough to keep up with its own frame buffer. A new byte of video data flew by every microsecond, which was only one processor cycle. It took at least 10 processor cycles to iterate through a loop, so we ran the risk of never seeing the low bit change. Burrell had a way around this, though - if the loop time was relatively prime to the display frequency, it eventually had to slip into place. I wrote a 17 microsecond loop that fit the bill, and we were delighted to see it work perfectly.

Bill Atkinson had told Steve that you couldn't pull off a decent graphical user interface on the Apple II because of the weakness of its 6502 processor and the complexity of Woz's convoluted frame buffer. But, after a little more work on the software, we had a cool little GUI for the Apple II, with a proportional text word processor, in the summer of 1981. We thought that we had had a potentially valuable product on our hands.

Or, in summary, We thought this might work, so we totally created a solution out of spare parts and lo, it worked.. The entire site is filled with stories of ingenuity and brilliance--so much so that it's a wonder we aren't all using Macs today.

I wonder what the Andy Hertzfeld and Burrell Smith and Bud Tribble from 1983, or any of the rest of the team, would have said at the time if they could see a modern top-of-the-line PC or Mac, with gigaflops of processing power, gigabytes of RAM, nearly a terabyte of internal disk space, 3D-accelerated graphics--not to mention all the programming tools and IDEs and libraries that are taken for granted today. I don't know if they'd faint with awe or slap us for not having created truly amazing software to keep up with the hardware, with the same bare-metal wizard coding that they regularly whipped out.

Posted by Keeper @ 01:26 PM CST [Link]

Wednesday, December 14, 2005

I am installing Windows 2k3 Server EE on a box right now, and I have to pull my image file for the install from St. Louis. The install is taking...a long time. The morning is quiet, very dark and rainy outside, and as late in the year as it is, the icy clutch of winter is strangely absent from the day. Most of the rest of the staff is on vacation already, and there is hardly any sound beyond the soft hum of the HVAC stuff and the far-off rattling of someone else's keyboard.

I had almost forgotten Massurah was here today, in his usual seat behind me, when he suddenly muttered, "Cocksuckers, that's a fucking lie! That's bullshit!" His tone was belligerant bordering on violent, and I started giggling at his outburst. What, I asked him, could provoke such vitriol?

"Two things," he said. "First, this fucking manual--" he pointed to the PDF document up on his screen, which detailed how to troubleshoot errors with whatever application he was using--"says that any error messages I receive will be recorded and explained in the error log file, but the error I'm getting says 'UNKNOWN ERROR' and the log file is empty. Second, the error also tells me to contact my system administrator, and I AM THE SYSTEM ADMINISTRATOR."

I told him that if he wanted to, he could pick up his phone and give me a call, but he didn't seem too keen on that idea.

Posted by Keeper @ 10:02 AM CST [Link]

Tuesday, December 13, 2005

I hate having to take a crap at work. Hate hate hate hate hate it. I hate it more than I hate any other work-related activity, including answering calls from the public. I hate it more than I hate stabbing myself in the eye with an X-acto knife. I truly, truly, hate it.

The thing about it I hate the most is sharing bathroom space with other people who are also crapping. There's something inhumanely wrong about having to be in the presence of someone else while engaging in such a private activity. What makes it even worse is that I work in a building apparently populated by people with hyperactive bowels--there are six floors in this building, each with its own set of bathrooms, and it's damn near impossible to go to any floor's bathroom at any given time of day and not open the door and be greeted with the triple-shotgun sound of three guys violently emptying the contents of their lower guts into the toilets, oftentimes with accompanying grunts and groans.

This morning, as I pondered e-mail and voice mail and the sleepy tiredness behind my eyes, there came a rumbling in my belly, and I knew I was going to have to brave the bathroom. I steeled myself and trekked to each one of the seven bathrooms in the building, hoping that I would find one unoccupied, and lo--the last one I tried was mercifully empty. I quickly parked myself in a stall and did the deed with as much alacrity as my bottom could muster, and my speed-shitting served me well, for even as I was washing my hands, three giant men filed into the bathroom, one behind the other, like a troupe of elephants, and made for the stalls. Their grunting started even before their stall doors had swung shut all the way, and I fled in terror.

I hate crapping at work.

Posted by Keeper @ 09:33 AM CST [Link]

[Archive Index] [Main Index]


Hosted for free by North American Networks. They freaking rock!
Questions? Comments? E-mail the webmaster.

This page and all its contents are copyright (C) 2001-5 the webmaster. Any unauthorized duplication of the content on this site will result in a severe ass-kicking.

Powered By Greymatter