Boot options for PowerBook G4

The disk on my PowerBook G4 is going bad. This is a Bad Thing, but at least I learned how to do some cool things with my Mac at boot time. I’ve checked all these on my system running Mac OSX 10.3 (Panther). I found many other keys that might work, but I haven’t verified anything except what’s listed below:

Booting from CD — hold down the “C” key (until the Apple logo appears) while powering on the laptop. Insert a bootable CD as soon as the power is on.

Booting as a FireWire “target” — connect the PowerBook to another FW-equipped system. hold down the “T” key (until FW symbool appears) while powering on the laptop.

Choosing boot device — hold down the Option key (until the Apple logo appears) while powering on the laptop. You’ll see an icon for each bootable device (hard disk, bootable CD, network, etc). Select one of the icons, then click on the right-arrow icon.

Booting single-user — hold down the “Command-S” keys (until the Apple logo appears) while powering on the laptop.

Added 2005-12-19: Hold down the mouse button while powering on — eject CD-ROM.

Posted in Uncategorized | Tagged , | 6 Comments

Evacuation plan: aim for tree

My buddy Andy just launched a hilarious evacuation plan store on CafePress. I picked up a couple of coffee cups (large, of course). Hopefully they arrive this week — I can’t wait to get a look at the actual merchandise!

This whole “Aim For Tree” thing started about two years ago, when evacuation plans were being posted in our old building. We saw this nice little frame on the wall, which looked like it was designed to hold a piece of paper or something. The frame had “Evacuation Plan” printed on it, but there was nothing inside the frame. We were on the fifth (top) floor of our building, so Andy drew a 5-story building with a stick figure jumping out of the window and into a tree. We slid this into the Evacuaion Plan sign, figuring that it was better than nothing! 😉 Now you can get your very own “Aim for tree” merchandise at cafepress.com/aim4tree/!

Posted in Uncategorized | Tagged , | 1 Comment

PowerBook boot problem revisited

I connected my laptop to another system with FireWire and booted my laptop into “Target mode” — hold down the T key while powering on the laptop. This effectively turns the laptop into a very expensive external FW enclosure. I ran DiskWarrior from the other system, and it recognized the “external” FW drive. I started a DW recovery on this drive at about 16:30 PDT. If it’s anything like the previous run, it should be done with “Step 5” by about 07:15 tomorrow morning. (crosses fingers)

Update: Well, I let that run all night (about 16 hours), and DW looks like it hung soon after I got it started. Alsoft’s support phone still says something about hurricane Rita, even though it’s now Monday morning (when they indicate that they’ll be back) — terrible timing on my part, having a drive fail right as a hurricane strikes Alsoft. 🙁 I’ve booted the laptop with the DiskWarrior CD, with an external FW drive. DW can “see” both the internal (failing) drive as well as the external FW drive. Let’s see how it goes…

Posted in Mac OS X, Uncategorized | Tagged , , | 3 Comments

PowerBook boot failure

Update 2005-11-10 20:55:29 UTC: Posts concerning my Powerbook boot failure are tagged with powerbook and boot_failure. Posts about my experiences with DiskWarrior are tagged diskwarrior.

Nooooo! My trusty PowerBook won’t boot this morning. The screen lights up, the Apple logo appears, and the spinner starts spinning — and it hasn’t stopped after more than an hour. A little googling turned up a post on how to boot a PowerBook in single-user mode, so I held down Command-S while powering on. That worked, cool! Then I tried /sbin/fsck -y. It turns out that my disk has journaling enabled (I didn’t know that), so I had to use the “force” option, /sbin/fsck -f, which gives Bad News:

localhost:/ root# sbin/fsck -f
** /dev/rdisk0s9
** Root file system
** Checking HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.
   Invalid key length
(4, 4341)
** Volume check failed.

So, time to try the Disk Utility from the install CD — hold down the Option key while powering up. This gives me three options: boot from local disk (which I already know doesn’t work); boot the install CD (which I’ll try in a minute); and Apple Hardware Test, which sounds like something I should try right now.

Apple Hardware Test (PowerBook version 2.0.6) loaded and I selected the Extended Test. After about 3.5 minutes, the utility reported that the Mass Storage system had passed hardware test, so it looks like my hard drive is okay, although the data on it appears to be corrupted. I let the rest of the hardware test run, just for kicks. My PowerBook has 1 GiB of memory, which took about 26 minutes to test. Total test time was 33.5 minutes, with everything passing. (phew!)

I rebooted holding down the Option key again, this time booting from the installer CD which took about a minute to load. When the “Install Mac OS X” window opens, select the Installer menu then Open Disk Utility... item. In the Disk Utility, I selected the disk device (vs “Macintosh HD”) and clicked Verify Disk on the First Aid tab. It reported:

Verifying volume "Macintosh HD"
Checking HFS Plus volume.
Checking Extents Overflow file.
Checking Catalog file.
{red}Invalid key length
The volume Macintosh HD needs to be repaired.

Volume check failed.

