Dan Walkes

My Website

Nest: Your Thermostat Meets the 21st Century

The 90s called.  They want your old thermostat back.

I’ve searched the Internetz for a smart thermostat in the past and have been surprised I haven’t been able to find what I wanted.  Anything I could find looked complicated to install or limited in usefulness or both. Enter Nest.  Nest is a Silicon Valley start-up backed by Google Ventures and others.  Their thermostat gives you easy accessibility through a WiFi connection and promises to help manage your heat and cooling bill by learning your preferences and the characteristics of your home.  It also comes with free mobile applications for Android and iPhone and a website you can use to check temps in your home and control your thermostat from wherever you happen to be.

Step 1 was to check compatibility with my furnace and wiring on the nest.com website.  My furnace and wiring setup was supported so I made my way to my local Lowes store to pick it up.


After some searching I found it at Lowes within the cage at the front of the store.  I had planned to research exactly what was different between the Gen 1 and Gen 2 versions (other than improved compatibility,) however my local store had no Gen 1 versions available.  I went ahead and picked up the Gen 2 version.  My Lowes had 6 remaining Gen 2′s when I arrived.  The Lowes employee who fetched the box from the cage told me they’ve been selling quite well.  She said she thought they’ve sold several hundred and only had a few returns.  I paid the $260 price tag and went back home to begin the install process.

Install was relatively easy and only took me about a half hour.  They include a face plate you can use to cover up mounting holes from your previous thermostat but I opted to putty the old holes and paint over instead.


The folks at Nest have obviously put some thought into the install process.  The install guide includes labels you can attach to your old wires before removing from your old thermostat to ensure you’ve got the wiring correct which was really handy.


After connecting all the wires, snapping the face of the unit onto the mounting bracket, and turning power to the furnace back on you are prompted with a setup screen which allows you to enter your language and wifi access point credentials.


This is only slightly cumbersome given the limited input options.  The user interface is unique but intuitive.  Turning the metal ring on the thermostat selects one of the letters.  Pushing in on the ring adds  the letter to the list.


After connecting to the internet there are several screens which ask about your furnace (gas or electric, force air or radiant, etc).  You then set your location and zip code to obtain weather forecast info and set the time.  You then step through several additional screens asking how many thermostats you have, when your home was built, your “away” heat/cool temperatures.  In total there are about 20 screens to go through before the setup process is complete.

IMG_20130105_140446.jpg Once setup is complete the main screen shows the current heat setting and current temperature detected.  Turning the dial on the thermostat changes the heat setting.  The display goes black after a few seconds but automatically illuminates whenever you walk near the thermostat.

Next I logged into nest.com and created an account.  After logging in my thermostat was detected.


You next need to accept Nest terms of service and confirm your e-mail address.  I read through the terms of service in a bit of detail because I was curious if they made it clear they weren’t liable if your pipes freeze due to a software glitch.  They do include this (as expected) with the following text:


Once you’ve accepted terms and completed the initial setup steps on the website you can use the website to configure your heating/cooling schedule – similar to a traditional thermostat.  Alternatively you can skip the schedule altogether and let the Nest device learn about your desired temperature based on manual configuration.
 The web ap includes a well designed UI which allows you to drag heat or cooling dots onto specific positions in a table view which represents each day of the week and hour of the day.

 One nice enhancement for the nest device vs a traditional thermostat: with the nest you set the time at which you want your house at a given temperature instead of setting the time the furnace should turn on.  Nest refers to this as a “target temperature”.  The nest device learns how long it takes to  heat or cool your house at different temp differentials and automatically turns on in time to heat to the desired setting at the desired time.

After my setup was complete I downloaded the Nest mobile applications for Andriod.  The applications supported all the same functionality the web application did and worked well both at home on wifi and away from home on 4g.

