Dreamhost Killed My Blog

I am hopping mad at Dreamhost, the ISP hosting this blog. They ruined my software setup, a configuration I’ve spent years refining. My files were moved to another server without prior warning, and Dreamhost’s technicians broke everything. Years of my work on this blog are now damaged. It took me over a month to get things working again. As you can see, I had to change to a basic MovableType template just to get things working again. Man is that ugly, I have to change it. Well at least the blog software is working now, even if it is as ugly as hell.

Dreamhost was particularly uncooperative when I discovered problems with their new Quicktime Streaming Server setup. I have years of videos online, none of them worked, due to Dreamhost misconfiguring their server. It took me weeks to get someone to acknowledge the error and correct it. Now it’s basically working. If anyone notices problems, particularly problems with videos, please let me know.

Microsoft Gets Corporate Welfare From Iowa

I just heard the announcement that Microsoft will build a $500 Million data center in Iowa. This would not have happened if the Governor hadn’t arranged tax breaks as an incentive.

Bill Gates, the World’s Richest Man, does not need Corporate Welfare payments. Iowa taxpayers will be footing the bill for Microsoft. The data center will provide only 75 jobs, it is unlikely that any of them will go to Iowans. The data center will require massive amounts of electric power, straining Iowa’s power infrastructure. This is an exceptionally bad decision by the Iowa State government.


I’m in a scanning frenzy. I bought a fancy HP ScanJet 8250 with a duplex feeder, so I could scan double-sided documents. I’m trying to turn boxes full of old paper records and computer documentation into a few discs of PDFs. But it has not been as easy as I had hoped.

I have struggled with this ScanJet 8250 for a couple of years now, when it works, it works well (which is almost never). It has some frustrating problems. If you attempt to automatically scan both sides of a folded letter, it will jam when it hits the folds. So if I want to scan normal business letters or bills, I have to manually feed each side. But with a stack of normal flat paper it works fairly well, although it has a tendency to jam. I could dump a hundred pages into the feeder, and if it jammed, it lost all the previous scans. I finally figured out I could scan to TIFFs, it saves the individual files as it goes. Hooray. If it jams, now I can just clear it and pick up where I left off.

I’ve been feeding (and unjamming) the scanner for the last day or two, and so far I’ve scanned a stack of paper about eight inches high. I had some old spiral-bound computer manuals, I unbound them and put them in the ADF. Even with all the troubles, I’ve scanned hundreds of pages with little effort. A 260 page manual with 140Mb of scans can compress down to an 8Mb PDF. So it’s worth the effort (I guess) since I can get boxes full of papers onto a single disc.

I’m going through boxes of archives, looking for material to scan and discard. I found my old college calculus textbook, the author released it as a PDF and I downloaded it. That’s one more huge book I won’t have to scan, and won’t have to carry around any more. I don’t know why I even carried it around for 30 years, I have never looked at it once since that class was over. I guess it was my trophy for passing college calculus.

I’m trying to sort out what I don’t need anymore, discarding old documentation (but scanning what I need to preserve) and separating the high value documents for permanent storage. My goal is to reduce the amount of books and paper I’m storing by 25%.

Tech Support

I do a lot of tech support for my friends, I’ve worked in tech support for years. I have noticed there tend to be two types of tech support calls. There are calls about serious problems that need tech intervention. But more often, the calls are from someone who hasn’t done a single thing to research their problem. These calls can be frustrating, my friend calls and says “I’m in Photoshop and I can’t get the thingummy in the whatchamajigger” (that’s a direct quote) and it takes me an inordinate amount of time to figure out he’s trying to find a path command in the layer palette. Sometimes I just look in the program’s help file, once I figure out what the question is, the solution is easy if you just look in the help files. I don’t mind so much that the solution is trivial, I just mind that it takes so long to figure out the question.

I’ve recently been thinking of my first tech management job, I was Service Manager at ComputerLand of Glendale back around 1981. I told the boss I didn’t feel qualified, he said, “don’t worry kid, after 3 months you’ll have seen it all and know it all.” And he was right, the daily grind of repairs and tech support seemed like old hat after a few months. But there were ongoing tech problems, I remember one problem that seemed to take way too much tech effort, or at least, way too much of my effort. When the first memory cards for the IBM PC came out, the technicians could not figure out how to set the DIP switches. All day long, the techs would interrupt me with questions about setting the switches, when they could easily have figured it out for themselves. It was easy, you just set the switches to the binary address of where you wanted the memory to start. But none of the techs knew binary math, so they were always baffled.