Error: The underlying task reported failure on exit (-9972){/red}

1 volume checked
  {green}0 HFS volumes verified{/green}
  {red}1 volume failed verification{/red}


(Looks very much like the fsck -f output.) So I tried “Repair Disk” and got the following:

Repairing disk for "Macintosh HD"
Mounting Disk(S,"Checking HFS Plus volume.",0)
Checking Extents Overflow file.
Checking Catalog file.
{red}Invalid key length
Volume check failed.

Error: The underlying task reported failure on exit (-9972){/red}

Repair attempted on 1 volume
  {green}0 HFS volumes repaired{/green}
  {red}1 volume could not be repaired{/red}

This post suggests using Disk Warrior. I can’t use a download version, since I need a bootable CD to repair the non-bootable drive in my laptop, so I’m off to CompUSA to pick up a physical copy.

Back from CompUSA, with my wallet $100 lighter, ouch! This had better work… I booted the DW version 3.0.3 CD (hold down the C key while powering on and insert the CD). The single-sheet instructions indicate that it will take 5-15 minutes to boot. In my case, it took about 6 minutes. After a few prompts, the software got to work. It got through the first few steps quickly, but then started “Step 5”, something about locating directory information. A message appeared on the progress window, “(Speed inhibited by disk malfunction)”. I assume this means file structure corruption, as opposed to a hardware malfunction of the actual disk. Well, the speed was definitely inhibited! It took 14.75 hours to complete “Step 5” on a 75 GiB disk which was approximately half full. The worst part about this was a complete lack of any sort of progress indicator. The only way I could tell that anything was happening was to put my ear right on the laptop case over the disk, so I could hear the disk chattering once in a while. (Fortunately it wasn’t the cyclic series of sounds that a failing disk makes; instead, it was the purposeful sound of a disk doing random seeks. If you’ve listened to disks, you know what I’m talking about.)

After the excruciatingly slow “Step 5”, the next step, “Constructing optimized replacement directory…”, went relatively quickly. I didn’t keep track of its elapsed time, since I was trying to get ready to go to work and I missed the transition from step 6 to 7. In fact, steps 6, 7, and 8 all completed too quickly for me to note their elapsed time, but they took about an hour total. I started to hope that maybe I might have my PowerBook operational very soon, but then “Step 9: Recording any file or folder differences…” started. This took about 3 hours, but at least this step had a progress bar!

DiskWarrior has finally finished, after about 19 hours. After reviewing the log file and the new directory structure, I accepted the changes (as if I really had a choice). It took about 40 minutes to update the disk, then reported:
DiskWarrior encountered an unexpected error while attempting to show the disk "Macintosh HD" on the desktop.
Rebuild this disk again. Preview the disk and backup all files from the preview disk (2168, 4203).

ARRRGHHH!!! After doing some post-DW diagnostics, it appears that the disk was hanging by a thread, and the heavy disk activity caused by DW was too much for it. The system will no longer boot into single-user mode. 😥

This post is getting too long already, so I’ll publish it in it’s current “unresolved” state. I haven’t given up yet, though…

Posted in Mac OS X, Uncategorized | Tagged , , | 5 Comments

It’s been a few days…

I haven’t been able to post for a few days. Apologies to all my devoted readers! 😉

I had a nasty cold earlier in the week, and then my PowerBook crapped out on me. Life sucks sometimes… More on the PowerBook and my diagnostic/recovery efforts in a later post — I hope to report a successful recovery later today, perhaps even this morning.

Posted in Uncategorized | Tagged | Leave a comment

Possible interview with KCRA

BookCrossing label
Chyresse Lowther from KCRA may be doing an interview about BookCrossing. Presumably this would take place at the Java City/Modoc Hall OBCZ. I’d like to get the bookshelf well-stocked before it happens, so if you’re in the area and have some books to release, please consider dropping them off at the OBCZ!

Posted in Uncategorized | Tagged , , , | 1 Comment

What the heck is ‘sudoku’?

My youngest child just started 7th grade, and her math teacher sometimes assigns a puzzle called sudoku for homework. The first time she asked me to help her with one of these assignments, I thought it was a variation on magic squares. But after looking at the rules for completing a sudoku, I realized that it’s completely different. A sudoku is a pure logic puzzle, whereas a magic square is an arithmetic puzzle. The fact that most sudoku (e.g. in newspapers) use digits 1-9 is merely convenience. Some sudoku puzzles use letters, while others use geometric and/or colored symbols. I found a pretty nice sudoku application on the web, if you want to give it a try.

I’m very interested in the information theory and coding aspects of these puzzles. It strikes me as being somewhat like compressing a file. (Actually, I guess it would be “decompressing”.)

WebSuDoku.com logo

Posted in Uncategorized | Tagged , , | 1 Comment

SOP’s for web authors

The last time I was validating my blog’s XHTML, the “tip of the day” from W3C had some great suggestions (as usual). It inspired me to write this post.