One thing I did notice when initially researching the product is a potential incompatibility between my existing WiFi router and Nest.  The Netgear router I own is in the list of unsupported routers on this page.  I found a bit more information about it and some customers reporting this issue on the Netgear forum.  I haven’t noticed any issues myself yet and my battery voltage (as listed on the Settings-> Technical info page) has increased from 3.822 V to 3.897 V since installing.  Hopefully I won’t need to deal with this but my backup plan is to add another WiFi router.

Nest unfortunately doesn’t appear to support a public API but a quick search reveals some people who have reverse engineered this and shared some code.  This may be the subject of a future blog post.

 In summary I was impressed by the ease of setup and configuration as well as the quality of the web and mobile applications for the Nest.  There are only a couple small improvements I would make in the install process:
  1. Include drywall wall anchors for people who don’t want to use existing thermostat holes and don’t have an existing mounting stud behind the wall.
  2. Defer a few of the setup screens or make it obvious these can be completed on the web after the router connection is complete.
  3. Add a list of supported WiFi routers (in addition to the list of unsupported WiFi routers) in case I need to add a router specifically to support my Nest device.


I’m excited to see a home automation product like Nest which leverages web and mobile and includes every feature I would have asked for and a bunch of features I wouldn’t have thought to ask for.  I’ll try to report back in a few months with any changes I’ve noticed in my utility bill and overall level of satisfaction as a Nest owner.


As a Windows + Linux + Git user I’ve never figured out a good way to integrate a great visual diff tool into git.  With the help of a few different sets of online instructions I’ve got a new setup today that looks promising.  Some assembly required (but it’s actually not too bad).

Start by installing cygwin if you don’t have it already:


Then follow these instructions to get meld working on Windows:

To support difftool use

git config –global diff.tool meld

Now you can do single file diffs which is painful when comparing large commits.

To compare all files/directories at once, you need a tool like git-meld

Follow these instructions to complete the git-meld install on Windows:

  • git clone the git-meld project to a directory without spaces for simplicity.
  • Set the alias for git-meld by modifying your ~/.gitconfig file with

meld = !c:/path/to/locationof/git-meld/git-meld.pl

Note the C: and direction of slashes – took me a few tries to get this syntax right.

  • After this depending on your path settings you might notice invoking git meld pukes with

mktemp -d -t git-meld.XXXXXX failed with exit code -1 at c:/manualinstall/git-me
ld/git-meld.pl line 27.

I believe this happens because mysgit doesn’t install mktemp by default and cygwin is not in the path by default.  I’ve noticed that even adding C:\cygwin\bin to my PATH doesn’t resolve this.  To resove, add this to your ~/.bash_profile:

export PATH=”$PATH:/c/cygwin/bin”

Now you should be able to type git meld HEAD^^ and see a visual diff of all changes in the past two commits.

Thanks to Andrew Arnott for his instructions on installing Meld with Windows and Will Manley for his git-meld script.

RIM’s state of affairs (my completely uninformed opinion)

I noticed several articles on Research In Motion yesterday – including this one which I found interesting.  I’ve never been a Blackberry user but I do have friends who are passionate about them and I have heard of other high profile folks who are also obsessed with their ‘berries.  I’ve always attributed this to Blackberry being the first phone that allowed people to un-chain themselves from the Microsoft desktop.  They enjoyed a huge head start in the smart phone category which has slowly dwindled since, probably due to lack of innovation.

I thought some of the comments in the article linked above regarding RIM’s future were particularly interesting.

From their CEO:

“It is now very clear to me that substantial change is what RIM needs.”

As my brother would say – “Thank you, Captain Obvious.”
Supportive Analyst Ted Schadler:

“To stop that trend from spreading, RIM needs to do a better job of reminding organizations that it can offer customers a dedicated network and secure servers,…”

Pessimistic Bloomberg comment

Still, that advantage has started to erode as companies have installed technology that has made the use of iPhones and Android devices for corporate purposes more secure

