• Categories

  • Wayback Machine

  • My Defunct Podcast

    The Bungee Line was an audio podcast for web developers, covering web API's, software development, and the creation of richly interactive web applications.

    podcast feed  Main Feed

The Saga of Brad’s Lamps

Brad leaves his office lights on. It bugs me.

I’m talking about Control4’s Senior Director of Product Marketing, Brad Hintze. He bugs me.

I go by his office and it looks like he’s there because there’s a light inside. But it’s just that he doesn’t turn off the two lamps in his office. So I turn them off.

The next day, same thing.

I got tired of turning off his lamps, so I started moving them different places.

Desk lamp? Corporate Counsel JD Ellis’s office.

Then SVP of Sales Bryce Judd’s.

Then our Senior Director of Financial Analysis.

Floor lamp? Eventually in CEO Martin Plaehn’s office, but only after he recovered it from a couple different conference rooms.

Then one day, I go to unplug his lamps for yet another relocation…only to find…this:

That stopped me…


…for 30 seconds. I unscrewed the 7 lightbulbs from the two lamps, hid them throughout his office and left him a note of a bunny waving, captioned “Happy Easter!”

And yet he still leaves the lights on.

But I think I found the solution:



Home Automation: The Controller

The heart of an automated home is the controller. A controller acts as a central coordinator of all control and automation.

  • Control means the ability to issue commands on-demand to any controlled device, such as setting a dimmable light to 30%, or telling the cable box to change to a desired station.
  • Automation covers more sophisticated orchestration, possibly involving several controlled components. For example, I might want to have the system wake me up at 6:30 a.m. by playing a radio station at a predefined volume, and provide me a pathway of softly dimmed lights leading to freshly brewed coffee…but don’t bother with the lights unless it’s actually dark out. And, when I leave, let me double-tap that one light switch by the door to turn everything off.

Harnessing control is all fine and well, but clearly the sophistication and personalization of your system lie within automation. Much of what I want to do with my home depends on having a powerful controller that can be programmed to do the things that I want it to.

HC-800For my house, I’m using a Control4 HC-800. It’s a massively extensible system that can control devices by either infrared or network devices (ethernet and Zigbee). It even sports some direct-wired controls through four relays and four contact sensor interfaces. You can check out a spec sheet for the HC-800, if you’re curious about it’s capabilities.

So what do you do first with something like this controller? Like many people, I wanted to unify our kludgey home entertainment system so it would finally work elegantly. My wife has had to endure various kludgey Logitec Harmony remotes for far too long. Don’t get me wrong–the Harmony did a fair job for what it was designed to do–but we had no idea how much better a full system could be.

 I’ll talk about setting up our one-room theater in my next post.

Note: Control4 systems can be installed only by professionals. Go to the Control4 Dealer Locator to find an installer in your area.

Home Automation: The Network

Automating a home well requires communication pathways between the different things you want to control and automate. Light switches, audio-visual components, garage door openers, and climate control equipment–all of these can be harnessed only if there is a way to communicate with them.

A fully automated home will actually have two networks, an IP network and a ZigBee network.

  • TCP/IP of course is the network you probably already have, providing wireless Internet access throughout much of your house. But most of us don’t have a network that’s ready for streaming video workloads, whether for TV’s or security cameras. That requires wired ethernet.
  • ZigBee is one of the low-power, low-bandwith wireless protocols used in a lot of components for home automation. (Z-Wave is another.) ZigBee provides amazing flexibility so that you don’t need to run ethernet cables or power cables to every component in the system you automate. ZigBee works as a mesh, so each component in the system can act as a wireless relay for all the others. Battery-powered components running ZigBee cannot act as a relay, but things like powered light switches and dimmers will.

Going Gigabit

To stream video to any room of the house requires bandwidth. So for the TCP/IP network in our house, I selected a 24-port gigabit switch from Luxul. Fortunately, my house is already wired with cat 5, which means I won’t need to pull much cable. I got a smaller, 8-port switch for our main entertainment center because there are several components to connect in there. I also picked up an 8-port Power-over-Ethernet (PoE) switch.