I decided to close the shop one morning for a class to teach the techs how memory addresses worked and how to do the binary math. We went through all the fundamentals and they seemed to get it. We went through the manuals and worked out how the cards functioned. I demonstrated the formula to calculate the addresses. I described as many ways to solve the problem as I could figure out, and gave them all the tech support phone numbers I called when I couldn’t figure it out. Then I gave them a written exam. The exam was just one question, I didn’t even want the solution, I just wanted them to describe at least 4 places to look for the answer, “How do I configure Memory XYZ at location ABCD?” My point was to teach them how to find their own resources to solve problems, before asking me. But I was astonished when the techs handed in their tests. Every single one of their lists started the same way:

1. Ask Charles.

A Leopard Trick

One of my favorite obscure MacOS X 10.5 “Leopard” features is the customizable Finder bar. I took a screen cap of the folder with the graphics from my last blog entry.

Look closely under the word “Sony.” There’s a little round icon, it’s not part of the MacOS X icon set. Look over on the left, it’s the same little icon as my Downloads G5 folder. If you drag a folder to the Finder bar, it will stick; option-drag it away, it will disappear with a “poof.” Click on the icon and you’re instantly transported to the folder. I understand you can put other things on the Finder Bar, like apps or Applescripts, but I don’t like too much clutter. It is incredibly convenient to put shortcuts there, it’s much quicker than searching through the sidebar.

One of the reasons this looks so good is because of the beautiful icon. Its gray tone matches the Finder well, it isn’t too intrusive, you’d hardly know it’s there. I found it on a Japanese icon designer’s website, I’d give him credit if I could remember his name. He made beautiful, subtle icons, which were all totally useless to me except this one.

New Old Mac

I just bought a new old Mac. I saw an old Performa 6300 on Craig’s List for $15. It had a combination of features I was looking for, it had USB and ethernet, and a floppy. I’ve looked for a USB floppy drive so I can load and archive some old floppies. But that would cost a lot more than $15. I can buy the whole computer for that price, and pull the data in and out of the Performa with a USB flash drive, or even hook it up on my home network and zap files between machines.

So I drove out in an ice-storm to pick up this old junker computer. Then it occurred to me, the City Sanitation Dept. will bill you more than $15 in disposal charges if you put this in the dump. I told the seller, I’m saving him more than $15 you’d have to pay to get rid of it, you should be paying me! He laughed and said there was a time when this computer was worth $2300 and he was firm on the $15. I said this is a Craig’s List deal in cash, so I’d offer a firm $14, that way I could at least feel like I got a deal. We closed on $14.

I need another old Mac like I need a hole in my head, but I decided I needed an old OS 9 machine like the Performa, my Mac Quad G5 has lost the ability to run Classic, since the MacOS X 10.5 upgrade. Classic is dead. Some people have tried running emulators like Sheepshaver, but I just can’t get it to work on my Quad. The HowTo files seem to focus on Mac Intel systems that could never run Classic. It seems odd for me to try to run an emulated OS 9 on my CPU that was running native PPC Classic just a few weeks ago.

So I guess it is time to put OS 9 in its grave. I need to migrate some old OS 9 media on SCSI drives. I have an old 80Mb Bernoulli Box, it’s an odd cartridge drive, it was designed to work with the Mac Portable, which was notorious for its heavy lead-acid batteries. The Bernoulli drive has a lead acid battery too, but it’s been sitting in a closet for about 10 years, I’m afraid to fire it up. But if it blows up when attached to an old $14 junk CPU, I wouldn’t mind so much.

Then I have some other miscellaneous media, old 40Mb Syquest carts, 1Gb Jaz carts, I figure I could reduce a two full boxes of floppies and disks, and two boxes full of old hardware, down to maybe 3 or 4 DVDRs.

I need another Mac like I need a hole in my head. Let me see if I recall what old Macs I have, four of them: a IIcx, 8100/110, G3/400U, and a Dual-1Ghz “Wind Tunnel.” But none of them had a floppy AND a communications port to move data to new Macs. So I guess I need one more Mac, in order to migrate and get rid of my old Mac junk. And soon I’ll be paying the expensive disposal charges on this old crap.

Turing Fest

A minor storm has erupted in comments for an article I posted long ago, thanks to a link from
Andrew Orlowski

at El Reg. He unburied an article I wrote almost a year ago, an essay about DRM and the Church-Turing Thesis. I am still answering comments as they arrive, so I thought I should put a note here, to alert people that all the fun doesn’t necessarily happen at the top of the blog.

Turing’s math papers have always fascinated me, but everyone seems to have their own interpretation. I try to see it at its most fundamental. I remember seeing an article many years ago, describing the simplest possible Turing Machine. It consisted of a strip of paper and some flat stones that were white on one side, black on the other. The stones represented one bit, on or off. It was suggested that you use a roll of toilet paper, as it was conveniently marked in squares, one for each bit. The human operator flipped the stones and moved the strip of paper left and right, according to the algorithm. It was essentially a cellular automaton in 1 dimension.

