jb… a weblog by Jonathan Buys

Veterans Day

November 9, 2017

I gave a talk at our school Veterans Day assembly today. I didn’t get everything I wanted to say in, but it seemed to go over well.

So, I thought an awful lot about what I wanted to say to you today. What message I could bring that would be of use to middle schoolers, and I want to talk to you about why you might want to consider joining the Navy after high school. Now, I’m not a recruiter, I’m not here to sell you some schickt or a bunch of meaningless jargon. I want to tell you what the Navy did for me, and what it could do for you too.

I joined the Navy when I was 18 in 1995, which probably seems like absolute ages ago to all of you, but it seem like yesterday to me. I was a rambunctious kid, bit of a troublemaker, you might say. And for me, at the time, college was simply not in the cards. I knew I needed to do something with my life, but I didn’t know what it was. I wanted to travel, and my dad was in the Navy when he was young and he went all over the world, so it sounded like a good idea for me too.

So, I signed up and shipped off to boot camp in Great Lakes, IL in October, graduated in December. After boot camp, I went to engineering common core, then I shipped off to San Diego for “A” school where I learned to be a machinist.

After San Diego I was assigned to the USS Platte, an oiler. We were a floating Caseys, a gas station for all the other Navy ships in the sea. We would pull along side another ship, the gunners mates would fire lines across to them, they’d pull the lines tight, and we’d run big hoses over to the other ship.

Then we’d just steam across the Atlantic pumping millions of gallons of gas over to the other ship. That was our job.

I went on two Mediterranean deployments during the three years I lived on the ship for six months each. During the deployments I visited Portugal, Spain, Gibraltar, France, Italy (spent a lot of time in Italy), Greece, and even went to Israel once. Back stateside we went to the Bahamas and the Virgin Islands once, and north to Nova Scotia once too. That was a blast, you can ask Mrs. Buys about that, she was there for that one!

Back then, and remember this was in the ‘90s, it was peace time, and we were an oilier, so keep that in mind, but we’d go from port to port, spending a week or two underway before pulling into port in another country for a few days. We’d get maybe a day to go explore wherever we were, sometimes go on an MWR trip or something. But, it was a blast, but it was also a lot of hard work. When you’re underway, there’s nothing better to do than to learn everything you can about the ship. And play cards. We played a lot of cards.

I got to travel, I learned that I loved the ocean, I was a firefighter on the ship, and I worked hard and became a radioman. It was an experience I’ll never forget.

After the ship I was transferred to a small joint-services command in rural England, six hours West of London in Cornwall called JMF St. Mawgan. This was a shore command that counted as sea duty for ship-shore rotation because it was so remote, but it was amazing. The Navy shipped our family over, and our Jeep, and we rented a farmhouse right outside a tiny little village. What we did there was… classified, and I was never sure if it was ever unclassified, so, we’ll just move on. I was a radioman and handled communications. The facility itself was underground in a building built to withstand a nuclear bomb. There were armed British guards at a big turnstile, then a long concrete tunnel, then you’d turn and it was another long concrete tunnel, then you’d come to a massive red 50 ton door, then a decontamination station, and then you would be in what was basically an office building.

We loved rural England so much we stayed an extra year. I spent four years there total, and it was another fantastic experience I’ll never forget. I was in England on 9/11. When everything changed. That’s a story for a different day.

Eventually, my tour in the UK came to an end and I had to move once again, this time the Navy shipped me all the way from lush green England to the high desert of Albuquerque, NM, where I was assigned to another special duty command, the Defense Threat Reduction Agency, which used to be the Defense Nuclear Agency. We built bombs, and they sent me every now and then up to the desert in Nevada north of Las Vegas to handle communications for testing these bombs. The base in Las Vegas was an Air Force base sectioned off into different areas that numbered up into the 50s.

After three years at DTRA, the Navy told me it was time for me to go back out to sea again. At this point, I had to stop and take stock of where I was in life.

I had joined the Navy 11 years prior with nothing but the shirt on my back. I was leaving with a family, a home, and the skills and confidence to build a career on. I looked at my young family and thought about all the long months out to sea and being apart from them, and decided that at this point I’d served my time, so I chose not to reenlist, and was honorably discharged in October of ’06.

