Which new Mac Pro? The old one.

So with the new Mac Pro coming out, I’ve been torn between getting one of those or live with my old Mac Pro early 2008 for a while longer. Now, just estimating the price of the new Mac Pro, adding in a Thunderbolt drive storage and two Thunderbolt screens, the sum is way beyond what I can credibly argue myself into. And I’d be stuck with something that has much more processing power than I could invent excuses for, while still being a first generation product.

After a lot of arguing with myself back and forth, I decided to try to speed up my old Mac Pro with SSDs. I also have a bootcamp Win7 I would like to preserve if possible, which seems to preclude using regular SSDs, unless I use a lot of them. The solution seems to be a Fusion Drive (combined SSD and hard disk), where the bootcamp partition ends up on the hard disk proper.

The SSD I bought is an OWC Accelsior E2 480 GB PCIe card, and I combined it with one of my “old” Seagate Constellation ES.2 2 TB drives into a 2.1 TB Fusion Drive with a 300 GB Windows partition. I can access the Win7 through Parallels as a virtual machine, but without any speedup from the SSD (since Win7 is in its own partition), but right now I can’t boot from it. I moved it using Winclone, so I’m waiting on a response from them on how to proceed. Worst case, I can skip bootcamp, I don’t really need it.

But for all the other virtual machines through Parallels, and all the other software and files I have, the machine has become unbelievably snappy. The Fusion Drive has about 1 TB of applications and data on it, so the SSD part should be able to handle most daily tasks, once it balances out right. But already, I’m seeing some fantastic speedups.

Just to make you envious, see the screenshot that follows. Theoretically, I should be getting 800 MB/sec, but I’m pretty happy with what I’m seeing. Can’t really see how much faster the machine can get in actual handling. Seems it boots apps and opens files as fast as the screen can be written. Almost.

BlackMagic Disk Speed Test on Mac Pro 2008
BlackMagic Disk Speed Test on Mac Pro 2008

As a comparison, the test data from the “old” ES.2 2TB 7200 rpm drive that contains my old home folder, and which is still in one of the slots of the Mac Pro:

Disk Speed TestScreenSnapz002

In short, for a fraction of the money a new Mac Pro would cost, I got most of the benefit of one by adding this PCIe SSD card. (Nope, I have no relationship to OWC other than as a happy customer.)

The next step would be screens. I’ve got two 24″ Cinema displays, but with their 1920×1200 resolution, they’re getting cramped, especially when using the interface builder and storyboards in XCode. I’m still thinking it over, what to do about that. I already have an ATI Radeon 5870 card in the machine, so it should be able to handle bigger screens fine.

Mountain Lion for free?

I’ve downloaded and installed Mountain Lion (10.8) on several machines now, but I never paid for it. No, I didn’t pirate it, I got it from the App store, but it never gave me a chance to pay. Looking up the transaction in the App store via iTunes, I see this:

In other words, I did “buy” it, but got it for nothing. Officially. What I don’t get is why. I’m just guessing here, but since I’m a registered developer on the same account, and I’ve run the developer previews, that earns me a free release version as well. (Note that the 10.8 above is not a developer preview, but the released public version.)

Nice gesture, Apple. Unless it’s an error. If so, I really don’t mind paying for it; it’s not exactly expensive.

Invisible failure

Today I noticed the RAID utility icon in the dock and I couldn’t remember having started it. Weird. Clicked on it and this is what I see:

(Click the image for full size.)

Oh, sh*t, a drive just died. “Just” died? No, not really, it died a week ago, and I didn’t notice. That’s not good. Normally, RAID Utility pops up at start to tell you something is going wrong, but what happens is that with Snow Leopard all apps restart in the state they were when closed down, so RAID Utility gets covered by all that other stuff. Any dire warnings are hidden, unless you look for them.

What RAID Utility should do is scream bloody murder, bounce the dock icon, send emails, create Growl popups, any and all of that, but it does none of them. Considering that running on a degraded RAID set is actually several times more risky than not running on RAID at all, the system really should take notifying the user more seriously.