And that’s how I think Turing saw these problems. I am particularly fascinated by his papers on Morphogenesis, analyzing the spotted patterns in animal fur, and the variegation patterns in plants. Turing conceptualized the growth of the pattern as a 2 dimensional cellular automaton. But Turing always wanted everything to be written as functions, he considered a function as a fundamental unit of computing on a Turing Machine. If it’s a function, it runs to completion, if it’s not a function, it might be Turing-Incomplete and be incomputable.

Turing’s dense forests of functions are way over my head. I wonder if there are even a handful of people who fully understand them. The papers I read that introduced me Turing’s morphogenetic pattern functions admitted they barely scratched the surface.

Help, my iPhone Won’t Ring!

Apple blogs had an outpouring of derision when a prominent, self-declared technology expert could not figure out why his iPhone stopped ringing. Of course this was because he’d flipped the Silence Ringer switch. John Gruber rushed to his defense with this comment:

It’s easy to laugh at, but I think it’s actually a non-obvious design. There’s no icon or visual indication as to what that switch does. You do get a small jolt of vibration when it’s engaged, but that doesn’t naturally imply “silent mode” to me. (Update: Yes, there’s also an on-screen icon, but that only helps if you toggle it while the screen is on.)

But the icon will also appear if your screen is off. If your iPhone is sleeping and has been inactive more than 1 minute, flipping the Silence Ringer switch will turn on the screen, and the big icon of a bell with a slash through it will appear. However, if your iPhone is sleeping but has been used within the last 1 minute, you only get the buzz of tactile feedback, indicating the phone is in vibrate mode. So the only possible way to miss the visual feedback of the Silence Ringer icon is if you turn off your iPhone and then immediately start flipping the switch.

But to me, the bigger question is, what kind of idiot would buy a $400 phone and not know how to operate the buttons? There are only 4 hardware buttons on the iPhone. Apple went to considerable pains to make the Silence Ringer switch functions as obvious as possible, even to technology experts.

Update: Comments Disabled. I have blocked further comments on this subject, I almost never do this. I continue to receive a steady stream of comments on this post, it has become unmanageable. It was not my intention for this brief article to become the #1 Google search result for “iPhone won’t ring.” It was not my intention to sneer at users who could not figure out the problem. It was my intention to sneer at one pompous software “expert” who could not figure it out (I have sworn never to mention him by name on this blog, but follow the first link in this story and you will figure it out). I am gratified by the positive comments from readers who discovered here the solution to their problems. I have ignored the negative comments from people who were insulted. Thank you to all who took interest (and those who continue to discover this article).

Price Cut

Yes, I bought an iPhone the first week. Yes, I was mighty irritated when they cut the price $200. Then Apple announced a rebate, a $100 gift certificate to the Apple Store. I thought about it a minute, decided I was half-satisfied, and considered it a glass half full.

Then I thought about it a little longer. I realized that $100 of retail goods at the Apple store is likely to be around $50 wholesale cost, so Apple is covering my $200 loss with about $50 cash. The glass is only one-quarter full, I am now 75% dissatisfied.

I’ve been there plenty of times. I always tell people, if you want to know when Apple is going to drop prices on something, wait until I buy it. Apple always seems to cut prices right after I buy something. I remember buying my PowerMac 8100/110, I bought it the week it was introduced, figuring it would be a long time before a price cut. It took almost three months to deliver the machine, and they cut the price $300 before I ever received it. No, I didn’t get my $300 back.

I’ve seen it from the dealer’s side too, when I worked in computer sales. Customers would sometimes express their irritation when their computers dropped in price, and I would use almost the exact same spiel that Steve Jobs used in his rebate announcement.

There is always change and improvement, and there is always someone who bought a product before a particular cutoff date and misses the new price or the new operating system or the new whatever. This is life in the technology lane. If you always wait for the next price cut or to buy the new improved model, you’ll never buy any technology product because there is always something better and less expensive on the horizon.

I would usually try to put it a little more diplomatically than that, but the last sentence is almost verbatim from Apple sales training, and has been conventional wisdom for decades. Most customers would accept this logic, but once in a while, you get a case that is so egregious that you have to do something about it.

I remember when I worked at ComputerLand, around 1985, one of my favorite customers came in just before closing time. She was a young woman with punky purple dyed hair, a college student on a low budget, she’d bought an Apple //c last Christmas. She was so happy with it, she scrimped and saved for months and now she wanted to buy two more computers, one for her boyfriend and one for her mom. I was pleased to help her, a salesman loves nothing more than a happy repeat customer. She paid cash, I loaded them in her car, and left the office for the day with a smile on my face.

