New home network

A couple of weeks ago, I switched our cable TV and internet service provider from Wide Open West to Comcast, mainly because WOW’s internet service had gotten terrible and their customer service was, if anything, worse.1 With the new service came a gigantic multipurpose modem/router/phone/wifi device (this one) for $10/month. I had Comcast go ahead and install this behemoth because I wanted my new service up and running as quickly as possible, and I figured letting them put in their standard stuff was the best way to achieve that. After I knew everything was working right, I could do some research, assemble a new system, return the big black box to Comcast, and reduce my bill. That’s what I did yesterday and what I’m going to talk about today.

Here’s my original setup.

Original home network

The cable modem was whatever WOW had given me, the router and switch were 10/100BASE-T devices, and the Apple AirPort Extreme was a Model A1143. The system hadn’t changed in a decade. Back in the 90s, I’d run Cat-5 wiring throughout the basement and to a few strategic locations elsewhere in the house. All of that wiring was still in place, but only some of it was still in use. The main devices still wired were a Brother laser printer in the basement, a PlayStation in the basement, a TiVo on the first floor, and the AirPort Extreme on the first floor.

The hub up in the attic hadn’t been used for anything since the AirPort was installed, but it’ll play a role later, so I’ll mention it here. It was serviced by a Cat-5 cable that I’d dropped down a cold air return duct that ran from a second floor bedroom straight down to the basement. I’d punched holes in the top and bottom of the duct so a single wire could run from the basement router up into the attic. That wire connected to the hub, which in turn fed wires down to outlets I installed in each of the four second-floor bedrooms. I was still ambitious when I was in my 30s.

Anyway, this system worked reasonably well despite having only one WiFi transmitter. The AirPort Extreme was centrally located on the first floor and did a decent job of reaching the second floor bedrooms and the back patio. It was acceptable, though, mainly because our speeds from WOW were anemic. That was about to change.

When the Comcast installation was done, we had a hybrid system with a new WiFi network from the giant router in addition to the old one from the AirPort Extreme. Here’s what it looked like:

Interim network

The new WiFi network was giving speeds of 80–90 Mbps2 when you were in a spot with a good signal. The old WiFi network topped out at about 50 Mbps. I’m not sure why that is, as the AirPort Extreme should have been able to hit at least 200 Mbps, but that’s what I found. I didn’t feel like digging into it because I knew the old system was on its way out.

Despite the Comcast WiFi router being in the basement, it provided a pretty good signal on the first floor and even in a limited area (directly above it) on the second. But it wasn’t good on the back patio or out near the edges of the house on the second floor. And the AirPort Extreme, which I could’ve reconfigured to act as a bridge for the new network, wasn’t going to cut it, either. I decided the best way to handle the whole house was to start from scratch with a mesh WiFi system.

I can’t say I spent a lot of time considering the choices. I knew about Eero, Google WiFi, and Orbi and had pretty much decided on Eero because everyone who had one raved about how easy it was to set up. I no longer have the patience to spend hours struggling with incoherent instructions.

I hope the podcasters I listen to aren’t offended that I didn’t use their offer codes to buy directly from Eero. Their codes would give me free overnight shipping, but buying the three-pack from Amazon got me $50 off and two-day shipping with my Prime membership. Still, Eero should know its advertising money was well spent—it definitely had a leg up because of the many podcast ads I’d heard.

As for the cable modem, I went with the Wirecutter’s choice, the Arris SURFboard SB6183. And because I still have wired devices that won’t be near an Eero, I added a switch, the 8-port TP-LINK TL-SG108. So now I have gigbit ethernet controllers, a step up from the 10/100BASE-T I had before.3 I certainly don’t need Gigabit for my current external connections, but its nice to know the capability is there if I decide to put in a home server and start moving big files around.

Saturday morning I disconnected everything in the basement (it’s in a closet under the stairs) and hooked up the SURFboard and the first Eero. I had to call Comcast to register the new modem, which took longer than it should have, but once that was done the Eero configuration was as simple as everyone said it would be.

The setup is run entirely from the Eero app on your phone. It finds your first Eero, registers it (texting you a code to confirm the registration), and configures the network. It takes a few minutes, but there’s almost no work on your part, and there’s no need to worry about confusing network terminology or instructions written in ESL.

With the first Eero running, I connected the switch to the Eero and a handful of Ethernet cables to the switch. In particular, I wanted to make sure the TiVo and PlayStation had internet connections before I moved on. They did.