Power-over-Ethernet gives great flexibility for things like a front-door camera or a wall-mounted touchscreen. Ethernet is required for streaming video, but with PoE you can run a touchscreen without running a power cable.

Getting Ziggy

All of the dimmers and switches in a system work over ZigBee. In replacing existing switches, it also builds out multiple powered ZigBee nodes. That should create a pretty solid mesh throughout my house so that any battery-powered devices can be added. Controllers from Control4 include a ZigBee network, so for my 2,800 square foot home system I likely won’t need extra ZigBee networking components. (I’ll need to verify this notion.)

After I get the ethernet gear set up, I’ll put in the next post in this project.

Note: Control4 systems can be installed only by professionals. Go to the Control4 Dealer Locator to find an installer in your area.

Home Automation: A New Frontier

A vast new technological field stretches ahead of us, and for me in particular. I’ve just joined Control4, a company creating advanced home automation solutions. Now I’m going through the steps to ready my house for some awesome new features.

Some of the things I want to do include:

  • Lock up the house, but make it easier for my family to get in. When I leave the house, I want the confidence that the house is secure because I have contact sensors to tell me what door or window is open, and automated deadbolts to remotely lock the doors. Modern deadbolts have programmable keypads, allowing codes for different people.
  • Stream Video to any room so that my wife doesn’t have to be chained to the TV room to watch televised murder trials and Vinnie Politan’s courtroom analyses. (There are real life men named “Vinnie.” Who knew?)
  • Light pathways for when I wake up, so that I can more easily do my fumble-stumble routine (which consists of fumbling around for my pajamas, and then stumbling around as I herd the dogs from our bedroom to the back door downstairs). Current non-dimmable light switches make for jarring light, and many of our switches are hard to find in the dark.

These are just a couple examples of what Control4 can do. So, I thought I might start explaining how I am working to make this happen. In my next post, I’ll cover the foundation of a home automation solution: the network.

Open Letter to eBay CEO John Donahoe

Does eBay Really Need a Special Exception to online tax collection? I received an email from eBay’s CEO, stating

…we believe small businesses with less than 50 employees or less than $10 million in annual out-of-state sales should be exempt from the burden of collecting sales taxes nationwide.

At first blush, the exception seems reasonable. But considering eBay’s business model, it’s completely self-serving. I replied to the address from which he sent the email. Since it might bounce, I share my response publicly.

Mr. Donahoe:

I agree that processing state & local taxes could be a burden on small businesses, especially the sort of special-focus, long tail small businesses that reach customers far and wide through eBay. eBay’s opportunity is to alleviate this burden. How? Provide new services & API’s in your platform to make tax collection a dead-simple process. Wouldn’t this render eBay an even more strategic platform for the small businesses that integrate with your platform? Coming from eBay–a company among the first to demonstrate how a web platform could simplify doing business online for micro-businesses–the “burden of collecting sales taxes nationwide” argument is rather specious. I notice that eBay does not advocate that all businesses of the scale you state–online or not–should get that exception.

Online businesses have had a remarkable opportunity to germinate and prosper for nearly two decades free of sales taxes. As online sales have grown, state and local governments’ revenues have declined. That affects our schools, highways, municipal services and other infrastructure. Furthermore, since the demographics show that online shoppers are generally wealthier than those who don’t shop online, isn’t your exception for online micro-businesses a special accommodation for higher-income households?

Perhaps eBay needs to re-think this issue in broader terms than asking for a special exception for eBay’s sweet spot in the market.

Thanks for your email and consideration of my response,

Ted Haeger

Donohoe’s complete letter follows. Continue reading

Thoughts on Amazon Cloud Drive’s New Sync Client