A week… could just as well have been a month or until the next drive failed. Now let’s see if I get a new one from Seagate before another one goes titsup. Checking my backups as we speak…

A platform too many

With the new iBooks and iTunes U app, I’m missing a piece of the puzzle. Just as truckloads of schools have given the kids MacBooks, Apple rolls out the new textbooks to iPads only. Are we supposed to switch over the schoolkids to iPads now, and lose the OSX apps they use?

It would seem logical that iBooks and iTunes U would be available in versions for OSX as well, but there’s no sign of that. Or is Apple planning on running iOS apps on OSX in something like the iOS simulator? What’s going on here? As it stands now, it makes no sense.

Netbooting on OSX SL Server

Once I got tftp working on IPv4, I still couldn’t get the Macbook client to download the boot or image files. Wireshark showed that the client didn’t get any file when it sent “acknowledge data block 0”. Nothing. So I installed tftp-hpa from Macports, hoping that would solve my problem, which it didn’t. But a few tips on that:

Install tftp-hpa using the “server” variant like so:

sudo port install tftp-hpa +server

Then go into the preference file (which isn’t in the same place as most plist files):

sudo pico /Library/LaunchDaemons/org.macports.tftpd.plist

…and remove the “-s” command line parameter, while changing the path to “/private/tftpboot/”. The “-s” parameter forced a chroot which won’t allow tftp to follow symlinks outside the given path, making netbooting impossible.

Then, and this is the crucial step, change the block size to max 512 by adding the “-B” option with the value “512”. What seemed to be happening in my installation is that the client requested a block size of 8192, the server approved it, and things just stopped working. Probably something to do with the switches I have, but crimping it to 512 fixed the problem. Of course, if you’re doing netbooting on a regular basis, or run diskless workstations, 512 may be intolerably slow, so then it could be worth experimenting with higher values.

I ended up with a plist file for tftp-hpa looking like this:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd" >
<plist version='1.0'>
<dict>
<key>Label</key><string>org.macports.tftpd</string>
<key>ProgramArguments</key>
<array>
        <string>/opt/local/bin/daemondo</string>
        <string>--label=tftpd</string>
        <string>--start-cmd</string>
        <string>/opt/local/sbin/tftpd</string>
        <string>-B</string>
        <string>512</string>
        <string>-L</string>
        <string>/private/tftpboot/</string>
        <string>;</string>
        <string>--pid=exec</string>
</array>
<key>Debug</key><false/>
<key>Disabled</key><true/>
<key>OnDemand</key><false/>
</dict>
</plist>

After modifying the file, stop and restart tftp-hpa by:

sudo launchctl unload /Library/LaunchDaemons/org.macports.tftpd.plist
sudo launchctl load -F /Library/LaunchDaemons/org.macports.tftpd.plist

It’s entirely possible I never needed to switch tftp servers from the default to tftp-hpa, but now I did, I don’t know if I’ve got the courage to switch back to try the original. Checking the man pages for the original tftpd server, I can find no setting for max block-size, so maybe tftp-hpa is necessary after all, just to be able to crimp the blocks enough.

The first thing you should do on a new Mac

The very first thing you should always do on your new Mac is to make sure you run as non-admin. This protects you against most malware out on the net, since it makes it very difficult to install anything without you knowing about it. It doesn’t exclude it entirely, but it makes a major difference.

Continue reading “The first thing you should do on a new Mac”

Macport and mono

Just a heads-up: Macport quit working on my machine. Link errors, missing architecture in sqllite3 dynamic libs or something. After much agonizing, I began to suspect mono, especially since the sqllite3 library port wanted to link against was in the mono path. There’s a shell script in mono called uninstallMono.sh that does a fine job of getting rid of it. Run that, and things work fine again.

I’m guessing the mono libraries are simply put in too early in paths, which may cause the problem, but since I’ve got actual work to do, I’ll just roll my eyes and get on with life.