This was meant to be a really short overview of my time in the Navy, but what I’d like for you to take out of it is that while I did work hard, harder than I ever thought possible for me, I also had some of the best times of my life in the Navy, and had experiences and went places that I never would have been able to otherwise. Navy life is unlike any other military service, or any other job.

Speaking of jobs,

No matter what kind of job you are thinking of going into when you grow up, there’s an equivalent in the Navy. The Navy is a microcosm of the United States, there’s people from all walks of life in the Navy. If you want to be a plumber, there’s a job for that. Computer programmer? There’s a job for that. Doctor? Yep. Mechanic, you bet! Construction? Absolutely, we call them the Seabees.

Don’t get me wrong, when you sign that dotted line to enlist in the Navy you are putting your life on the line. The shipboard environment is hazardous, and our ships are targets for our enemies. I’ve made, and lost, the best friends of my life in the Navy, and I’ve had friends who’ve suffered debilitating injuries. Life on the ocean is for the brave.

Being a sailor is an old service with old traditions. The Navy needs sailors to man the ships, and the ships of the United States Navy make up the most massive display of military power the world has ever known. It was an honor to be part of it. But more than that, more than flag waving and patriotism, if you want to be pragmatic about starting your life out on the right foot, the Navy is unique. You travel and serve, you do what you’re told when you’re told to do it. You learn just how hard you can work, you learn how to deal with emergencies and life-threatening situations. You learn, by pushing yourself further than you think you can go and rising to the occasion, just how deep your strength really goes.

I joined the Navy in 1995 with literally no possessions but the shirt on my back. I left eleven years later with a family, a home, and a profitable career path. Not everything has been roses and unicorns, but thanks be to my savior Jesus, I’m blessed more than I have any right to be. I owe that to the Navy. When I enlisted I signed a dotted line that I was willing to lay down my life for my country, but at the time the only country I was thinking of was a country of one… me. But what I learned in the Navy was that I wasn’t putting my life on the line for myself, I was doing it for my shipmates, for my family, for my kids. I put my life on the line because the country that let a dirt poor troublemaker from a Montana reservation rise up the ranks to be a respectable homeowner is worth defending. Because in America, where you were born does not dictate who you have to be. Your family name, your race, your checking account balance… none of that matters more than how hard you decide to work. You can wallow in your disadvantages, or you can rise above them. In America, you are not born who you were meant to be, you make your own destiny.

Do we have problems? You bet we do. Big ones. But you can’t help solve them until you solve your own. You might find yourself someday in the same position I was at 18. Listless, restless, no direction. In that case I hope you remember this, that I was once like you, and what worked for me, might work for you too.

And along the way you might find the best friends you’ve ever had, you might meet the love of your life, and you just might find a deep sense of patriotism that goes beyond waving a flag or slapping an eagle sticker on your bumper. I joined the Navy for selfish reasons, what I learned was that we did what we did for each other. For the man or woman standing next to me holding the line, fighting the fire. To keep the people we love safe, to maintain our way of life, a veteran put his life on the line.


Two Months With iMac Prime

November 8, 2017

The 27” iMac 5K is unquestionably the best computer I’ve ever owned. After two months of daily use, for twelve to fourteen hours per day, I can say without reservation that this machine is fantastic. Obviously, I’m late to the bandwagon on this, better reviews than what I would write have already been written, and although those reviews are from 2014, they hold up well enough for the 2017 upgrade too. The screen is beautiful, like a massive glossy magazine. The machine is fast enough so I nearly never have to wait. Basically, it’s everything I need from a computer.

What I Love

Having a desktop computer that is always on has benefits. My mail rules always sort my inbox. I have SuperDuper! setup to automatically clone my internal drive every weekday after Energy Saver wakes it up. The internal SSD is big enough that I’ve got all of my data downloaded and stored locally.

The iMac survived The Great Port Purge so far. So on the back of my screen I’ve got all the connections I need, including four standard USB ports and an SD Card slot for my camera. Three of the USB ports are taken up by my ScanSnap scanner, my time machine backup drive, and the SuperDuper! clone drive. The fourth is open for when I need to charge an accessory.

The two drives are held up by a Twelve South Backpack so they are out of the way and I don’t have to see any cable mess. That keeps my desk clean and my fussy mind focused.

