Upgrading the old Hackintosh to High Sierra

I was able to update from Yosemite 10.10 to Sierra 10.12 without any problems. And then, applied the update to 10.12.6 from the App Store.

The update to High Sierra was a bit different.

  1. Create installer USB drive with Unibeast
  2. Power off machine and disconnect HDD with home folders
  3. Boot from the Installer USB drive: make sure to use the machine's boot selection option to do so
  4. At the Clover screen, go to Options and set the following
  5. Boot options: dart=0
  6. SMBIOS: model is iMac13,2

Run the macOS Installer/Updater, targeting the system drive. After a few minutes, the screen will go black in a reboot attempt. Manually press the reset button. Use the firmware boot selection to pick the Installer USB drive as boot drive. At the Clover screen, set the same options/settings as above. Then, select the "Install macOS" boot drive that is on the system HDD (not the USB drive) to boot from.

The installer/updater should come up and continue the upgrade process. It will be a white or light grey screen, with a grey Apple logo, and a progress bar saying "Installing: About X minutes remaining".

Hackintosh upgraded to Yosemite

I upgraded my Hackintosh to Yosemite, last night. It took three tries. My first mistake was to reload my old MultiBeast settings. Turns out, that was not necessary. In particular, there was no need to install network drivers.

In any case, I used the default DSDT-free settings, with the addition of the audio device driver (ALC892).

Time Machine on a network drive

Stephen Morley has provided instructions on setting up a non-Apple network drive to work with Time Machine.

Apple’s Time Machine software made it easy to setting up incremental back-ups, with one exception: network drives (more formally called network-attached storage, or NAS). Time Machine only directly supports drives formatted with Apple’s HFS+J file system, and will eventually use all disk space on the drive. This page provides an illustrated guide showing how to set up Time Machine on a network drive, using a sparse bundle to emulate a smaller HFS+J drive.

My first Processing program: algorithmically-generated plant

I have been meaning to try out Processing (a.k.a. Proce55ing) for ages, now.  Processing is a Java-like language which includes a simple development environment which makes generating graphics, animation, and sound simple. You can see some impressive examples at the Processing site's exhibition page.

I played with Processing for the past week or so, and my first non-trivial "sketch" is a modification of the Penrose Tile example written by Geraldine Sarmiento included with Processing. It is an algorithmically-generated plantlike form. The iterative method used is called an L-System, introduced by the botanist Aristid Lindenmayer (hence the "L"). 

Back in the 80s, when fractals, cellular automata, and other iterative and recursive things were the rage, this beautiful book (which I have a copy of) was produced: The Algorithmic Beauty of Plants, by Przemyslaw Prusinkiewicz and Aristid Lindenmayer.  It is out of print, but you can download a full high-resolution copy at that link, which also lists correction.

Click here for my sketch.

Injecting Javascript with Privoxy

I’ve been wondering how to use Privoxy to inject Javascript into specific sites, as a way of doing some Greasemonkey-like things for non-Firefox browsers.

This article on fixing Facebook for Konqueror provides a way, assuming the site in question has a global .js file. Basically, you redirect the URL for the .js file to a local copy, and then you may be able to inject your script into that local copy.

I haven’t tried it, yet, but will be playing with it presently.

Google enticing more developers

A couple of recent developments with Google. Firstly, they have released their Javascript tools, collectively called Closure (not to be confused with Clojure). Secondly, they have released a Creative Commons-licensed compiled language called Go (watch the teaser video below).

I haven’t had time to play with either of these tools. It’s nice to see that Go can be compiled for Mac OS X (my platform of choice).

Minor CueCat hacking

I bought a CueCat from LibraryThing to make it easier to scan my books. However, by default, it outputs some weird encoding. This is OK for use with LibraryThing, since they can decode the CueCat output. However, not so great with Delicious Library, which can’t.

Fortunately, they must have gotten enough questions about it and they posted a simple solution. Basically, disconnect pin 5 of one of the chips on the circuit board. Beats the more complex solutions for some of the older models. And it works like a charm.

Anyway, what’s a bit ironic is that I got one of these for free right when they first came out. It was a promo with Wired magazine. I think I threw it away. It used a PS/2 interface rather than USB, anyway.

How Google Chrome stores passwords

Well, I’ve been a bit hesitant to save passwords when using Google Chrome because it does not ask for a “Master Password” like Firefox does. So, I didn’t know if it encrypted the stored passwords, or if it did encrypt them, where it got the encryption key from. Then I found this article which looks at the source code for Chrome on Windows to see that it uses a Windows system call to encrypt the password using the user’s Windows password. Nice.

Which means that this is one component that they have to keep re-writing on various platforms to use whatever is native. Which is probably why Mozilla went with their own scheme.