Minimum SOP’s for web authors/bloggers should include:

  1. Validate your pages. Use the markup validation as well as the CSS validation services, both offered by W3C.
  2. Run the link checker against your site’s pages. Find and fix any broken links.
  3. If you are providing syndicated feeds, validate it/them.

The W3C tips are recommended reading for all web authors. [Re-]read one of these every day and apply what you learn! Your visitors will thank you.

Posted in Uncategorized | Tagged , | Leave a comment

A side benefit of Google sitemaps

After I completed the registration process for Google sitemaps, I checked my sitemap status and found an extra benefit of this whole rigamarole. From your “My Sitemaps” page, follow the stats link next to one of your submitted URI’s. If the page shows
URLs found during our regular crawl process
this indicates broken links into your site, not in your sitemap. If you can find the offending link on your own site, go ahead and fix it. If it’s a link from another site, see if you can get the webmaster of that site to fix it, (assuming you can find the source of the link). In either case, it’d probably be a good idea to put a Permanent Redirect (301) on your own site to correct anybody who’s chasing the broken link.

Vanessa Fox from Google engineering discusses the new site statistics a tiny bit, but more information is available in the google-sitemaps Google group. I’ve already left a comment there that I think there are two important pieces of information missing from the new site statistics:

  1. The time that the broken URL was last crawled.
  2. One or more URL’s pointing to source of the broken link.

Another feature that would be very helpful would be some way to alert Google that a broken URL has been repaired, e.g. via a 301 redirect.

Posted in Uncategorized | Tagged , | Leave a comment

General Tso’s chicken

I made one of my wife’s favorite dinners last night–General Tso’s chicken, known and loved by everybody who dines at our house. This was the first serious cooking I’ve done since we moved into our “new” house with the retro kitchen. Quite a challenge!

This is based on Martin Yan’s recipe in The Well-Seasoned Wok, with my own preferences and changes.

Marinade:
¼ c Shao Hsing wine or sake
2 Tbsp dark soy sauce
4 tsp cornstarch

Sauce:
½ c chicken broth
¼ c rice vinegar
¼ c regular soy sauce
3 Tbsp dark soy sauce
3 Tbsp sugar
1½ Tbsp sesame oil

Everything else:
2 lb boneless skinless chicken, cut into 1″ cubes
2 lb firm tofu, cut into 1″ cubes and drained
¼ c peanut oil
5-15 whole dried chiles de arbol (the skinny red ones, about 3″ long)
4 cloves minced garlic
1″ piece of ginger, minced
3 green onions, cut into 1″ pieces
¼-½ tsp red pepper
¾ c roasted unsalted peanuts
2 Tbsp cornstarch dissolved in ¼ c water

Combine all the marinade ingredients and stir until the cornstarch is dissolved. Add the chicken and stir to coat. Marinate for 30 minutes, stirring occasionally.

Combine the sauce ingredients except for the sesame oil. Stir to dissolve the sugar, then add the oil. Set aside.

Heat a wok over highest heat. Add oil and swirl to coat, then add whole chiles and stir-fry until the chiles darken, 10-15 seconds or so. Add the chicken and stir-fry until all sides are white, about 2 minutes. (If the pan goes dry, add a little hot water, not oil!) Add the tofu, garlic, ginger, green onions, crushed red pepper and stir-fry for another minute or two. Stir the sauce again to mix the sugar, then add sauce and peanuts to the wok and stir. Cook until sauce starts to bubble, about another minute. Stir up the cornstarch solution and add a little at a time, until sauce is thickened. Go easy, it may thicken a bit more upon standing.

Serves about 8

This pretty much completely fills a 12″ wok, with a little room for stirring. You can halve the recipe, but it’s kind of a hassle due to the brain-dead measuring system we use in the US, grumble grumble. Go metric!

Tips:

  • The chicken will be easier to cut if you partially freeze it.
  • Cut up the tofu and put the cubes in a collander in the sink to drain.
  • I normally measure all the sauce ingredients into a 2-cup measuring cup: pour in chicken broth to ½ cup, then add rice vinegar to ¾ cup, etc. Once less thing to wash.
  • If you have some leftover chicken broth from the sauce, substitute it for some of the water when cooking rice. (You are making rice to go along with this, right?)
  • If possible, mince the garlic and ginger right before you add them to the wok to preserve flavor. We have a little bitty food processor that works great for this. During prep, just peel the garlic and ginger and toss the whole chunks in the food processor. After you start cooking the chicken, run the food processor to mince the garlic and ginger. That’s about as freshly minced as you can get, unless you have a sous chef. 😉
  • I rarely use all the cornstarch/water mixture to thicken the sauce. Just add a little at a time until it’s thickened to your liking. It’s better to throw out a bit of cornstarch than to have to frantically mix up some more because you ran short!

I’ve had to tone down this recipe to get my kids to eat it; hence, the lower limit on the spices. But personally I prefer it spicier, with the peppers at the upper limit.

Posted in Recipes, Uncategorized | Tagged , , , , | Leave a comment