In many ways I feel like the iMac is the last computer that Apple is shipping that’s not compromised to the point of suffering usability, reliability, or both.

The latest Magic Keyboard is great. Like others who’ve become accustomed to the new style of keyboards, every other kind of keyboard now feels like a mushy mess to me. This new one is crisp and precise.

What Could Be Better

Using the Magic Trackpad 2 is not the same as using the trackpad on a MacBook. I’ve had a hard time dragging things from one spot to another, like if I want to drag something from my desktop to a folder. I’ll click with one finger, then start dragging with another, and for some reason sometimes that drag just doesn’t happen. This might be a combination of a new Mac and a new operating system, it might be because I haven’t gotten the feel for it yet, but whatever the problem, it’s been frustrating.

The screen is so big that it takes more than one operation to move a file from one spot to another. That sounds like the firstiest of first-world problems, but it’s a real enough issue that I broke out my old mouse at one point. I’m still getting used to the trackpad, but so far my opinion of it has not been high. Perhaps it will improve with use. The multitouch gestures like five-finger swipe to show the desktop work well on the large trackpad, where the MacBook trackpad was always too small, and swiping from the edge to show the Notification Center works well, as does swiping to go back and forward in Safari. It’s a mixed bag.

This Saturday I’m packing up the iMac and bringing it to the Apple Store for repairs. I found a big, ugly, dead pixel center-right of the screen. When it’s up against a white background, like this text editor, it looks like a speck of dirt and I feel like I should wipe it off. But, it doesn’t go anywhere. So, although I’m loath to have anyone crack the seal on the Mac, I can’t go though the next several years staring at this dot.

Recommendations

If you, like me, spend a significant amount of time in front of a computer, I can’t recommend the iMac highly enough. It’s a beautiful work of art, designed to live in your home or office, and it’s also a powerful workhorse that can keep up with the most demanding tasks. It’s hard for me to recommend any other Mac in the Apple lineup right now to anyone but early adopters or those with enough technical savvy to work around the MacBook and MacBook Pro limitations. I’m hoping in another revision they’ll have some of the issues with the keyboard worked out, and maybe even throw in an extra port or two1. For me, this iMac is exactly what I need.

  1. Not likely. 


My Favorite Things About Fall 🍁🍂

October 26, 2017

Top Four is one of my favorite podcasts. Possibly my number one, although its probably tied with ATP and The Talk Show. It’s a strong contender. Marco and Tif Arment chat about some random group of things, and attempt to rank said things, usually failing because they can’t make up their minds. It’s adorable. It’s clear that the two of them are having a good time, and listening always makes me laugh.

In a recent episode the pair ranked their top four favorite “Fall-tivities”, things to do in the Fall. They named a few things I’d never heard of, like pumpkin blazing, which sounds like a lot of fun, and talked about the corn mazes in the Northeast, which for some reason sound bigger than ours here in Iowa. A travesty if true.

Listening to the podcast put me in the holiday mood early this year, and since it’s good to think about good things that make us happy, here, in no particular order, here are a few of my favorite things about Fall.

  • Flannels, sweaters, and jackets
  • Getting a chill outside and coming inside to warm up under a blanket with a hot drink
  • Apple pie
  • The smell of cinnamon and spice in the air when baking said apple pie
  • Also pumpkin pie
  • Pumpkins on peoples porches
  • The leaves changing color and falling
  • The holiday season is coming, Halloween, Thanksgiving, Christmas, New Years 🎁🎉🎊
  • Getting up before the sun comes up and going outside to look at the stars
  • Soups, stews, and chili
  • Smores in the backyard over a fire, just because.
  • Football and Fall soccer seasons
  • The long, hot, miserable summer is over. The seasons change, life goes on.

Fall is by far my favorite time of the year. The grass stops growing, but we don’t have snow yet. The days get shorter, but there’s still plenty of sunshine. Time to break out the gloves and hats and scarves. Time to bake some cookies and carve a pumpkin. Run a little later in the day, and enjoy it more because the temperature is perfect for running in long sleeves. Go for a hayride, have a bonfire, dig the decorations out of storage. Put our petty differences aside and remember that we are all neighbors. Give, laugh, love. Fall is the best.


The City Museum

September 29, 2017

