Recommending a New Mac

I got an email from my mom the other day asking me for a recommendation on a new Mac. The first question I asked was what her budget was like. She said she’d like to keep it under a grand, which right away narrowed the field quite a bit. Next I asked what she would be using the machine for, to which she replied with the standard home use cases of “income taxes, email, scanning, internet, etc”, as well as printing to a Brother ink jet.

At first glance, it would seem like she would be the perfect candidate for an iPad. Modest computing needs, tight budget, and she doesn’t want junk. Or, in her words, “I hate slow computers but don’t need top of the line either.” I considered steering her towards an iPad, but that first item in the list of things she uses a computer for gave me pause, “income taxes”. I don’t know exactly what software she uses to do taxes, but I started imagining scenarios where she would run up against the edges of what the iPad, or more specifically, iOS, can do. Would she need to download and import files from banks? Would she need to read files off a USB drive? She’s into wildlife photography in Montana, how would she get the photos on the iPad?1 My mom’s no slouch, but she’s not Federico Viticci either. Pushing the boundaries of iOS is not what she cares to be spending her time doing.

I imagine Mom just wants to use a computer like she’s been doing for the past thirty years. Given the budget, and after eliminating the iPad from the equation, I briefly considered the desktop options. Of course, all of those were thrown out almost immediately. The iMacs are too expensive, the Mac Mini is too slow, and the Mac Pro, uh, no. That leads us to the laptop line. The MacBook Adorable was considered, then eliminated for lack of ports and high price. The new MacBook Pro also suffers from a lack of standard ports and a price tag that’s far too high. That leaves us with the venerable MacBook Air.

The Air has been Apple’s best laptop, and possibly best computer period, for years. While the MacBook Pro is the workhorse of the lineup, the Air’s svelte styling and weight paired with an affordable price tag to make an extremely compelling offer. While the MacBook Adorbs is beautiful and portable, Apple is pushing the envelope with the single port, and consumers are footing the bill for the new technology with a higher price. While the Air is plenty fast enough for all but the most demanding tasks, I’ve heard more than one user complain that the mobile chip in the MacBook Meh is sluggish. Jony’s styling doesn’t win out over performance with my mom.

In the end, I found a 13” Air with 8GB RAM, 128GB SSD, and an Intel i5 for $850 on Apple’s refurbished site. I think Mom will be happy with this machine for many years to come.

Next, my daughter and I are going in on a Mac for her to take to college. That’s an entirely different set of requirements and a different use case, one that I’ll follow up with here, as soon as we decide what to get.

  1. Yes, I’m aware of the dongle. It seems like a wonky workaround. ↩︎

My Next Mac

So, yesterday I cleared off my desk and tried to work with nothing but my MacBook again. No standing desk, no external monitor. It looked great, but honestly, it felt terrible. I wound up hunched over the desk staring down at the screen. After an hour or so of this I decided, yet again, that this style of work is just not appropriate for me.

This leads me to a few interesting conclusions when considering what to buy for my next Mac. For one, I find a larger screen much easier to work with. The smaller screen is fine for when I’m loafing on the couch or traveling, but for day-to-day work it just makes getting things done harder. Secondly, the screen needs to be lifted to an ergonomically appropriate height. Photos online of beautiful desks with a single MacBook Adorable, a notebook, and a cup of coffee are nice, but I can’t see how anyone gets any serious work done on the computer in that environment. I always assume that whoever works that way doesn’t spend the majority of their day staring at the screen like I do.

So what’s next for me? I’ve been toying with the idea of only using an iPad Pro, and while I think I could work on it just fine, the overall experience would be ergonomically strenuous, and the workflows frustrating. The iPad shows promise, but until I can hook it up to an external keyboard, monitor, and touchpad, it’s not for me, not yet.

