My Favorite Work Computer Ever

There’s a lot of hubbub about the state of Apple notebook computers these days. Here’s a fine list for those who want the details.

I have a job. Many people I know there rely on a notebook computer to get things done. I see plenty of shiny modern MacBook Pro models around the place. I can’t get excited about it.

  • Here’s a $2,500 computer that manages to be a half pound lighter than the previous model, but requires a two pound DongleBag™ to be useful for many people in a work context because there are no USB-A or HDMI ports.
  • I agree that Blu-ray was (and still is) “a bag of hurt”, but stable, reliable USB-C interoperability appears from my sideline view as a literal DongleBag of Hurt™. Maybe you have what you need in that bag, and maybe it will work most of the time.
  • The butterfly keyboard is prone to being damaged by dirt or just generally failing, causing a multi-hundred dollar repair because it’s not very serviceable. How this remains a topic of debate at this point is hard to understand. Nice design, bad in practice.
  • Don’t get me started on the Escape key. I use the Escape key all the time. I want an Escape key.

What I Want From a Work Computer

  • It should always work. No force quitting things all the time, and I should have restart it only when updating the system software.
  • It should allow me to start working within five seconds of touching the keyboard, without ceremony or multi-step incantations.
  • I like to walk around and be productive with just a notebook computer. Light is good.
  • I never ever want to plug my computer into power during a meeting. In my view, this would be an admission of personal failure and a sign to my colleagues that I do not have it together.
  • Most of the heavy work I do runs in a very nice data center with very nice computers in it. I need to get to those things with near-100% reliability. Wireless must be frictionless.
  • It should have a physical Escape key.
  • I like macOS because it lets a suit be a suit, and a geek be a geek.

My Favorite Work Computer Ever

My absolute favorite computer I’ve ever used for work is the one I use every day for all of the above. It is the 13″ MacBook Air (Mid-2013). It features a cruddy plastic third-party shell I bought with my own money, being held together with dark grey duct tape. I have dropped it more than once. It still works.

The 13

I am a computer guy, and I could get a newer computer, right? Sure. I’ve been asked if I want to upgrade. But why? This is working, and the new models require me to give up things I want for things I don’t want.

The scene in Star Wars were Han Solo says, 'She may not look like much, but she's got it where it counts, kid.' “She may not look like much, but she’s got it where it counts, kid.”

After five years, I believe I have plugged it up to power in a meeting room perhaps four times. You would not believe the number of meetings I attend. The battery life remains magical. I don’t carry an AC adapter with me.

Side note: when I’m at my desk, I use a Mac mini (Late 2014) with two external monitors. I have lots of things happening all at once on that machine, and it is never the reason I can’t get work done.

Things I Might Change About the Five-Year Old Allegedly Obsolete Notebook Computer I Use Everyday for Work

I regret getting 512 GB of internal SSD storage. It’s about 400GB too much for me.

It does not have a Retina display. I have those on my personal devices, and it’s very nice, but I don’t really need it. I would take a Retina display if battery life remained amazing, even after five years.

It has a constrained screen resolution. I agree more would be better. If I had a Retina display, I would use it for more real estate, not crisper images.

I would like an HDMI port for the rare occasions I need one, because I am not going to carry around a DongleBag of Hurt™ 100% of the time just in case. I would trade the SD card slot for this.

Performance: Not much. There was a short period where I was getting intense PDFs to review, and this computer could not handle it running Preview. I just held my nose and started using Adobe Reader for those documents, and that short-lived problem was solved.

Yes, I Know

This is one of the many bits of writing these days about Apple notebooks and how they meet (or don’t) the needs of an individual. I know I’m just me, and I am different from a lot of people.

I think writing this has helped me decide what I need to do about my work computer situation. Nothing. It’s fine.

RANT: Cheap Server Rail Kits

This is a very specialized topic, but my hand hurts this morning for a very specialized reason, and I wish to rant about it.

Attention cheap white-box server manufacturers: the cheap, flimsy, rickety, ill-fitting, funny-smelling rail kits you continue to ship so you can save $10 are absolute garbage, and you should be ashamed of yourselves. I would so dearly love to name names, but as this post surely proves, I am too pro for that.

You can and should do better. The mechanism responsible for holding something heavy and important should not be made of materials as utterly not-resilient as (and unfavorably comparable to) plastic wrap, talc, or balsa wood. I would rather use duct tape, because at least I know what to expect from duct tape, and it typically does what I expect.

IKEA ships better rail kits to hold a two pound drawer.

I would shake my fist at you, but I am having trouble making my hand into that shape this morning because of an encounter with one of these travesties of engineering yesterday afternoon.

Please round up all such alleged rail kits and leave them out in the sun, where they will surely melt into a greasy puddle of sadness and embarrassment in under 15 minutes.