Pessimistic comment from analyst Scott Sutherland through Bloomberg:

While the company accepts the fact that it was late to the bring-your-own-device market, we fear that the damage is
already done” because it’s consumers now driving the enterprise market, not IT managers, he said.

I tend to agree with the bearish view on RIM. Gone forever are the days when a company IT department can tell it’s employees which phone they will be using (IMHO). RIM needs to stop focusing on organizations that force phones on users and try to find a way to connect with more users instead. Frankly I think they are too late.

The idea that their stock could spike on a buyout is interesting. That might be their best hope. I’m curious if Microsoft might be circling, assuming they could find some way to move what’s left of the RIM market and pull enough of the blackberry experience into Windows Phone 8/9 for people who know and love Blackberry. They might be able to solidify the market for people who want the best Microsoft interoperability, prefer the “Blackberry way” and/or believe the security story RIM is selling.

Time will tell…

Backify vs Livedrive… round 2

A new update to the previous e-mail exchange today – this time from Backify. What a mess. I’m guessing there are some lawyers in the UK who are enjoying this.

We are writing to you in regards to the recent action taken by LiveDrive to close your backup/briefcase account.

Backify used to be a reseller for LiveDrive.com’s services. Recently we were having some issues with their serive and they were literally unable to provide a solution to our problems. More information about these issues can be read on our homepage at www.backify.com. Tired of the service provided by LiveDrive, we asked them to close our reseller account. It may be noted that at no point did we ask them to close the accounts of our customers. But they went ahead and shut down the accounts of every Backify customer.

For every customer’s account, we have paid in advance a full year’s fee. So, the step taken by LiveDrive to close our customers’ accounts without refunding us is totally illegal, and we are considering our legal options at this time. Since your account was already paid fully for one year in
advance, we request you to get in touch with LiveDrive and ask them to restore your service.

As the sole storage provider for Backify, the idea that Livedrive wouldn’t be able to give customers access to their data doesn’t make sense to me. I do think Livedrive owes their/Backify’s customers a better explanation about exactly why they are unable to give customers access to their data. If I were a Livedrive reseller I’d also be looking for a better explanation about exactly what happened.

Backify – If it sounds too good to be true…

I thought I’d post an update with some late-breaking developments since my initial Backify post.

Yesterday I found an e-mail in my inbox from Backify.

Dear Dan Walkes,

First of all, we would like to thank you for using Backify. We hope you really liked our service and enjoyed using it.

We regret to inform you that we can not provide free backup services anymore. All free Backify accounts will be closed on November 22, 2011.

In order to prevent your account from deletion, please login into your account and update your Billing Details.

Hmm… glad I didn’t get my full 512 GB copied up yet. I didn’t think much more about it until I saw this e-mail today:


We are writing to you regarding BACKIFY.COM who you recently created an online backup account with.