I love the look of the MacBook, but I just can’t work with it. I could leave it plugged into my external monitor all day, but there are a host of issues with that too. My monitor, a 24” Dell 4K, looks great, but it doesn’t have a built-in speaker or iSight camera like the old Apple Thunderbolt Display I was used to working with. The resolution is good for staring at text all day, but every time someone I work with wants to do a video conference or something similar I’ve got to either fish out my USB webcam or unplug the laptop. I could leave the laptop open to the side of the display, but I like having a single monitor to concentrate on.

Then there’s the wires. I’ve got a USB hub stashed in my desk drawer, which is plugged into a ScanSnap and a hard drive. The monitor needs power and a plug into the MacBook. The MacBook needs power. There’s too many wires.

Finally, since I have no speakers when the Mac is closed, I have an Amazon Basics bluetooth speaker on the shelf behind my desk. That works fine as long as I have sound being streamed to it. If I go for more then a few minutes without sound, the speaker turns off, which means I have to flip the switch on it to get it to pair again. Not ideal.

So, when considering my options for the next computer, I think there’s really only one choice considering my requirements.

  • As few wires as possible
  • Built-in iSight camera and speakers
  • Large Retina screen
  • Ergonomically correct for long periods of work

Sounds like an iMac to me.

Install Gems Without sudo in macOS

I came across a neat little command line tool via Rob Griffiths’ Robservatory this morning, a Ruby gem named iStats1. Install is easy enough in Rob’s example, sudo gem install iStats, except that when you use sudo to install gems you are using the default macOS Ruby, and installing to system paths.

  ~ /usr/bin/gem environment                            RubyGems Environment:RUBYGEMS VERSION: 2.0.14.1RUBY VERSION: 2.0.0 (2015-12-16 patchlevel 648) [universal.x86_64-darwin16]INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyEXECUTABLE DIRECTORY: /usr/local/binRUBYGEMS PLATFORMS:    ruby    universal-darwin-16GEM PATHS:    /Library/Ruby/Gems/2.0.0    /Users/jonathanbuys/.gem/ruby/2.0.0    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0GEM CONFIGURATION:    :update_sources => true    :verbose => true    :backtrace => false    :bulk_threshold => 1000REMOTE SOURCES:    https://rubygems.org/

While that might be fine, my personal preference is to keep the core system as close to default as possible. I once ran into an issue keeping Jekyll up to date, so now I use the excellent Homebrew to install an updated version of Ruby and keep the gems in /usr/local, which is entirely mine and safe to write to.

brew install ruby

Also, I make sure that /usr/local/bin is called before /usr/bin in my shells PATH variable.

export PATH=/usr/local/bin:~/Unix/bin/:$PATH

Now I can call gem install iStats and the gems will be installed safely, keeping my core system clean and my gems easily updatable.

  1. As Rob points out, this is apparently not associated with iStat Menus↩︎

Beware of VPNs

I’ve seen quite a few smart people recommend using a VPN service in the wake of the U.S. government’s decision to repeal privacy rules for ISPs. Unfortunately, I find this advice to be a bit misguided, or at least ill-informed. You can move your risk around, but in the end this comes down to an issue of trust, and avenues of recourse.

A VPN is a Virtual Private Network. It creates an encrypted tunnel between your computer and a remote server, and then optionally routes all of your Internet traffic through that tunnel. The case for using one for security against your ISP is that if your traffic is encrypted, they can’t see what you are browsing to and your data becomes useless to them to sell. Once your traffic reaches the other side of the VPN, it’s aggregated with all of the service’s other customers. That’s fine, and mostly makes sense, but if you are going to use a VPN service it’s important to come to an honest conclusion about how much you trust the company.

If your VPN server is outside of the United States, you are effectively giving up any legal recourse against the provider, meaning they can do whatever they want with your data, regardless of what they advertise or what they tell their customers. A single gateway for all of your traffic has a tremendous amount of power. They can inject code into any (non-SSL encrypted) web page. They can read all of your email. They can see all of the URLs you visit. All of the power of your ISP, you are transferring to your VPN provider, but if you choose a company outside of the United States, you lose whatever protection or recourse you have now.