I’m in St. Louis for the Strange Loop conference, and the conference kicked off last night with a party at the City Museum. I didn’t bother to look into the museum much before I came. A few friends told me a bit about it, but it wasn’t enough for me to really understand what the museum was; the City Museum isn’t a museum, its a mad amusement park.

I heard from another conference attendee who’d been there before that the museum was the product of a single person’s desire to make something out of an abandoned building. A mad genius. I describe exploring the museum like going through someone else’s code… you’re always finding things that make no sense. Why is there an airplane on scaffolding outside? Why are there two? Why is the only way to get to the plane through a maze of metal steps and tunnels? Why is the basement built to look like an underground cave? From the insect display to the collection of Italian movie posters to the human-sized hamster wheel, the City Museum makes no sense. It’s an eclectic collection of amusing things. Five stories of collected randomness.

My friend fulfilled a lifelong dream of falling into a ball pool. There was a live band playing on the first floor, board games on the second, food and drinks on the third, and mazes everywhere. There are two massive bank vault doors connected to a hall of mirrors that leads back to the hamster wheel. There are statues of whales, gorgon heads in a fountain, HO scale model train with flying dragons breathing fire, stairs that don’t lead anywhere and slides that go for several stories.

I’m not sure how “safe” the museum is, or how it manages insurance. The structures I climbed on all seemed sturdy enough, but I did wonder at times how old they were, or when the last time they were inspected was. My original plan was to walk to the museum, grab some food for dinner, and walk back to the hotel, mainly ignoring the festivities and the museum. I’m glad I stayed for a few hours.


Running Again

August 29, 2017

At the beginning of Spring, I signed up for two races, the half-marathon Dam to Dam in the summer, and the full Des Moines Marathon in October. This was my second half, but I’d never come close to a full marathon, so signing up for it was aspirational motivation. I was training with a group running long on Saturday mornings, so as the time for the half approached and I started thinking about the full, I was feeling more and more confident that I would actually be able to run it. Then I ran the half, and things went wrong.

It was hot. Not ridiculously so, but it started out in the 70s and went up from there. I probably would have been fine, but I wore my long Under Armor pants under my shorts, mistake number one. I started out at a good pace, but too good, running at around 8:30 or so, which for me is pretty fast, even when I’m at peak training. Mistake number two. The first few miles were fine, but around mile four or so the sun beating down started to take its toll. I stopped at every water station to take a drink. Around mile six I started taking an extra cup to pour on my head. Mistake number three.

Mile seven I hit The Wall. I hit it far too early, I was only halfway done. The water I had been dunking on my head soaked my shirt, which started chafing and I started to bleed. I was absolutely ready to quit. I saw quite a few other folks on the side of the road who’d given up or pushed themselves too hard and collapsed, needing medical attention. I’d stop and walk, then jog, then walk, then jog, pushing and pushing to get through the race. It was a struggle. It was hard. I was miserable.

Some days I can get out and knock down ten miles and feel great during and after the run. Sure, I’ll feel exhausted, my legs will feel tired, I’ll be breathing heavy, but inside I’ll still have energy, I’ll still have that spark of joy that makes running worthwhile. At the Dam to Dam, I lost that spark. I dragged myself across the finish line, got my finishers medal and went to find my friends I drove up with. While they agreed that the run had been one of the worst, they had finished far in front of me. It felt like my months of training had all gone out the window. I thought about the full marathon in the Fall, but the seed of hope that I’d fostered during the training leading up to the half was gone.

The week after the half I ran a local 10K, finishing first in my age group (being the only one in my age group), and then started training on my own for the marathon. I was on mile six of a ten-mile run when I gave up. My run out was great, my run back turned into the same kind of slog I experienced in the half, and what was left of my resolve to keep running dissolved. I went home and told my wife I was done. She thought it was probably the best thing for my knees.

My wife and I joined an early morning workout class, and I realized that all my running had done little for my overall health. The women in this class were out-punching, out-kicking, and out-squat-jumping me through the entire class. I’d built up endurance, but my overall strength and physical ability had floundered. This class kicked my ass.

At first, it actually felt great not to have a long weekend run to be anxious about during the week. I slept in on Saturday, had too big of a breakfast, and generally loafed around the house. I was getting into the workout class two to three times per week, so why not? Over the weeks that followed I slowly started noticing something in myself. I was more agitated, I became frustrated more easily. Something was wrong. Missing.