Update: the above did solve most of my problems, but not all. After perusing more forums than I’d like to peruse, I hit on a remark from one of the Macport developers that you should always reinstall the entire Macport system after every major OSX upgrade. In other words, I installed my Macport under Leopard, then upgraded to Snow Leopard, so it got unhinged. The solution is to entirely remove the /opt/local directory contents, then reinstall Macport from source. Personally, I find it a little bit scary (like, is Macport really the only system using opt/local?) so I tarballed the directory first, just in case. But I don’t think that is necessary, but time will tell.

Anyway, after reinstalling Macport this way, the rest seems to have straightened itself out.

If all else fails, try Preview

I’m totally amazed at all the things Preview does in OSX Snow Leopard. I already use it for knocking out backgrounds, using the “Instant Alpha” tool in the “Select” dropdown. But what happened today is more interesting.

To my everlasting regret I got me a Canon Lide 60 scanner a couple of years ago. Canon’s hardware is pretty nice, but their driver support stinks, especially for OSX. This scanner costs me on average much more work than it should to keep going. Same for my Pixma 5200 Canon printer, by the way. Awful.

Anyway, I needed to scan a page from a mag to show on a slide. Hooked up the scanner, tried Canon Toolbox, and sure enough “Failed to open driver”. Internet next, user groups, downloads, complicated shit about uninstalling, reinstalling, rebooting the Mac Pro ten times. No joy. After a few hours (!) of this, I got an inspiration: hey, since I saw “Twain” mentioned, maybe Acrobat Pro 9 (CS4) could import it, instead of using Canon Toolbox? Sure enough, Acrobat found the scanner, looked it over, and promptly crashed.

And then I got my second inspiration: check out OSX Preview. And yes, that one worked. Not only that, but it automatically calibrated the scanner, proceeded to analyze the page, divided it into sections, scanned it, and served it up already partitioned into useful chunks. See the screenshots below. All the time I was just sitting there watching, doing nothing. The only thing I had to do was select the image and hit cmd-R twice to turn it the right way up.

Jeez, that innocent looking little Preview app is becoming mighty useful for any number of things.

I probably should mention that the driver I installed came in a file called “lide60osx11131en.dmg” to be found, somehow, on Canon’s support site. It installs both the drivers and the toolbox, but the toolbox doesn’t work.

OSX Mail and IMAP tamed

Oh, boy, this wasn’t easy. I’ve been trying for years to get my email life organized. The problem is this:

  • I’ve got almost ten different email accounts
  • I subscribe to tens of mailing lists
  • I want mailing lists to be automatically moved to dedicated folders
  • I want the same folder setup on different machines
  • I want messages read on one machine to be marked read on all the others
  • I used three different Macs to read mail on
  • I want to be able to get at both inboxes and discussion list folders even through webmail
  • I want all mail to be available offline as well
  • I don’t want to depend on my web host to not lose my saved mail
  • My regular inbox should only contain stuff I need to act on, everything else is either deleted or moved to a single (or possibly a few) archive folder
  • That archive folder must automatically be available and updated on all my machines and webmail client
  • Oh, I almost forgot: everything should be available on the iPhone as well, of course

Hey, that’s not too much to ask, is it? But until now, there was always something screwing it up. Now I think I’ve got it beat. Since I didn’t find all that much on the ‘net about this, but I did find little scraps here and there, I figured I ought to collect my notes here for posterity. Everything that follows was done on Snow Leopard, both client and server side.

Step 1 – Make it all IMAP

First things first. Change all your accounts in OSX Mail to IMAP. There’s no way to do this with POP3 access. I’m not going to describe how to do this, since it’s not rocket science and no secret tricks are involved. Take care so you don’t lose messages, though. (Not that I know why you should, but I felt I didn’t want to take responsibility if you found a way to screw up the only storage you had of those priceless emails.)

Step 2 – Get yourself an OSX Server