What the ISPs are doing is not right, but at least we know what they are doing. If you pick a fly-by-night VPN service and send them all your traffic, there’s no telling what they’ll do with that data. It doesn’t matter if they post good things on their website if you can’t verify their claims.

Philippians

The book of Philippians is such a beautiful, and challenging book. This is what I needed to hear tonight:

Do all things without grumbling or questioning, that you may be blameless and innocent, children of God without blemish in the midst of a crooked and twisted generation, among whom you shine as lights in the world, holding fast to the word of life, so that in the day of Christ I may be proud that I did no run in vain or labor in vain.Philippians 2:14-16

I admit I’ve done quite a bit of grumbling and questioning the past few days. On the next page, I saw I had this passage marked:

Rejoice in the Lord always, again I say rejoice. Let your reasonableness be known to everyone. The Lord is at hand; do not be anxious about anything, but in everything by prayer and supplication with thanksgiving let your requests be made known to God.* And the peace of God, which surpasses all understanding, will guard your hearts and your minds in Christ Jesus*.Finally brothers, whatever is true, whatever is honorable, whatever is just, whatever is pure, whatever is lovely, whatever is commendable, if there is any excellence, if there his anything worthy of praise, think about these things. What you have learned and received and heard and seen in me–practice these things, and the God of peace will be with you.Philippians 4:4-9

  • “… you shine as lights in the world…”
  • “… And the peace of God, which surpasses all understanding, will guard your hearts and your minds in Christ Jesus”
  • “…and the God of peace will be with you.”

God of peace, guard my heart and my mind, and let me shine as your light in the world.

The Life We Live

My daughter’s cheerleading coach passed away last night. What was first thought of as diabetes turned out to be an extremely aggressive cancer that took her after only a few months. She was only ten years older than my wife and I. Her family, and our community, will be grieving deeply for her loss.

I know my daughter loved her, and when those we love die they take a part of us with them. Our family has lost parents and grandparents, close friends and people we admire. The pain of their loss can hit any one of us at any time; triggered by a date, or an object, or a memory of how they used to enjoy one thing or another. Sometimes we long for the comforting sound of their voice so much it aches inside us. When they are gone we wish for what everyone wishes for, more time.

But, despite my skepticism, despite my scientific, rational mind that often cries out for reason, I have to believe that there must be something more than this, that when the shadow of reality shimmers away, as it will for all of us, our consciousness, our soul, lives on. While we are bound to our physical bodies in the physical world, we can’t see it, but it’s there, waiting for each of us. The Bible tells us that each of us is given a certain number of days, and no one knows what that number is.

Our life is so short here, and the human body so fragile. Every second that passes is a second we can never get back. No amount of work or bartering can earn us even a minute more of our life back. But… we can make the passing of our time more worthwhile.

The Bible says that to gain eternal life, you must believe that Jesus is who is says he is and did what he said he did. But after that, what does it say about the time between salvation and eternal life? It says to love God with all your heart, mind, and soul, and to love your neighbor as yourself. It says to love your enemy, and bless those that persecute you. It says that God is love.

If we fill our days with kindness and mercy, if we leave petty ambition and envy behind, if we forgive slights against us, and smile in the face of adversity, if we stand up for what’s right, if we are honest and true, if we leave laziness and sloth behind us, if we give ourselves over completely to the task at hand, leaving nothing behind, wouldn’t that be a life well lived?

How will you finish the race? How will I? When the end comes for me, will I be able to look back satisfied that I spent my precious seconds the best way I could? Or will I be filled with regrets for the things I did and didn’t do? Am I pushing myself to become what I was placed on Earth to be? Or am I stagnating, inventing excuses and becoming bitter about why I can’t do one thing or another.

There will always be things you’d like to do, but can’t. Hard decisions and tradeoffs for what you believe is best for yourself and your family. Make the decision, embrace it, believe it, and move on to the next right thing to make this one, beautiful, precious life worthwhile.