The next morning, I arrived at the office and sipped my coffee while reading the morning updates from ComputerLand Headquarters. I was stunned, as of this morning, Apple dropped the retail price of the //c by $200, about 1/3 of the price of the machine. I’d just screwed my customer out of $400. I immediately talked to the store manager, he had the same reaction, “oh crap.” We decided we had to find a way to fix this deal, and we better have it in place fast, before she called to complain about it.

Apple traditionally had price protection for dealers, so if inventory in the dealer’s warehouse was devalued by a price cut, Apple would write a check for the difference in the wholesale price. But they offered no price protection to buyers. I figured that we should just void the sale from yesterday, so officially the computers would still be in our warehouse, and ComputerLand would get a check for the price protection. Then we would sell the computers to her with a new receipt dated today, at the new lower price. We’d be screwing Apple but they’d never know. Everyone would be happy.

Just as I was on the phone getting final approval from Headquarters to rewrite this deal, the store manager got a phone call.. from the customer’s mother. The manager transferred the call to me, so I could look good by proposing the solution we’d already worked out. She said her daughter was so distraught when she heard the news of the price cut, she’d been crying inconsolably for the last two hours, she was so broken up she was unable to speak on the phone. I told her I was surprised and upset when I learned of the price cut, and I’d just spent the last two hours working on a solution, and I was just about to call her. I described the deal, and said her daughter should come in right away and I would take care of her.

Within an hour, the poor girl came in to the store, her eyes were puffy and red, she was still sobbing and crying, but trying to put on a brave face. I told her how upset I was when I heard the news, and that I’d worked hard to recover her money. And besides, you don’t think I was the sort of person who would do this deliberately, now do you? If I’d known the price was going to drop, I wouldn’t have sold them to you until the next day. She cracked a weak smile, but she was still sobbing.

So I refunded her money and voided the sale, then rewrote the sale on a new ticket dated today, and handed her 4 hundred-dollar bills from the till, the same bills she’d paid with yesterday. I apologized to her for any hard feelings, and said that despite the hassles, she should be happier than ever, since she ultimately paid far less than she ever expected. She said she was happy with how we’d resolved the problem, and thanked me for working on her behalf. But I wondered, why was she still crying?

Sol First Run

My first attempt at getting software running on my Sol is not encouraging. I believe the Sol is running correctly and loading the software from tape, but the programs do not execute. I loaded the classic game TARG from GAMEPAC 1 and immediately ran into trouble. Here’s a picture of the Sol lab, right in the midst of trouble.

I hooked up a cassette player to my Sol, typed the command “XEQ TARG” and started playing the tape. A couple of minutes later, the tape is done loading, the program runs, and all I get is a memory dump that fills the screen with this:

90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90

90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90

90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90

90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90

This obviously isn’t working right. Perhaps it is time to test my memory boards, I have two 16KRA boards, but let’s keep it simple and just run one board for now. The boards are marked 1 and 2, I installed Board 1 but I just get the same memory dump.

Time to investigate more closely. I wonder what the code looks like loaded in the Sol memory. Sol apps run from the top of memory at Hex 00 00 and can be started with the command EX 0, you are literally executing the code starting at 00 00. I can load the program from tape with the GET command, and then look at memory before I execute. But there’s no data there, it’s blank.

I poked around and found a nice screen shot of a memory dump, if the memory is reset, a dump should show a nice little Hexadecimal pattern of FF 00 FF 00. But when I run DU 00 A0 all I get is FF FF FF FF. Aha, there is no memory at that location.

It appears that the memory board is not mapped correctly, so I’ll have to reset the DIP switches. So it is time to RTFM. The 16KRA manual is a good place to start, there’s a convenient PDF copy at the Sol20.org archives. I reconfigured the switches to run memory at address 00 00, but if I try to write to memory, I can only read FF FF back, it’s not working. I reconfigured and tested the second 16KRA board with similar results. I tested various locations and found some usable memory at C9 00, this appears to be on the motherboard. But I need some memory at 00 00 to run programs from tape.

Well this is disappointing, it is far too much work to get some little 8080A programs running. I will have to determine why the RAM isn’t working, I hope it’s something simple like the power connector problem I solved earlier. I think these old static RAM boards used some higher voltages like 16v that may not be used by the CPU, so maybe there’s just no power going to RAM even if the CPU runs OK. But I don’t have a voltmeter to test the output, I guess I’ll have to buy one.

The First Run of the Sol is a failure, oh well. I think I need to take a break. I think I’ll go fly a kite.