Not as bad as you might imagine. The Apple Mini OSX Server is pretty cheap. Set it up as safe as possible, using mirrored drives. If you have a NAS with RAID, you could set up iSCSI to that. I’m not going into this here either, it’s a separate subject, but I will assume you have an OSX Server at least. Most of what I’m telling you below can also be done on a webhost, but I didn’t want to have maybe gigabytes of mail storage entrusted to some cheapo webhost out there. But you decide, of course.

Step 3 – Enable webmail on your OSX Server

Since OSX Mail doesn’t seem to allow folder management under IMAP, that is, there is no way I can see that allows you to add new IMAP folders server-side, you need to do that using webmail. You only need it when adding or removing folders, not a daily thing.

Assuming you have your user account on your OSX Server, that your DNS is set up right and that you can access your email account on the OSX server over IMAP, you now have to enable webmail on that server. That isn’t in the most obvious place, so I took a screenshot to help you find it (click image for full size):

Server Admin screenshot for setting web services

You have to check the “Mail” checkbox. Actually, I didn’t do that here, I selected the “default” on port 443 (upper pane) and checked it there, so that webmail is only available over HTTPS, not plain HTTP:

Step 4 – Create your folders

Via a browser, log in to your webmail account on the OSX Server. It does come with SquirrelMail already installed and running (if you did step 3 at least). Once in SquirrelMail, click the “Folders” link and you get the following screen:

The first field lets you create a folder. Leave the “as a subfolder of” set to “INBOX”, that’s a pretty good choice. It may not seem all that intuitive, but the OSX Mail client will not show these contents as part of the regular collection “Inbox” even though it’s a subfolder, so leave it set that way. As you create subfolders, you see them in the left listbox down below.

When you return to the main screen in SquirrelMail and refresh the folders (click “check mail”), you’ll see this:

…which doesn’t seem right. It looks as if your new folders are children under “Sent Messages”, but that’s just an interface bug in SquirrelMail. Don’t worry about it.

Step 5 – Back to OSX Mail

Just quit OSX Mail and restart it, it’ll find the new folders. Now, if it doesn’t, check the IMAP Path Prefix field, which you can find if you go to preferences, accounts, select the account, then go to the “Advanced” tab:

If it says “INBOX” in that field, just empty it and try saving, quitting and restarting OSX Mail. I’m not sure if it should or should not have the “INBOX” set there, but try either way if you have a problem.

Step 6 – Rules

Now comes the fun part. You can set up mail rules in the OSX Mail client that move messages into one of the new subfolders you created, even though the original mail came in on another mail account. Think about this for a while until it sinks in. The rules let you move messages from one IMAP server to another, not just between folders on the same server or you client machine.

So, I’ve got mail rules that sorts mail coming in on several different IMAP accounts. As they match different rules, these messages are effectively moved from the original IMAP server somewhere in the USA to my own IMAP server in the backroom, and all those sorted messages are now available in real time from all my Macs and my iPhone (and iPad once I have one). I do have public IPs, so my OSX server is available to me from anywhere, which helps, of course.

You can still easily see where the messages originated, since the “To:” field does not change when you move the messages. If you open a message in the common archive and click “Reply”, OSX Mail client will automatically select to reply from the account the message was originally sent to, not from the account that your archive is in. Exactly as I’d want it to.

Oh, wait, there’s more

I can easily add another IMAP account that is shared with coworkers, and move or copy messages there, manually or automatically, say for support or some mailinglist I want to share with them all. Think about that for a sec.

It becomes even neater if you have MobileMe and you have set mail accounts and mail rules to synch across your machines. I don’t even need to set up the rules as they change. I change them on any one of the machines, and the other machines update the rules. I may, occasionally, have to enable the rules (I don’t know why), but their content is updated.

This is so cool.

Update: You can actually create the IMAP folders just as easily from inside OSX Mail. Just go to the right IMAP account in the side panel, then click the “+” down on the left, select “New Mailbox” and if you scroll far enough, you’ll find your IMAP accounts if one is not already selected. Select one of those and you can create a folder on the IMAP server. It was too obvious for me, I guess.