Learn, build, grow, love. Be kind, gentle, patient, and enduring. Find joy in the moments we have, because life is here for a moment, and then, gone.

Eero and Disney Circle

tldr: If you have a Circle device and an Eero mesh network, plug the Circle into the Eero connected to your modem with an ethernet cable.

The router I bought last year just wasn’t cutting it anymore. Several times a day I’d have to turn off wifi and turn it back on again on my Mac, and I’d rarely see speeds over 12 Mbps, even though I’m paying for 100 Mbps from Mediacom. Part of it had to do with the placement of my desk relative to where the router sits, and part of it has to do with running my Mac in clamshell mode through most of the day. Whatever the reason, I was tired of it and splurged for a set of three Eero routers. Now I have one in the basement next to the modem, one in the office, and one in the kitchen, and I consistently get speeds around 70-80 Mbps from fast.com.

I was quite happy with my setup, until random devices on my home network suddenly stopped connecting to the Internet. First it was the Apple TV, then the Fire TV, then my daughters laptop, then my other daughters iPhone, then my iPhone, and when it got to my wife’s iPhone something had to change. Of course, I knew the culprit had to be our Circle from Disney.

The Circle is a little white box that sits on the network on controls access. It blocks content that we’d rather not have, and sets time limits, bed times, and reward systems for the kids. We have all the devices assigned to their owners and what we think are reasonable rules setup. For some reason when we hooked up the new routers I thought it’d be a good idea to move the circle out into the office; I guess I wanted to be able to see it. I sat the Circle next to the office Eero and assumed everything would be fine. It was not.

As I understand it, the Eero works by creating a subnetwork underneath your home network that is dedicated to the routers staying in contact with each other. Eero calls the software that manages the the system “TrueMesh™”, and it lets a device float between routers in the house without slowing down network speeds. The Circle works by using a technique called “ARP poisoning”, where the Circle becomes the default gateway on the network, allowing it to manage the traffic.

So, my theory is that when I set the Circle next to one of the satellite Eero routers, the Circle connected to the closest router and spoofed the default routers ARP address, which caused the router to not be able to communicate with the real default router, breaking the mesh network. Moving the Circle back to the basement and physically connecting1 it to the primary router solved the problem.

I should mention that the Eero also has parental controls similar to Circle’s built in. I haven’t fully explored them yet, but from what I can tell they don’t quite have the feature set of the Circle. Future software updates might change that, I’ll be keeping an eye on it.

Overall I’m quite happy with both the Eero and the Circle. While expensive, the combination of the two gives me a fast, robust home network with detailed controls over who and what connects, what they have access to, and for how long. 2

  1. Documentation for the Circle says that if your home internet speed is higher than 60 Mbps you should use the ethernet port. They probably don’t have a radio in the Circle strong enough to support faster speeds. ↩︎

  2. Also, don’t forget to dust your Eero regularly. ↩︎

Nirvana

In Nineteen Ninety-One, I was a freshman in high school, living in a tiny house in small town Montana. Just me and my mom. My family, like so many at the time, had fallen apart. We had moved around a lot, I felt odd and out of place. I was angry, full of teenage angst, and generally pissed off at the world for the hand it dealt me.

Somehow I had talked my mom into letting me have a TV in my room, and I used to stay up late at night to watch MTV broadcast the videos they deemed too weird for the standard days fare. It was one of those nights I saw and heard something new, something fresh and raw,Nirvana’s Smells Like Teen Spirit. It blew me away. Apparently I wasn’t the only one either, because soon after I first saw it the rest of the world discovered Nirvana as well.

It’s hard to overstate the impact Nirvana had. They really were something different, at least to me. A melding of punk and pure rock-n-roll, three guys in a garage belting their rage into the abyss. To me, the kid that I was, Nirvana was the complete opposite of the popular butt-rock of the time. I mean seriously, look at these guys.

