Jeepers! We’re living in the future!

We just installed a new Nest thermostat and are giddy with anticipation!

Photo of a Nest thermostat by James Britton from Flickr
Nest thermostat by James Britton from Flickr

The future is already here — it’s just not very evenly distributed. – William Gibson

The thermostat we had when we got up this morning knew the temperature in the house (or at least in the living room downstairs) and because it was “programmable” it had some inkling of what we wanted the temperature to be. On the other hand it had no idea what the weather was like or was expected to be. It didn’t have a clue that a big winter storm was headed our way until the wind had already stripped away whatever heat was stored up in the walls.

It didn’t know if we were actually home or away, so we always had to remember to fiddle with the settings before we went away at Xmas.

It didn’t have any idea how long it would take our 100+ year old hot water radiator heating system to get up to speed or expend its heat. This meant that it often overshot, especially on cold mornings leading to sunny mild days.

It’s communication skills also left something to be desired, being limited to a small, unlit LCD display and four buttons. We keep a flashlight on a table under it specifically because it’s such a pain to to see, even in daylight, and we keep the instruction manual close to hand because the strange button combinations needed to alter the programming make emacs key combinations look positively intuitive.

And we had to be right in front of it to interact with it. If we left for vacation and forgot to put it on hold, well that was just too bad. And there was no way to tell it that we were an hour or two from arrival and it would be really swell if it could start warming the house up for us so we’d come home to something more welcoming than a furnished meat locker.

This afternoon, though, all that changed as we installed our new Nest thermostat.

We now have a thermostats that’s on the Internet. It knows where we live and knows that the sun went down a few minutes. It can access weather forecasts, so it knows how much the temperature is likely to drop tonight. And we can talk to it from anywhere we’re on-line. I can’t see it from where I’m sitting, but via this laptop I know that it reads the current temperature in the living room as 72F. And I can change its settings from this computer. Or my iPod touch. Or a computer at my parents’ house in Arkansas. We can provide an ETA and desired temperature from the road on the way home from a vacation, and the Nest can combine what it knows of our house, our heating system, the weather, and our request to figure out how to make it all happen.

WeatherGrrrl and I were giddy as school kids after we installed it and set up the accounts. We’d connect to it in different ways and alter the settings, and then look at the Nest and watch it respond almost instantly, and watch the displays on other computers update in real time. We giggled like we’d fallen into some strange episode of the Jetsons or Star Trek. And the crazy thing is that it hasn’t actually done anything yet, as the temperature’s still warm enough that we don’t actually want the heat to be on. Yet we sat there dreaming up scenarios and possibilities enabled by this splendid little device, and smiled and laughed and enjoyed ourselves immensely.

While we have no actual experience to report, I can say that the packaging was wonderfully elegant (very Apple-esque), installing it was no problem even for a unhandy person such as me, the set up was easy, and connecting on-line was a breeze. Now we wait while it learns things like how to recognize whether we’re home or now and, when the weather gets cold enough that we need heat, what our heating preferences are and how our aged house and radiator system respond to its commands. Here’s hoping it lives up to half of its potential!

On a related note, way back in grad school (late 80’s?) I had to good fortune to take a seminar from John McCarthy, pioneer of artificial intelligence as a field (and coiner of the term) and the man that developed the Lisp programming language. One of the most memorable moments was a lengthy discussion of whether a thermostat was intelligent; McCarthy argued that it was, much to the consternation of many of the grad students in the room. Without cracking the lid too far on that can of worms for the moment, it’s certainly clear that our Nest thermostat is a whole heck of a lot “smarter” than the programmable jobby we took down today, which was in turn muchly “smarter” than the old analog spring thermostat that was on the wall when we moved in.

Me thinks we just installed a bit of the future, and it’s whole tons of fun!

Related posts

An unsolicited forward to an unfinished book

Bill Tozier was generous enough to share an early draft of his book-in-progress, currently entitled Answer factories: The engineering of useful surprises.

It’s a true joy, and I’m really looking forward to being able to read the “finished” work. It’s a project oriented book, though, which means that to really learn from it we’re going to have to play along at home, programming, and experimenting, and analyzing. We’re all going to have to set aside some time for this when it does come out. But it’ll be worth it. And while the claim is that we’ll be learning about Generative Projects or Genetic Programming or whatever Bill decides to have GP stand for when he wraps this thing, we’re also going to learn a lot about software development and problem solving along the way, from someone who’s got a lot of great things to say on those important subjects. So we’d best buckle our seatbelts!

I do, however, have to take issue with a claim Bill makes in the introductory “About this book” section:

This is not a textbook. If your instructors try to use it as one, complain. If they argue, send them to me.

To be honest, it’s turning out a lot more like an anti-textbook. It will not improve your performance on tests. We’ll use “advanced” techniques before we discuss “basic” ones, ignore common practices to focus on more appropriate contingent solutions for specific problems, and may not even touch on techniques your instructors think you ought to know.

Remember, my goal is to support and extend your existing skills so you can productively explore further. Seek comprehensive knowledge and historical grounding in other books. They are full of it.

I can’t help but think he had me in mind when he wrote these lines, and I doubt he’ll be surprised to learn that I’m certainly seriously considering using it in my Evolutionary Computation and Artificial Intelligence course in the Spring. <snigger>

The issue, I suspect, is what one considers a “textbook” and what the point of such a thing is. Traditionally textbooks are big, fat things that provide a “coherent” overview of “everything you need to know about subject X”. I’ve got a bunch of these on my shelves with nice overviews of things like calculus and physics and chemistry. Old things, with a clear sense of what matters and what order it should be presented in.

In teaching computer science, however, things are typically much less clear. What’s “vital” in our field? What’s the “natural” or most pedagogically sensible order to present that material? There are lots of ideas out there, but hardly consensus. And that’s on the introductory material; my upper division electives usually focus on material where there’s even less agreement.

Starting in the late 90’s I started moving away from “traditional” textbooks when I could. I found that the most important part of most of my courses was process rather then content. Most computing textbooks I’ve seen are, unfortunately, much stronger on content than process. There are piles of books full of catalogues of algorithms, but they’re mostly presented like magic tricks, things Very Smart People dreamt up in some strange opium vision, inaccessible to the rest of us. The challenge in my experience is coming up with these visions, the process and the problem solving. So a book like Fowler’s wondrous Refactoring is far more educational in the long run, giving us skills for life instead of a box full of baubles.

The contrast between process and content has been made far more pronounced by the web and its many tools and collections. Young folks (and even this old guy) almost never reach for a book when they want to look something up; that’s what Google is for. The reference value of big encyclopedias of “facts” is greatly diminished when we can so easily find things on-line, but a well-written description of an important process is still a treasure.

Which brings us back to Bill’s book.

He claims it’s not a textbook because he doesn’t plan to cover “every” technique or concept or approach. He’s going to doing things in the “wrong” order. Foolishly, he’s not going to help improve our performance on tests, choosing to instead helping us develop skills that will help us for years to come.

Silly, silly man.

So, yeah, I do want to use Bill’s book in my class, and my students are more than welcome to complain to me or take it up with Bill. I doubt, however, that they will. The writing is opinionated and ornery and humble in all the right ways, and the emphasis on projects and problem solving are the sort of thing our students just eat up. I’m guessing that they’d happily line up behind something like this vs. a more traditional text.

As will I.

P.S. You should check out the book’s LeanPub site (https://leanpub.com/pragmaticGP) and sign up for notification. It’s a great way for people to help delude Bill into thinking that he’s not actually wasting his time.

Or something like that.

Related posts