Setting Up Homebrew on my New Old Mac

I set up Homebrew on my iMac. (If you go to their site, the Homebrew project has documentation there, which explains the whole not-use-sudo philosophy and using /usr/local now that Apple makes it hard not to, but I don’t understand it, so it seems like an invitation to having your machine rooted. But I’m a greybeard and I quit understanding internet security back when we used uucp because we didn’t have a real internet. Hopefully someone has thought it through.)

Because I’m too lazy and ignorant (and possibly stupid) to RTFM, I found a set of color-by-number instructions handy, although I didn’t use anything after XCode (a mere 4GB download) and Homebrew.

$ brew doctor
$ brew update
$ brew doctor
$ brew install {lots of good stuff}

At some point I ran into keg-only and Cellar jabber jabber messages, but (see above) I don’t understand any of that. I just take whatever advice brew doctor gives me and move on from there.

Some of the things I always want on a new Mac (or even one that’s 10 years old) include:

$ brew install imagemagick --with-fontconfig
$ brew install colordiff pwgen tree wdiff pstree
$ brew install pngquant
$ brew install jhead antiword poppler
$ brew install sox lame eye-D3
$ brew install gnupg
$ brew install sqlite

Moving iTunes from one mac to another

The biggest single reason I wanted to fix my old iMac was to put a honkin’ big HD in it, and the reason for that was so I could have an iTunes library on the main hard drive instead of an external (USB 2.0) drive. My iTunes Media folder looks like this:

32 Books
60 Tones
740 Home Videos
6886 Mobile Applications
10791 TV Shows
53041 Movies
84845 Podcasts
95847 Music

Why iTunes doesn’t let us manage our storage intelligently is a mystery (especially given the ridiculously small storage options that Apple provides its Macs, and all their other devices for that matter). But now I’ve got plenty of room to store 250 GB of media in the iTunes folder as well as the different places I keep it for real. So there.

The only problem was getting it into the iTunes folder, in a way that iTunes understands. But this is a known problem, and Apple has a documented procedure.

Then I had to Authorize my computer (the “new” iMac) and Deauthorize the old one (the Mac Mini). I don’t know how Apple keeps track of what computers have been authorized, but they decided this one was already Authorized, from back when it was our main computer. I don’t know if I forgot to Deauthorize it or what, but now I’ve only got 2 of 5 Authorized computers.

iMac Salvaged!

Mostly I’ve been blogging about my adventures in Linux-land. But I wanted to write a bit about my other project. About 9 1/2 years ago, we got an iMac, and about four years ago we replaced it with a Mac Mini.

The iMac was a mid-2007 20″ model. (This was the first Aluminum and Glass version, replacing the earlier white plastic models. You can watch Steve Jobs introduce the Aluminum Series on YouTube.)  The specs were: 2.0 GHz Core 2 Duo, 250 GB SATA, SuperDrive, and 1 GB of DDR2. It cost $1,220. The late 2012 Mac Mini that replaced it had a 2.5GHz Core i5, 500 MB SATA/5400, 8 GB DDR3) and cost $669, but we had to buy a monitor for it (a Samsung S23C570, which probably cost around $200). So the Mac Mini was definitely an upgrade.

But that wasn’t why we upgraded. It was because the iMac was barely working. The hard drive would go “tick tick tick” for the first hour or two whenever you started running it. The SuperDrive had quit working a couple of years earlier. (Technically, a DVD got stuck in it and could not be removed.) Plus the usual “I’m an old Mac so sometimes I just take forever to do things” that we’re all used to. We finally upgraded because we couldn’t trust that it would work any more.

So. Fast forward four years. I got tired of tripping over the iMac, but I couldn’t bear the thought of losing such a pretty computer. So …I fixed it. Or maybe I threw good money after bad and wasted my time fixing a ten-year old computer. Or both.

I watched a ton of how-to videos (this one was particularly helpful) and read the instructions over and over again. Oh, and before I did that, I got a set of tools from iFixit and parts from OWC (MacSales). Then, after putting it off all during Lent, I ran out of excuses after Easter. So I spent last Friday replacing the original 250 GB hard drive with a 2 GB drive and the SuperDrive with a 2.5″ 1 GB drive. Here’s what it looks like on the inside with the new drives.

iMac 20" (2007 model)

See more pictures of the work in progress on Flickr.

I will say that Apple sure doesn’t want you to make a bootable OS install disk. In spite of all the instructions they provide (here, here, and here). I own three Macs, but ((Shift+) Option+) Command+R doesn’t work on any of them. I finally dug up an old Snow Leopard install DVD and then upgraded to El Cap the slow and painful way.

I wouldn’t take it gift-wrapped

Office 2016 for Mac now available as stand-alone software. I’ve been exposed to Office 2013/Windows, and to get anything done, I have to use Office 2011 on my Mac.