I remember offroading in the backwoods of Montana, my friend driving way too fast in his S10 pickup, playing Lithium as loud as it would go, and the both of us howling with delight as we launched the pickup over another hill.

Nirvana led me to Pearl Jam, Soundgarden, Screaming Trees, Smashing Pumpkins, Blind Melon and so many more. They opened up the world of music to me by channeling what they felt through what they created, and I got it, because I felt that way too. Of course the lyrics of Smells Like Teen Spirit didn’t make any sense, but they didn’t have to, the world we were awakening to didn’t make any sense either. All we could to do was rage, rage, rage.

But not all the time. There were times of reflective introspection, easy, hopeful times of mindless joy, quiet times with the best of friends. A few years later, after the candle had burned so brightly, the light was put out.

Nirvana spoke to me in a way that nothing else did at the time. Nowadays I never listen to grunge, I mostly prefer jazz and classical. I also can’t say that the bands message is something I believe in now. I’ve moved on.

On Computing Tomorrow

I’ve been thinking more about my defense of the Mac as a long-term computing platform, and I’m slowly coming around to understanding that at the base of my ideas is a type of willful ignorance that I should know better than to indulge in. The world is changing, computers are changing, and how we work and interact with them is changing drastically. To get to the root of this, let’s follow the five “whys” of why I need a Mac to work.

I need a Mac to get my work done. Why?

Because the Mac is a Unix based computer that includes the standard set of tools I use day to day, and it’s solid and reliable enough for me to depend on to work well when I need it.

Why do I need a Unix computer to work?

Because I’m a devops engineer, or automation engineer, or advanced sysadmin, whatever you’d care to call this job at the moment. I work primarily with AWS, and the best tools for building the automation systems for deploying our applications use the command line. Not to mention I often need to ssh into a server to troubleshoot it.

Why does the AWS environment use the command line?

Well, technically the command line is just one of the tools available, the awscli tools talk back to the AWS API, and AWS has SDKs available for popular languages. I could, and often do, write python code to accomplish what I need done. I suppose the real answer to this question is that there is currently no better interface for doing what I do.

Why is there no better interface for doing what you need to do?

Because designing human interfaces that make sense is difficult, especially with complex concepts. We need to be able to express logically that one bit of code needs to pull data from another bit of code which is pulling data from a database, all the while ensuring that the customer is getting the information they need quickly and easily.

Why are the systems you work with so complicated?

That’s a good question. Maybe they don’t need to be, or maybe in the near future they won’t be anymore. My work involves manipulating data, building websites that allow people access to upload and download data, and ensuring that the infrastructure these systems run on remains fast and available. How much of this is now being built into platforms like AWS, Azure, and Google Cloud Platform? How much of what I do each day could soon be accomplished by machine learning?

What if you could ask your phone to generate a graph of Apple’s annual profit and loss, and be sure that the visuals it returned were accurate and reliable? What if I could tell an iPad to build a highly available, auto-scaling infrastructure for hosting the Python code in my git repository, and the iPad would just go out and build everything I needed? How far are we from AI being able to tell from looking at a git repo the details of the infrastructure it needs? In that scenario, what use is “devops” when the engineer is AWS? For that matter, how far away are we from telling the computer the logic of what we need and having it develop the code for us?

Possibly not far. A recent article in Wiredexplores this very possibility:

Traditional coding won’t disappear completely—indeed, O’Reilly predicts that we’ll still need coders for a long time yet—but there will likely be less of it, and it will become a meta skill, a way of creating what Oren Etzioni, CEO of the Allen Institute for Artificial Intelligence, calls the “scaffolding” within which machine learning can operate.

That scaffolding is where I’ve been aiming my career for quite a while now, but, it may not be enough.