BACKIFY.COM was a reseller of Livedrive (http://www.livedrive.com). Livedrive provided the technology and service behind the product offered to you by BACKIFY.COM.

We are writing to inform you that BACKIFY.COM is no longer a Livedrive reseller and the services that they purchased from our company on your behalf have been terminated. If you are using a service provided by BACKIFY.COM and powered by Livedrive then this service will now have stopped working.

We would also like to advise you that we have received a number of complaints about BACKIFY.COM from their customers and from industry organizations. We would like to advise you not to provide any credit card information to BACKIFY.COM. If you have provided credit card information to BACKIFY.COM then we would suggest contacting your card provider and informing them that your card may be used fraudulently. If BACKIFY.COM have charged your card for services not provided you should contact your card provider and ask them to initiate a chargeback procedure.

Please note that this advisory is being sent to you in good faith because we feel you should be informed that BACKIFY.COM is no longer a Livedrive reseller and of the complaints we have become aware of. No contract exists between yourself and Livedrive and we are not able to assist further in any dispute you may have with BACKIFY.COM.

If you have installed the online backup software provided by BACKIFY.COM we highly recommend you uninstall it from your computer by following the steps below:

The e-mail continues with step-by-step instructions for uninstall, then ends with the following text, emphasis added by yours truly.

Please note that any data you backed up using BACKIFY.COM cannot be retrieved and we recommend you establish an alternative backup service immediately.

Livedrive does provide a very similar online backup service to the one provided by BACKIFY.COM and you can read more details and, if you wish, signup for a trial on our website at http://www.livedrive.com. Please note however that we do not provide a free service as BACKIFY.COM did.

Other online backup vendors you may wish to consider include:

We are sorry for the inconvenience this situation may have caused you.

Kind Regards

Livedrive Limited

So it appears Backify and Livedrive have agreed to go their separate ways. Unfortunately for you if you’ve completed your copy to the cloud… Livedrive is taking your data with them. This might be something to consider when signing on with another Livedrive partner. If your agreement is with a partner company and that company looses it’s business arrangement with the company storing your data, you loose access to your data.

I’m taking two thoughts away from this experience:

  1. If something sounds too good to be true, it probably is. Avoid fly-by-night cloud backup providers for critical backup data.
  2. As a customer of a cloud backup company that doesn’t control their own datacenter you take on additional risk. Your data is at the mercy of an agreement between your backup provider and the company providing their data storage.

Update: New response from Backify 11/17/2011

Backify – 512GB of free cloud backup?

I noticed an article in Tom’s hardware last week about Backify – a company offering 512GB of online storage for free.  Sounds too good to be true.  Indeed, googling of “Is Backify for real” finds http://blog.forret.com/2011/10/is-backify-512gb-backup-for-free-also-for-real/.  The author makes the connection between Backify and LiveDrive.

It appears Backify is rebranding LiveDrive as a LiveDrive reseller.  From the “For Resellers” page on livedrive.com it appears resellers can sell “as many backup accounts as you like, all included in your fixed monthly fee of just $59.95″ – plus a one-time setup fee of $159.95.  The pricing page of the resellers link lists “create as many accounts as you want, for free” with “Amount of space per account – Unlimited” and boasts you can you can “create your own packages, sell at any price you choose.”

So if I understand this correctly, you too can start your own backify.com and offer users unlimited space for free as long as you are willing to pay livedrive $60/month and $150 setup fee.

I did download and configure the client.  One of the first things I noticed is that the client does not allow you to select the C: on your machine as the backup source.

The livedrive client also does not let you select network drives as a backup source.  Here’s what I see when I attempt to add my samba share from my home Linux NAS box.

LiveDrive (Backify) does not yet support a Linux client according to http://www.livedrive.com/FAQ#faq-briefcase-12.  I think this means in order to use your full 512GB quota you’d need a Windows machine with 512GB data in a file system folder tree below the root folder.  I don’t currently have this in my network setup so won’t be able to easily test the 512GB limit.

I started by backing up a folder of music with 120MB of data.  The backup happened quickly and I could log into my portal e-mail-address.livedrive.com/portal, see the uploaded files and download through my browser.  When you first login, the login page tells you that you won’t be able to share files until you upgrade to a “Backup and Briefcase” account

I’m not sure exactly what this means, since I’d expect you actually could share files if you shared your password for the web portal.  Maybe it just means you can’t share files with specific people who can access using their login info.

The pricing plans page for backify lists the “Briefcase” plans as plans which allow you to access files on multiple PC’s and sync folders – starting at $5/month paid annually ($60/yr).  LiveDrive’s reseller pricing for the “Briefcase” feature is confusing but looks like it’s $29.95/year/user.

Can LiveDrive/Backify be making any money?  Certainly if LiveDrive plans actually work as advertised and for advertised cost it seems Backify could be in good shape.  They offer a teaser plan to get you to upgrade, and as long as they have enough users who do upgrade to cover their $60/month paid to livedrive they should be making money.  I calculate their break-even at $60/$2.50 = 24 users with prepaid full-year plans or $60/$7.50 = 8 users paying monthly for the cheapest briefcase account.

Will LiveDrive be able to stay in business though?  If you assume most users won’t actually be able to point to a folder on a Windows machine with 512GB of data the amount you actually need to store in the cloud per user will be less.  Note the “Add a NAS device or network storage backup to the account” option costs $50/year/user if I understand the reseller pricing page correctly.

I’m guessing LiveDrive’s plan is that restrictions on the free account and making it difficult to share will force most into a “briefcase” paid plan.  If I understand their pricing page – with the “Briefcase” reseller plan LiveDrive gets $30/year/user to store up to 512GB.  This works out to $.005/GB/month which is definitely aggressive.  It appears based on their blog that LiveDrive has their own 100 petabyte ready datacenter.  Can you break even on storage costs in a modern datacenter at $.005/GB/month?  I don’t know.  I do know a SATA 3TB HDD sells for about $120 or $0.04/GB.  If you assume 2-1 data compression you might be able to get down to $0.02/GB in storage cost.  This would mean break-even cost considering only storage (not power, bandwidth, etc) would be 4 months.  I’d picture both power and bandwidth to be significant additions, but perhaps the incremental costs would taper off as your datacenter approaches 100 petabytes.

SmallCloudBuilder has an interesting article on LiveDrive and points to some issues with security.  It looks like you’ll want to make sure you are encrypting files before sending to Backify/LiveDrive which may be a bit of a pain.

Want the Symform Cloud Free Quota? Hope you’ve got a big pipe

Update: 2/20/2011 – Nic from Symform gave me a call to clarify the current promotion and some of the items in the blog.  I’ve updated below based his call.

A few weeks ago I noticed the Symform cloud storage model.  It’s a great concept.  Why is cloud storage so expensive when local storage is so cheap?  The idea is to donate some of your local storage to the cloud and you get a massive discount on cloud storage.  You trade others for cloud storage capacity and Symform takes a small monthly fee to organize the trade and handle redundancy, encryption, etc.  I thought I’d sign up for their 200GB free promotion and give it a try.

The first thing you need to do after registering for an account is to download and install the client.  One of the first things I noticed was the lack of a Linux client application.  This poses a problem for me since the only box at my house that is “always on” is my mythtv box running Ubuntu.

My first thought was to try Wine, but the installer crashed so it was on to Plan B – a Win 7 VM using VMware Player connected to my storage through a CIFS share.

After installing the Symform device configuration utility walks you through selection of the local folder you want to sync and a setup where you choose the days/times for “off business hours.”  The idea is to ramp up your bandwidth usage during off peak hours.

Since I don’t work from home, I selected my business hours as 6:00 PM to 12:00 AM M-F.  I didn’t see an easy way to select different hours for the weekend so just left at full bandwidth setting for the initial configuration.  I’ll see how that goes.  Update: Symform has confirmed they are working on making scheduling more flexible to allow different bandwidth settings for weekends.

The “Environment” settings also allow you to set your Download and Upload speed, and recommends speedtest.net as a performance test.  I ran the test on my comcast cable high speed internet connection and saw 11Mbps download and 1Mbps upload.

When I plugged these numbers into the device configuration for symform, I got a screen that looked like this:

Not enough bandwidthI didn’t have enough bandwidth to contribute anything to the cloud and my initial seed time for my dataset would be a little over a month with default settings.  Update:  Symform recommends you have at least 2Mbit upload pipe to use their service.

When I moved the slider to increase upload speed during business hours to 35% I was able to contribute 150GB.  My total seed time was still 32-50 days.

The next page asks you to configure a contribution folder and indicates you need to setup static port forwarding on your router.  I setup port forwarding and tested using the “Test Port Forwarding” button.

That was it – I’m now syncing to the cloud.  I’ll check back in 30 days to see how it went :)