The next step was to put Eero number two on the first floor where the AirPort Extreme had been. Because I had an Ethernet cable available there, I wired this Eero instead of using WiFi. I then checked the connection speeds around the first floor and found them all in the 80–90 Mbps range.

The last Eero went into the master bedroom on the second floor. Setup was just as easy as the first two, and because the dresser I put it on was next to one of the Ethernet outlets I’d installed 20+ years ago, I wired this one, too. Now my network looked like this:

Eero network 1

Unfortunately, when I checked the connection speed in the master bedroom, it was only about 8 Mbps. Obviously there was a bottleneck in the system, and I assumed it was the old hub up in the attic. Rather than going up there to check, I decided to change the third Eero from a wired to a wireless connection. The Eero app doesn’t let you change the connection of a unit from wired to wireless, but the workaround is easy: use the app to remove the Eero from the network, then configure again from scratch it as wireless. That gave me the full 80–90 Mbps speeds over most of the second floor, but more like 50–60 Mbps in one of the extreme corners. Here’s the second iteration of the Eero network:

Eero network 2

As the day went on, the wired bottleneck began to nag at me. Although it made sense that it was the hub, I wanted to know for sure. So I hauled out the stepladder and went up into the attic to see.

The hub was a 10BASE-T device. Yes, that’s right. Not 10/100, just 10. Now there was a time when 10BASE-T was hot shit, but not by the time I put this in the attic. I must’ve had it lying around and decided my internet speed back then wouldn’t saturate it.

In any event, that explained the sub-10Mbps speed when the Eero was wired. I pulled out the hub and replaced it with the 5-port 10/100BASE-T switch that I’d taken out of the basement closet. I soon had the second-floor Eero reconfigured with a wired connection and had 80–90 Mbps throughout the second floor. This is the final network arrangement:

Eero network 3

Of course, there’s now a 100 Mbps bottleneck in the attic, but that won’t affect me until I upgrade my internet connection or install a home server. Neither of which are on the horizon.

One last Eero nicety I should mention: the Eero units typically have a white light that’s on when running normally. That’s not acceptable in a bedroom, but the app lets you control the light of each unit individually. Just get into a unit’s settings and flip the light switch off.

Eero light setting

I wouldn’t be surprised to find that other WiFi mesh systems are faster than Eero or have better range, but it fits my needs. And it is absolutely as easy to set up as everyone says.

  1. Comcast subscribers may now be chuckling to themselves and muttering about frying pans and fires. I knew going in how bad Comcast’s customer service reputation was, and in the two weeks I’ve been a customer, I’ve learned that was no exaggeration. Still, chances are you haven’t dealt with WOW, especially recently. I have war stories to tell about both companies, but that’s for another day. ↩︎

  2. For comparison, this was over twice what we were supposed to get from WOW and was an order of magnitude faster than what we’d been getting from WOW for the previous month or so. And Comcast is cheaper. Now you know why I was eager to switch. ↩︎

  3. Whether I can actually get Gigabit speeds internally is still an open question. The wiring I ran back in the 90s was all Cat-5, which in theory tops out at 100BASE-T speeds. But I’ve read that Cat-5 often gives speeds comparable to Cat-5e. At some point I’ll run some tests and see. If necessary, I can use the old cables to help me pull new ones. ↩︎

Slowing down with automation

I see four main reasons to automate a computer-related task:

  1. Speed. This is the obvious one that everyone thinks of. We’ll come back to it later.
  2. Consistency and accuracy. Little errors often creep in when you do a repetitive task by hand.
  3. Conservation of concentration. Multistep tasks can take your mind off of what you’re working on. I owe this insight to John D. Cook.
  4. Entertainment and satisfaction. Puzzling out an automation script is way more fun than Sudoku.

Last week, I created a one-off Keyboard Maestro macro in which Reason 2 overwhelmed Reason 1. So much so that the macro actually ran slower, on average, than doing the steps by hand.

I had volunteered to create a booklet for a school committee. All the pages were built as separate files in OmniGraffle, and the final steps to get the booklet ready for printing was to export all the individual pages as PDFs and then concatenate them into a single PDF to send to a local print shop. To have the printed book turn out as 8½×11 pages with printing bled out to the edges, each page was laid at 9×12 with crop marks near the corners. After I sent the file to the printer, though, she asked if I could regenerate the file without the crop marks—her software created its own crop marks and having two sets created interference.