In the long run, Thrun says, machine learning will have a democratizing influence. In the same way that you don’t need to know HTML to build a website these days, you eventually won’t need a PhD to tap into the insane power of deep learning. Programming won’t be the sole domain of trained coders who have learned a series of arcane languages. It’ll be accessible to anyone who has ever taught a dog to roll over. “For me, it’s the coolest thing ever in programming,” Thrun says, “because now anyone can program.”

Basic economics says that scarcity creates value, in a world where anyone can program the skill currently required would be drastically devalued. This predicts a move from “infrastructure as code” to “infrastructure as algorithmically determined”.

I need a Mac for what I do now, but if current trends continue I might not need a Mac for much longer to do my job. In fact, as the tech industry continues to evolve, it’s entirely possible that it will evolve to the point where it no longer needs me. When that happens, maybe I’ll finally open up that coffee shop I’ve been dreaming about for decades.

Future Viability of the Mac

Despite aspirations of expanding my fields of interest and adopting new hobbies outside of technology, my day-to-day work gets done on a Mac. I’ve got a vested interest in the Macs continued survival, I’m one of those “truck drivers” that uses their machine for all it’s worth, and would have a difficult time transitioning to anything else. In my job I need to run shell scripts and build Docker containers, I need to ssh to Linux servers and RDP into Windows instances. I need to write, edit, and run Python code that connects to a database through a ssh tunnel. I need to do things that are either difficult or simply impossible with iOS, but are dead simple1 with a Mac.

That’s why I switched to a Mac in the first place, someone had finally put a useable interface on top of a solid Unix core. The Mac community, especially the third-party developers, is why I stay on the Mac. I could get my work done on Linux, but my Lord, why would I want to? My degree is in human-computer interaction, I’d spend half my time ranting about the thousands of paper cuts in the user interface until I abandoned the GUI and ran everything from the command line, or a stripped down paneling interface. I’ve been there before. The Mac is a comfortable work environment that doesn’t skimp on capability like iOS does. Look deep enough into any of the iOS only workflows and nearly all of them are relying on outside computing devices of some type to get around what iOS can’t do.

But today we are once again hearing the death knell being rung for the Mac. This time it’s not because of an outside source taking over, but Apple itself who might simply decide that the Mac isn’t worth keeping around anymore. This is despite it being a profitable business, and being the sole source of development for iOS apps, and despite it being an industry leader in features and design, the tech media have decided that Apple is only a breath away from blowing out the Mac candle forever.

Well, we’ve been here before, right? It was before my time as an Apple user, but it’s my understanding that in the late ‘90s you couldn’t swing a dead cat without hitting on an industry “think piece” about the death of the Mac. Yet, here we are at the dawn of 2017 and the Mac is still here.

That’s not to say that it isn’t entirely possible that Apple might kill off the Mac Pro, or the Mac Mini. I wouldn’t be too surprised if neither of those products existed by the end of the year. But a new macOS-running computer of some sort is something I expect to be able to buy for the next three years, at least.2

Assuming the current Mac I’m typing this on lasts for the next three years, which it should unless I break it somehow, my next Mac should last for another estimated three to five years. Let’s just say I draw this out as far as I can and say five, that means I’ve got at least eight years of Mac use easily planned for the future. Which of us can look that far into the future and see what the computing industry or our lives will look like by then? Perhaps the iPad and iOS will finally have matured enough to make Macs truly obsolete, or perhaps my work requirements will have changed sufficiently to make adopting iOS full-time relatively painless. Who knows?

The point is, all this handwringing over the future of the Mac is overblown. We have years of macOS ahead of us. Apple is selling some fantastic Macs right now3, and I expect they will continue to do so for the foreseeable future. Until iOS actually is better than the Mac, there’s no reason to think that any of us will have to adopt our toolset to another platform. The Mac is here, has been here, and from what I can see, will continue to be here for many years to come.

  1. Well, dead simple in the sense of “if you have nearly two decades of Unix experience under your belt”. ↩︎

  2. If not for the rest of my working life. ↩︎

  3. And some very poor ones, I’ll give you that. ↩︎