I thought I’d see what the capabilities would be if I had a better internet connection.  I ran the same speedtest from my work connection.  The numbers returned from speedtest.net are shown below.  My download speed was slightly less at 9 Mbps but upload was much faster at 5 Mbps.

I punched these numbers into Symform to see whether I could use my full 200GB on a connection equivalent to my work network.  Here were the results:Work Symform Can't meet quota either

I can just barely meet my total initial dataset size of 145GB but I’m limited to 150GB contribution and can’t use the full 200GB available in the free promo.  Update:  Per Nic at Symform – the current free promo gives you 100 GB for free and an extra 20 GB free if you start syncing with the cloud within 24 hours of registering.  So my current sync limit is 120 GB.  To get to 200 GB you need to refer friends to use symform so if you are registering please use my referral link.  If I understand correctly the limit set on the slider is not based on the bandwidth but rather on the amount of shared storage you are entitled to in your account.  If you have 100GB available, you can contribute up to 150GB to store your 100GB of data.

In summary I think the Symform model is a cool concept and will certainly work someday.  In order for it to work today you need a relatively big pipe in your series of tubes.

PulseAudio and Multiple Sound Cards

I’m currently using 10.04 Lucid with multiple sound cards in my home mytbuntu server.  The goal is to use an audioengine USB sound card along with the sound card included on my motherboard.