This is perhaps the leading reason I do not prefer cheap white-box servers, and have a moment of nausea whenever I know I will have to deal with one. It is never by choice.

Thank you for your time and attention. My soul feels better, but my hand still hurts.

OS X 10.10 Instant Hotspot

I finally upgraded to OS X 10.10 on my trusty work MacBook Air, after sticking with 10.8 because I’m just too busy and dependent on my laptop to do without it for the upgrade. 

(By the way: When you work at place like I do, you don’t just update your own OS; you have lots of security related tools involved and you leave it to the experts, per both policy and pragmatism.)

So anyway, I wondered in a waiting room today what it would take to get the fancy Instant Hotspot feature to work with the iPad I also carry around. Turns out, you just select the iPad from the WiFi list, then magic intarnet happens. Huh, that was easy. Nice!

Now I just need 10.10.4 so Molly can print reliably at the house, since that whole situation appears to be suffering from the discoveryd madness. 

OS X Mirroring and External Displays

I have a not-superfancy 21″ iMac at home. It’s got an old Dell 24″ DVI display attached with a Thunderbolt adapter. I’m generally a big fan of multiple displays on any computer I’m using, and this works out well when I want it, especially if I’m doing something with VMware Fusion that could use a full extra screen. But here’s the thing: In this particular setting, I don’t need or want the external display all the time. It’s connected via VGA to an old Mac mini that we occasionally use, which complicates things a bit more because of input switching. The display is from something like 2007, so it does nothing automatically.

No problem: If I don’t need it, I’ll just turn it off. However, the Thunderbolt adapter means that OS X always sees the display as present, even if it’s powered off. I find this annoying, especially when I launch an application that remembers it has windows on the external display. I have to turn the display on, make sure it’s on the DVI input, blah blah, just to move the window. It’s a small thing, but the grumpy accumulates.

Today, the obvious solution finally occurred to me: Just turn on display mirroring when the external display is unwanted. Command-F1, or Command-fn-F1 if you have media keys disabled.

This gathers everything to the internal iMac display and means OS X (and I) can just ignore the second display. Easy.

I Did Not Know: xargs -n and -P

Say you need to md5sum 46 files, all ending in “.foo” in a single directory. You might use your standard `md5sum *.foo > md5sum.txt` command to checksum them all in one process. Get coffee, it’s done, move on.

Oh, I should mention those 46 files are a little under 6 terabytes in total size. The standard command might take a while. I drink a lot of coffee, but whoa.

Now imagine you have a 16 core server connected via modern InfiniBand to an otherwise idle pre-production parallel filesystem with several hundred disks and multiple controllers, each with their own cache. The odds are tilting in your favor. This is especially true if you read up on this pair of options in xargs(1), which inexplicably, shamefully, I Did Not Know:

--max-args=max-args, -n max-args
       Use at most max-args  arguments  per  command  line.
       Fewer  than  max-args  arguments will be used if the
       size (see the -s option) is exceeded, unless the  -x
       option is given, in which case xargs will exit.
--max-procs=max-procs, -P max-procs
       Run up to max-procs processes at a time; the default
       is 1.  If max-procs is 0, xargs  will  run  as  many
       processes  as possible at a time.  Use the -n option
       with -P; otherwise chances are that  only  one  exec
       will be done.

Sure, I could have run this on more than one such machine connected to the same filesystem. There are a number of tools that can split up work across multiple child processes on a single machine, none of which were installed in this environment. I wanted to see what I could get this single server to do with basic commands.

46 files / 16 cores = 2.875, so let’s give this a shot:

find . -type f -name "*.foo" | xargs -P 16 -n 3 md5sum | tee md5sum.out

English: For the files ending in “.foo” in this directory, run md5sum up to 16 times in parallel with up to three files per run, show results as they happen, and save the output.

Please Note: This will absolutely not help unless you have the storage infrastructure to handle it. Your Best Buy hard drive will not handle it. It has a strong chance of making your machine unhappy.

In this case, I got something lovely from top:

  PID S %CPU COMMAND
29394 R 100.0 md5sum
29396 R 100.0 md5sum
29397 R 100.0 md5sum
29398 R 100.0 md5sum
29399 R 100.0 md5sum
29400 R 100.0 md5sum
29401 R 100.0 md5sum
29402 R 100.0 md5sum
29403 R 100.0 md5sum
29391 R 99.6 md5sum 
29392 R 99.6 md5sum 
29393 R 99.6 md5sum 
29395 R 99.6 md5sum 
29404 R 99.6 md5sum 
29405 R 99.6 md5sum 
29406 R 99.6 md5sum

Early on, there were some D states waiting for cache to warm up, and CPU dropped below 70% for one or two processes, but I’ll take it. I’ll especially take this:

real    31m33.147s

Right on, xargs. Easy parallelization on one system for single file tasks driven from a file list or search.