Luckily, I had put my crop marks in a separate layer for each of the pages, so all I had to do was open up each page in OmniGraffle, make the crop mark layer invisible, and export as a PDF. With 28 pages in the booklet, this seemed like a natural for Keyboard Maestro, especially since exporting in OmniGraffle usually involves three button clicks all on its own.

But there was another wrinkle that I knew would come up. During the process of exporting, the Export sheet renders a small version of the to-be-exported items in the right half of the sheet.

OmniGraffle export sheet

For complex pages with many items, this rendering can take a few seconds. If my macro tried to finish the export before the rendering was complete, it would fail. So I put in a pause long enough to handle, I hoped, the most complex page.

In fact, pauses were needed at every stage of the export process to allow sheets and their controls to appear. This included the “There’s already a file named Page05. Are you sure you want to replace it?” sheet. The macro ended up with almost as many pause actions as action actions.

Delete crop marks macro

Using the macro was a three-step process:

  1. Open the OmniGraffle file for a page.
  2. Execute the macro by typing ⌃⌥⌘C.
  3. Sit on my hands to make sure they don’t jump to the keyboard to try to execute the steps themselves.

Every time I ran this macro, I felt certain I could’ve performed the steps faster myself. And for most of the files, I probably could have. But with 28 pages to export, I certainly would have messed up the steps at least a half-dozen times, leading to incorrect PDFs and the need to check every page carefully to make sure the right thing was exported. This was definitely a situation where the tortoise beats the hare.

One last thing. You may be wondering why I didn’t use Keyboard Maestro’s Pause Until action, which halts the macro until some condition—like a button becoming enabled—is met.

OmniGraffle Pause Until action

In theory, Pause Until actions would have allowed the script to run as fast as OmniGraffle would allow it to. The thing is, when I first started using Keyboard Maestro a few years ago I tried the Pause Until action in a couple of macros and found it unreliable. The macros would succeed or fail seemingly at random until I replaced the Pause Until step with a timed Pause. So I simply gave up on Pause Until and haven’t used it since. Again, the tortoise beating the hare.

I should give Pause Until another try, though, and see if Peter Lewis at Stairways Software has it working consistently now. While accuracy has to take top priority, I wouldn’t object to a little more speed.


Since the election, we’ve been hearing ad nauseam about how social media has put Americans in a bubble in which they hear only their own views echoed back to them. And while, the pundits say, this is true for both the left and the right, it was especially damaging for Democrats/progressives/liberals, who lost the presidency because they didn’t understand hard working conservative whites from the heartland.

Well. I’ve lived in the heartland my whole life. I’m white, male, middle-aged, heterosexual, a business owner, an engineer, and have been married for over 30 years to the same woman. All of these things tag me as conservative, and when I’m in a group of right-leaning people, they assume I’m one of them. I hear what they think because they assume I think it, too. There is no bubble sheltering me from the sexism, racism, religious intolerance, xenophobia, and economic ignorance of the right.

So forgive me if I don’t feel like inviting those same opinions onto my phone.


This morning, Ben Thompson tweeted out this:

Everyone looks at Google as the archetypical startup, but in fact they are a massive exception. Few succeed on tech alone, or first job.
Ben Thompson (@benthompson) Jan 15 2017 8:28 AM

Never mind the context, or whether Ben is right—that’s usually a good bet—what I focused on was archetypical. Surely, I thought, he means archetypal. So I looked it up in Terminology and found that it’s a real word, with a meaning that’s identical to archetypal.

Archetypical in Terminology

Merriam-Webster, which you can access from Terminology, says archetypical is less common than archetypal, which made me suspect it’s a mishearing that’s made its way into the language. So off I went to Google’s Ngram Viewer to see how the two words stack up.1

Archetypal ngram

Although archetypal is, as Merriam-Webster says, distinctly more common, archetypical goes back to the beginning of the 19th century at least. So if it’s a mishearing, it’s a mishearing with a long tradition.

Looking back at the Terminology entry, there’s another word I’ve never heard or used: prototypal. I’ve always used prototypical. What does the Google Ngram Viewer say about them?

Prototypal ngram

You can’t see it in the graph above, but if we replot the portion from 1800 to 1960, we see that prototypal used to be in common use. Prototypical took over during my lifetime.

Prototypal ngram 1800-1960

Using archetypal on the one hand and prototypical on the other, which is what I do and is clearly the most common, makes no sense. Maybe I’ll start using prototypal to accentuate my already considerable eccentricity.

  1. In theory, I could have embedded a live iframe version of the graph here that would allow you to mouse across to get specific data for each year, but I was unable to get the iframe to size itself properly.