While the workout class pushed me physically in ways that I was not accustomed to, the loud pounding music and group environment didn’t allow me the quiet, personal time that was the primary reason I ran in the first place. What was missing was the meditative experience running provides, the feeling of doing something by yourself, for yourself, where you can literally run away from everything for an hour.

I quit running because I forgot why I ran in the first place. I’d had a bad run and thrown in the towel, and this created two problems for me. For one, I was missing out on the benefits to my mental health. Running helps me put everything in life in perspective, it gives me goals to work towards, it clears my mind. Secondly, I gave up on something I said I was going to do, which I felt violated my personal integrity. I noticed that whenever I thought about the marathon I felt, bad. A tinge of guilt. The same feeling I get when I think about my failed software company, Farmdog. I’d given up on something that I am. I’m a runner.

I can’t have that.

I decided to start running again after reading an article in Runners World about pushing through the hard things in life. The author said, paraphrasing, that we run because it’s hard. When we overcome the hard runs it prepares us to overcome whatever other difficulties life throws at us.

This morning I strapped on my phone, put on a podcast, and had the Nike app track a 20-minute run. I’m easing my way back into the habit, but with fresh eyes and a new habit to mix into my runs. I’m keeping up pretty good with the rest of the crew at our morning kickboxing workout now. Although there are some workouts where I’m ready to quit after 15 minutes, by the time we hit the 45-minute mark I’m feeling pretty good. I’m positive that the workouts will help with an overall total-body approach to health, but I’m going back to the road for my mind. I’m too late to start training for the full marathon this year, but I’m not giving up. I’m just saying, “not yet”. I’m still a runner.


Serverless Jekyll Hosting on AWS

July 7, 2017

This is a bit silly, I’ll be the first to admit. The contraption I’ve built to host this site is clearly unnecessary, especially when I could host the site on Github for free, with very little effort, but I was curious, so down the rabbit hole I went.

I thought it would be interesting to host my site on S3. The site is entirely static, no database back end or dynamic programming required to generate the site, it’s just HTML, CSS, and Javascript. I also wanted to understand the AWS CodeBuild service, and how I might be able to use it for other projects.

There are four components of this system: Github, which hosts the code for the state. The domain name is registered and managed through Route53, where I’ve configured an “A” record as an alias to point at the S3 bucket which hosts the site. Finally, CodeBuild is the glue which pulls the code from Github, runs jekyll build, and pushes the site to S3.

CodeBuild works by starting a Docker container and pulling the repository down. It then looks for a file named buildspec.yml which contains the instructions to build the project. This file contains arbitrary Linux commands, whatever you need to build your code. Mine looks something like this:

version: 0.2

env:
  variables:
SITEBUILD: "yes"
phases:
  install:
commands:
apt-get update -y
  pre_build:
commands:
gem install bundler
    bundle install
  build:
commands:
echo Build started on date
    bundle exec jekyll build
    aws s3 sync _site/ s3://jonathanbuys.com
  post_build:
commands:
echo Build completed on date

The interesting thing about this system is that I could replace Jekyll with Hugo, Hakyll, or any other static site generator, even my own scripts, and the system would stay the same. I’d just need to update buildspec.yml with the new commands to install the right tools and build the site. Hosting costs so far have been pennies, my cost this month might reach $1.27, and for the past couple months the cost has been below one dollar.

I’ve been considering making this system more user friendly and monetizing it somehow. There’s a business model to be had in here somewhere, if I care to pursue it. Even though blogging in general appears to be in somewhat of a decline, publishing platforms will always be needed.


Recommending a New Mac

May 24, 2017

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

May 16, 2017

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

April 26, 2017

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.1
RUBY VERSION: 2.0.0 (2015-12-16 patchlevel 648) [universal.x86_64-darwin16]
INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
EXECUTABLE DIRECTORY: /usr/local/bin
RUBYGEMS PLATFORMS:
    ruby
    universal-darwin-16
GEM 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.0
GEM CONFIGURATION:
    :update_sources => true
    :verbose => true
    :backtrace => false
    :bulk_threshold => 1000
REMOTE 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

April 4, 2017

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.