I wouldn’t even install Office 2016 on my Mac for $100 even if it left the old version intact. More likely, though, it clobbers the previous version. In that case, I’d only do it for the cost of a new computer—so I could throw out the old computer with Office 2016 on it.

Microsoft Keyboard Blues

I foolishly installed the Intellipoint drivers for my Microsoft Keyboard 4000, and have been frustrated ever since. I assume it’s because it’s a Microsoft product on a Mac.

Anyway. This is the solution.

First, uninstall the Microsoft drivers as described there.

Second, open the keyboard preferences pane:

Mac OSX Keyboard Prefs

Then swap the modifier keys as follows:

Mac OSX Keyboard Prefs

More rbenv notes

My last post on rbenv mentioned some things you need to do to get ruby to build on Mountain Lion. Here are a few more things.

This guy Jacob Swanner didn’t want to use either Xcode or gcc. He just used the Xcode command-line tools, with a CC environment variable, thus:

$ CC=/usr/bin/clang rbenv install 1.9.3-p194
$ rbenv global 1.9.3-p194

That won’t work with older versions of Ruby, however, as I mentioned before.

I noted he is also a Homebrew user. I’m not yet ready to go there, although macports gets more and more frustrating with each OS release. (I’m not alone.) (But that’s a subject for some other time.)

And, for convenience, here’s another Homebrewer’s notes on how to get ruby building again with Mountain Lion

Ruby and Mac OS X Lion

When Apple switched from GCC to LLVM in Xcode 4.2, they made it significantly more difficult for me to run ruby 1.9.2. (What are the odds this will get easier with Mountain Lion?)

I was using rbenv and its rbenv-build plugin to install ruby 1.9.2 and it told me this:

$ rbenv install 1.9.2-p320

ERROR: This package must be compiled with GCC, but ruby-build couldn't
find a suitable `gcc` executable on your system. Please install GCC
and try again.

DETAILS: Apple no longer includes the official GCC compiler with Xcode
as of version 4.2. Instead, the `gcc` executable is a symlink to
`llvm-gcc`, a modified version of GCC which outputs LLVM bytecode.

For most programs the `llvm-gcc` compiler works fine. However,
versions of Ruby older than 1.9.3-p125 are incompatible with
`llvm-gcc`. To build older versions of Ruby you must have the official
GCC compiler installed on your system.

TO FIX THE PROBLEM: Install the official GCC compiler using these
packages: https://github.com/kennethreitz/osx-gcc-installer/downloads

You will need to install the official GCC compiler to build older
versions of Ruby even if you have installed Apple's Command Line Tools
for Xcode package. The Command Line Tools for Xcode package only
includes `llvm-gcc`.

Note: when you install that, it doesn’t (appear to) provide an uninstaller. Instead it says this:

If something doesn’t work as expected, feel free to install Xcode over this installation.

Once installed, you can remove Xcode completely with the following:

sudo /Developer/Library/uninstall-devtools –mode=all

Bummer for me, huh? Mercifully, the GCC installation package doesn’t mess up the llvm-gcc link in /usr/bin/gcc. But that means when I do the ruby build, I need to add:

export CC=/usr/bin/gcc-4.2

Mountain Lion

So I looked at the list of 200 new features in Mountain Lion and … meh.

If there’s a company in the world that they didn’t pick in preference to Google, though, I couldn’t figure out what it is. I mean, really: a feature to let you access Vimeo?

I wonder how much of that linkage is built on APIs where you can connect to other alternative services? I understand that Apple feels threatened by Google (why, I can’t imagine, except their legendary paranoia) and wants to partner with everyone else. (Vimeo!?) But I want to put together a best-of-breed workflow. I don’t want a Safari reading list, I want Instapaper. I don’t want Safari bookmarks, I want Pinboard. But I’ll get what Apple thinks I should have, which means the services that are dumbed down enough for computer novices to use on their phones.

Except when those services are business partners of Apples. Like Facebook. I don’t want or need hooks to Facebook, but I’ll be surprised if any way to turn them completely off, either. I wonder how much of my activity leaks over to Facebook, and how does much does Apple get for selling to to them? (And since when does Apple overhang the market like this? Fall availability? Why wasn’t it ready in time for the general release of Mountain Lion?)

As for iCloud…. I’d love it if iCloud did what I want, though. I’d love to share calendars with my family members. I can do that now with Google Calendar. Apple says I will be able to do it now with iCloud. That would be a welcome improvement. It’s not clear that you can do that with your contacts, bookmarks, notes, and reminders, though.

(That is another problem with all the social-media linkage, as well. The social media sites all want me to have one persona. What good is it if Twitter is linked into everything I do, so long as it’s just one Twitter account? And Facebook won’t even let me have multiple accounts.)

Whatever.