center_column_illustration._V150816994_-1I’m a big fan of Amazon. They sell me many things, and I am totally hooked on Amazon Prime. So my first reaction to their new new sync client for Cloud Drive was the same as many others, “What took them so long?” Then I wanted more details on how it works. From my experience as product manager for Mozy Stash, I believe that the efficiency of a file sync client makes or breaks the core offering. Delving in, this initial release of Cloud Drive is disappointing.

Size Matters

File sync clients must “just work.” One aspect for that is their demand on system resources.

Installer Package Size (Mac OS)

Let’s start by comparing the size of the installer package, which gives us a rough idea of how efficient the developers’ code is. The smaller the package, the more efficient.

  • EMC Syncplicity: 11.7 MB
  • Mozy Stash: 10.8 MB
  • Google Drive: 24.7 MB
  • Dropbox: 27.4 MB
  • Amazon Cloud Drive: 16.6 MB

Amazon fares pretty well against the two most popular sync tools, but file sync is a hard game. Companies that venture into file sync typically have to learn numerous gotchas of sync, and their software expands as the developers make fixes to handle all of the intricacies. As Amazon does so–and adds more features–expect their package to grow accordingly.

Next, let’s look at the memory footprint.


When I saw that Cloud Sync requires Java to be installed, I knew that Cloud Drive might be something of a memory hog. Here is the RAM usage while each of the following clients are idle, taken just as a quick snapshot.

  • EMC Syncplicity: 27.5 MB
  • Mozy Stash: 17.3 MB
  • Google Drive: 86.6 MB
  • Dropbox: 44.5 MB
  • Amazon Cloud Drive: 56.5 MB

Cloud Drive shows two related processes in Activity Monitor, so the number above totals the two. So, Cloud Drive does seem inefficient, but Amazon can rest easy next to Google Drive. (What are those self-important Mountain View PhD’s doing, anyway?!)

If Stash seems remarkably lean compared to the next two lowest, Syncplicity and Dropbox, I should note that Stash does not have some of the features that Syncplicity and Dropbox provide. For example, Stash lacks the right-click context menu on Mac OS (the platform from which I did my brief comparisons).

syncplicity_menuWhile fewer features may give Stash an advantage in memory utilization, no sync client runs leanest of all. My point is that the comparison is inherently skewed, and I’d like to have the menus. Nevertheless, Amazon Cloud Drive is feature poor compared to the others, so why does it have the 2nd highest utilization?


The third realm of file sync efficiency is differential sync. When you update a file, does the software upload the whole file, or just the changes? Do other linked computers download the changes, or do they have to pull the whole updated file? I covered differential sync in Mozy Stash back in January. Dropbox put themselves on the map long ago with a video showcasing differential sync.

Amazon makes no mention of Differential Sync, so we must assume they don’t have it. Apparently, Google Drive does not offer differential sync either. But what does differential sync matter? The classic case for differential sync is the id3 tags in your music files. Say you add some album art, or correct a misspelled album title. That tiny change causes a sync engine to upload the whole big music file, and every other computer to download it. And since it was the album details, it’s not just one file. Only Dropbox and Stash handle this scenario with the extreme efficiency that makes a solid sync client. Since Amazon delivers the digital music they sell you by putting it directly into your cloud drive, differential sync seems especially important in the context of Cloud Drive. Maybe they’re working on it?


All in all, Amazon Cloud Sync is a good step for Amazon, but they have work to do on efficiency. To be sure, they’re not nearly so careless as Google Drive, but if this first release is any indicator, they need to knuckle down now if they want to avoid being yet another entrant that doesn’t really grok what differentiates a sync engine.


Note The observations and opinions I present above are my own. Mozy recently rejoined EMC, so EMC is now my employer. Mozy is working with the Syncplicity team, although I am not directly involved in that collaboration.

Working at Mozy

UtahBusiness.com logoAlthough I have been blogging all too seldom in the past couple years, I want to share one of my responses for the “Best Companies to Work For in Utah” survey conducted annually by UtahBusiness.com. Why? Because I want to share with tech professionals in Utah what its like working at Mozy right now. Continue reading