I found a long summary detailing how to accomplish this this at http://ubuntuforums.org/printthread.php?t=1130384&pp=75.  To summarize, here’s what I did to get it working on my setup:

  1. sudo apt-get install padevchooser
  2. Ran into this bug attempting to start padevchooser related to  ”pa_browser_new()” https://bugs.launchpad.net/ubuntu/+source/padevchooser/+bug/107791.  Issued “sudo service restart avahi-daemon” to resolve, then ran padevchooser & from the command line.
  3. This installs a configuration item in the upper right portion of the status bar, the “Pulse Audio Applet.”  Click on the applet and select “Configure Local Sound Server”
  4. Select the “Simultaneous Output” tab.  Check “Add virtual output device for simultaneous output on all local sound cards.”
  5. Reboot (probably could restart the server instead if you didn’t want to reboot the box.)
  6. Right-Click on the speaker icon in the status bar, select “Sound Preferences.”  Go to the “Output” tab.  You should now see a “Simultaneous output” device listed.  Select it.

That’s it.

Android MapView

I tried following the MapView tutorial at this link. This tutorial didn’t have full source so I googled HelloGoogleMaps.java and found this site. I had two problems with this example code:

1) The example code used getBaseContext() which caused a crash “unable to add window — token null is not for an application” in onTag. Modifying to use application context (this) instead fixed the problem.

2) The map overlay markers did not actually show up on my android 2.1 target until I used setBounds() on the drawable like this:

drawable.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight())

See also the commonsware android source at this link. I highly recommend the commonsware Android development book series if you want to come up to speed quickly with Android programming.

DVD backup script

This seems really easy but it took me a long time to find the right combination of script tools to create a backup from an installed DVD drive to an .iso file.  Here’s the script I ultimately used on Ubuntu 10.04

# dvdrip.sh
# Rips a DVD to a .iso file
# Dan Walkes 6/7/2011

if [ $# -lt 1 ]; then
echo “Usage $0 name_of_iso”
exit 1
set -e
# Make sure tray is closed
eject -t /dev/sr0
sleep 10
# Backup the dvd to a folder on the local HDD
dvdbackup -i /dev/sr0 -o $dvddir -n “$1″ -M
# Convert to an iso
mkisofs -dvd-video -o “$dvddir/$1.iso” “$dvddir/$1″
# Remove the video data from the folder
rm -rf “$dvddir/$1″
# eject the DVD to prepare for another
eject /dev/sr0

You can find dvdbackup at http://dvdbackup.sourceforge.net/