Risen from the ashes

I am hammering away at the keyboard on my ressurrected old PowerBook. I picked him up today from the good folks at Mac & PC Repairs in San Leandro, where they transplanted the motherboard with a refurbished one.

Now we have an Oct. 2003 1 GHz 12″ PowerBook, with the following upgrades:

  • AirPort WiFi card – added at the time of purchase
  • 1.25 GB RAM – added at Macworld 2004 after the cruddy extra 256 MB that came with the machine failed.
  • Mac OS X 10.4 – installed a few days after it was released. Come to think of it, did this one ship with 10.2?
  • A Traditional Chinese replacement keyboard – special ordered from Taiwan
  • A replacement battery
  • The current 100 MB Toshiba hard drive, which I have to add is running nice and quiet, nice and fast, and I’ve got 56.26 GB of free disk space available as of this writing.
  • The refurbished motherboard.

OK so we’re good to go. This machine has been through a lot of crap, but really has worked out great. As an ultra-portable coder machine, it’s tops – although sometimes I admit I kind of wish I had one of the 15″ ones when working in Dreamweaver. But on my last flight to ABQ, and all that time when I was riding BART, I remember why I went for the more compact version.

Damn, it’s good to be mobile again! This machine should last me at least a couple more years, well enough into Apple’s Intel migration to let them work out any of the early kinks that might arise before I get my next one.

Secure your MySQL installation

I just noticed this instruction at Marc Liyanage’s MySQL install page, and it’s really good advice:

In recent distributions of MySQL, you can also run the script mysql_secure_installation instead of just changing the root password. That script allows you to change the root password, delete the test database, remove the anonymous user, remove remote access (allowing access from the local machine only) and reset the privileges table.

A nice handy script to tidy up your MySQL installation. I’ve installed it so many times lately on so many machines, and I foresee many more in my not-so-distant future. This will come in handy.

Blueberry Tiger

While my old PowerBook waits in the shop for a new motherboard (yes, the PB12 shall rise again), I am using a blueberry iMac. This was a low-end 350 MHz type, and it has a decent 576 MB RAM installed.

I had no problem wiping the system and installing Panther. But of course I can’t leave well enough alone, so I set myself about the task of figuring out a way to install Tiger on this old heap.

Now given that Tiger ships on DVD, and given that the blueberry gumdrop sitting on my desk has no DVD drive, nor FireWire port for booting up from an external DVD drive, this was a bit of a problem. Sure, I had a whole bunch of spare external hard drives, and some even had USB. This might work.

So the first thing I did was to borrow my wife’s iBook, which had the internal DVD drive. I took one of the old external drives, in this case a LaCie 20GB external 2.5″ Pocket Drive with both USB and FireWire ports, and plugged it in to the iBook. I then installed Tiger onto the LaCie drive. In the process, I experimented with the custom installations. This iMac has a 7 GB internal hard drive, and the default Tiger install is around 4.7 GB. I’d like to add an order of fries with that whopper. Interestingly, I found that if I remove all but the Epson printer drivers from the install configuration, I could save myself a full gigabyte of disk space. Removing all but the Traditional Chinese language translations saved me almost as much. I got the final instal down below 2.8 GB (although that seems to balloon up later…)

The installation completed rather quickly over a FireWire cable, and now I had a good lightweight install of Tiger on the LaCie drive. I tested a boot of it to the iBook and it worked perfectly.

Now I went over to the iMac. First, I plugged in the LaCie via USB to the iMac. This drive requires external power if you’re using USB, so I had to plug it in to it’s A/C adapter. I popped in a Panther install CD and ran the installer. The computer reboots off the CD and I now can do things to the internal drive via Disk Utility, available from the Installer drop-down menu. I clicked the Restore tab and dragged the external LaCie icon to the Source field, and the internal drive to the Destination field. For good measure, I clicked the Erase Destination preference. I clicked the Restore button, and let ‘er rip. Went to bed. These iMacs were notoriously quiet, so I couldn’t hear a thing during the cutover process, and slept soundly

Next morning I checked and the process seemed to work. Unplugged the LaCie, set my Startup Disk preference, and it rebooted into Tiger. After a billion updates, she’s running 10.4.2.

Now, this thing is of course slow, but surprisingly responsive enough to get basic work done. I am running BBEdit, Interarchy 7, and surprisingly, Dreamweaver 8 effectively. Dreamweaver is a bit of a hog, but I’m mostly just working in code view and applying some PHP behaviors and using file synchronization. Really, with the code completion, it’s still faster than typing in BBEdit. I’m currently installing PHP5 and MySQL 4.1, and those ran OK under 10.3, at least good enough for local development.

Well, good. Now to install that image on the old Tangerine 266 MHz box…

Grandma’s Cinnamon Rolls

Oh yes. As part of the ongoing effort to preserve some of my grandmothers’ best recipes, I offer you the source code for her cinnamon rolls. I think that for most of us, this was our favorite. It was for me. I am going to give this a try next weekend to see if I can come somewhat close:

Note: This is a very soft dough and requires an electric mixer with a dough
hook to knead.


  • 2 cups milk
  • 1 tsp salt
  • one half cup sugar
  • one quarter pound butter
  • 4 eggs
  • 1 Tblsp vanilla
  • one quarter cup lukewarm water
  • 2 Tblsps sugar
  • 2 pkgs dry yeast
  • 7 cups unsifted, all purpose white flour
  • one quarter pound milted butter
  • one and a half cups dark brown sugar
  • 1 Tblsp cinnamon
  • 2 cups powdered sugar
  • one quarter cup orange juice and grated rind of 1 orange
  • Pinch of salt



Combine milk, salt, one half cup sugar and butter in a pan. Heat to scald, remove from heat and cool to lukewarm. When milk, sugar and butter mixture is lukewarm, add eggs, slightly beaten, and vanilla. Set aside. Combine to proof yeast, water, 2 Tblsps sugar, and let stand ten minutes. Combine milk and sugar mixture with yeast mixture in mixing bowl and slowly start beating in flour one half cup at a time.

The dough is very soft and it is very important to knead the dough using a dough hook for twenty to thirty minutes or the dough will be very difficult to handle. After kneading, let dough rise until doubled in bulk and punch down. Turn out onto floured board and roll out into a large rectangle about one half inch thick.


Spread melted butter over rolled out dough; sprinkle brown sugar on top of butter; sprinkle cinnamon on top of butter and brown sugar. Loosely roll into a long log and slice one one and a half inches thick. Place slices onto greased pans. Let rise. Bake at 350 degrees approximately twenty to twenty-five minutes or until lightly golden brown-remove from oven,brush with melted butter.


Mix all ingredients together and brush over hot rolls.

My note: One addition grandma used to include to the filling was raisins. I like ’em with the raisins in.