Cheap Home Automation

My son is a new homeowner, so we naturally have a boatload of homeowner-ly things to talk about now.  One of them was home automation.

I’ve been automating lights and timers for many years now, going back to the X.10 days.  For the past ten years I’ve pretty much used Insteon equipment, form SmartHome, because it’s pretty cheap, pretty broad in terms of kinds of switches and sensors and controllers, and because, although it’s proprietary, you can get the APIs and hack at it.

So I told him about Insteon, and got as far as, “well, smart lightswitches and smart outlets in Insteon cost about $30 each…”  He said, “Whoa.  That’s not cheap.  How can I get home automation cheap?”

So we both started looking, and found a boatload of open-source work on home automation.  Most of it involves someone writing controller-side code — or even a whole controller-side platform — to command “various” peripherals.

OK, that’s great.  If you wrote your own controller and put it on an old computer — or a new cheap Pi-class computer — you could save the cost of a controller and its software.  These run about $150 for Insteon, and seem similar for other protocols.  The Zonoff hub (full disclosure: my firm Valhalla Partners is an investor in Zonoff), found in Staples Connect home automation sets, retails for maybe $50, but you get the idea.  That’s not chump change, but if you have 20 peripherals at $30 a pop, the total system cost is (20*$30)+$150= $750, so by doing your own controller you’re only saving 20%.

The main question seems to be: can you get down the price of the peripherals from $30 to something more Earth-bound?

The disconnect between to-dos, habits, and calendar entries

I’m still vexed by the disconnect between these three kinds of commitments, which I discussed in an earlier post.

I still use one app for to-dos (MLO) and one for habits (most recently Habitica, as suggested by Chris Bailey.  I’ve had the feeling with my to-do app that things are somehow converging: I’m getting more and more of the features I want each time I do a kaizen improvement and switch to a somewhat better app.

I don’t get the same feeling at all with the habits apps.  I want two things from a habits app which I don’t care about (as much) with a to-do app:

  1. Fuzzy recurrence.  I’ve talked about that here: basically the ability to specify things like “every 2-3 day” or “at least 6 times a week”.
  2. Accountability.  I want some mechanism in the app that makes me feel good when I do the habit and makes me feel bad when I leave the habit out.

These things wouldn’t be terrible in a to-do app, but they’re not as important.  With a habits app, you’re interested in showing up, in Jerry Seinfeld’s unbroken chain.

Habitica gets a C- for fuzzy recurrence.  There are “dailies”, which are things that have to be done every day and if you miss you get dinged.  And there are habits, where you get + or – (depending on the habit) if you engage in the habit, whenever.  There’s some ability to pick which days of the week the habits apply, but it’s far from a rich set of fuzzy recurrence operations.

But the daily-ness of the app (and maybe its very clunkiness) helps me with the accountability.  I have a drive to check off those daily things, because I know the system has no flexibility, and I know I’ll be punished if I don’t.

Punished how?  The gamification elements in the app help me with staying accountable.   I lose Strength and Health if I don’t do my good dailies or if I do do my bad dailies.  Ditto with the habits, although it’s less hortatory with the habits (maybe because they don’t need to be done every day).

My ultimate PIM would combine some of this stuff with the to-do functionality.  Right now I have some things I want to do every day that are in both MLO and Habitica.  And, btw, perhaps the ultimate PIM could link accountability to bank account or reputation or other stuff that some of the “do or die” apps have.

And then having that stuff project to my calendar would be the Holy Grail.

The Magic Invulnerability of blockchain

OK, so last time I gave my impressions of how a coin transaction might be enacted in blockchain.

But now we get to the magic.  How can Bob and Alice be confident that someone won’t abuse their transfer of coin?

Let’s consider the case where Bob himself wants to spend Alice’s bitcoin twice.

He might have a couple of strategies for doing so, but they all involve, in one way or another, fudging the first transaction.  For example:

Erase the first transaction.  Bob has everything he needs to create a “spend” of Alice’s coin: her signed transaction giving the coin to his public key, and his private key.  If he can get erase transaction 1 (after his payee from tx 1 has re-transacted the bitcoin, of course) it would seem he could cover his tracks.

Blockchain makes it very hard to erase a transaction (or change it in any way) because all the transactions are hashed and linked.  Hashed means that there is a unique code generated by the transaction that can’t be duplicated.  And linked means that all the transactions ever are all linked together — and hashed — so that the only way you could fake a change to an old transaction would be to re-do all the transactions since.

And, hard as that might be, blockchain makes it harder by requiring a certain level of effort in the hashing.  Not just any hash result will do: the hash has to be smaller than a certain fraction of the maximum hash value.  Since each time you hash you get a different answer you have to keep hashing until you get an answer below the threshold.  Which means you have to do a lot of computational work.

But who even checks on this stuff?  In a centralized world where there’s a trusted central database, they do the checking.  In a decentralized world, who’s to even notice that a bunch of transactions have been faked or re-done?

The miners, that’s who.  What coin miners do is build valid blocks for the blockchain out of raw transactions.    Since there’s a large number of miners mining, the chances of all of them collaborating on a fraud are low (although I guess it could happen??)  And because they’re doing all this work to prop up the blockchain, they are rewarded by getting a small fee for most or all transactions that they block-ify, which is how miners end up with new coin.

I think I’ve got it, and I think I’ve explained it somewhat clearly, which probably means I’ve missed something profound and simple.  Can people who know more about this tell me where I messed up?

Reading about blockchain, moving my lips

I used to be technical.  I used to know technical stuff.

I still know quite a bit, but what I say about myself nowadays is that “I can follow a technical argument.”  That’s certainly not cutting-edge, nor is it one step removed.  It’s a different kind of skill.

As a techie, I was bound by what Buckminster Fuller or Ayn Rand would call “right and wrong.”  If my stuff — my hypothesis, my code, — “worked”, it was correct.  Not just, necessarily, or even beautiful, but it would do what I said it would do.

“Following a tech argument” is a different thing; I’m assuming that the speaker is speaking correctly, is saying what’s right, and seeing if I agree with the implications.

That’s how I’m approaching blockchain.  I’ve never been a cryptographic heavyweight, and I’m not even an “Alice and Bob” heavyweight.  Alice and Bob, for those who might not know, are personoids who engage in cryptographically motivated behavior.  For example: “Alice wants to send Bob a private message.”  “Bob wants to pay Alice in Bitcoin.”  Cryptographic heavyweights toss around Alice-and-Bob arguments in a way that I can mostly follow.  If I move my lips.

So I’ve been certain I could understand how blockchain — the “distributed ledger” underlying Bitcoin and other cryptocurrencies — worked.  Just one little problem: I didn’t actually understand.

So today I set out to understand how blockchain works.

I started with a Google search for “blockchain for dummies”.

First hit: a youtube video that tried to “explain” blockchain with an analogy.   #fail.  I couldn’t even understand the tenor and vehicle of the metaphor, let alone anything about how blockchain worked except, perhaps, that it was distributed and anonymous.  Well, I knew that already.

Next up?  “WTF Is the Blockchain?  A Guide for Total Beginners“.  #fail.  It kind of explains the various parts of the cryptocurrency ecosystem, but doesn’t explain the main thing: how are transactions in the blockchain verifiable, non-repudiatable, anonymous, and unfalsifiable?  And, just for grins, why are there miners?

I tried a few more, and ended up, as perhaps I should have begun, with the Developer’s guide.  Here we have geeks explaining to geeks how something works and how you might use it in making something of your own.

And here’s what I get out of all this:

  1. If Alice wants to pay Bob, she uses Bob’s public key (well, a hash of it) to create a transaction that authorizes whoever own Bob’s private key to spend <x> coin.  This transaction is “broadcast” to the coin community (presumably by Alice’s software) and Bob’s software presumably notes that such a transaction is created and lets Bob know.
  2. When Bob wants to spend the coin that Alice has given him, he creates a transaction which uses Alice’s transaction ID and a “signature script” saying what he wants to do with the coin.  The signature script is certified by Bob’s private key (and other mumbo-jumbo).  Bob then broadcasts his transaction to the network.

How do you keep Bob from spending Alice’s coin twice?   Next posting…

To Find a Backer, See Who Backed Your Competitors

I get asked for referrals to investors a lot, and since my writing has spun up I also get asked for referrals to publishers and agents.

I read a bunch of years ago some advice that seemed quite sensible for finding an agent:

Find one or two books that are just like the one you want to do, find out who agents those authors, and ping them.

Of course, no book is “just like” your baby, but there are cousins, maybe even fraternal twins.

Maybe this is terrible advice, but, like I said, it made sense to me.

And it makes sense in the investor context too.  Find one or two startups that are doing something similar or cousin-ly to what you want to do, find out who invested in those companies, and ping them.

One might say that I’m just letting myself off the hook of actually daring to refer somebody to an investor or agent I already know.  But I’ve done that.  I’ve done that enough to know that you can’t force oil and water together if they don’t want to go.

Maybe this is awful advice.  If so, please let me know and I’ll pass on your POV.

My first book proposal — “Intelligent Pitching”

I’ve been a writer wannabe my whole life, but I’ve mostly worked on fiction and magazine articles (and blogging, of course!).

Now I’m trying to do my first book proposal for a non-fiction book.

For a work of fiction, you basically finish the whole thing and then show it to potential agents and publishers.  The theory — I guess — is that you can’t judge the book by looking at a subset of it.  You need to “experience” the whole thing.

Fair enough.  With non-fiction books, my friend Howard Yoon says, you get a kind of a break: you don’t have to do the whole book to sell it, you just do a proposal.

He showed me a couple of examples, and set me to work on a book proposal about a topic dear to my heart: Intelligent Pitching.  I’ve blogged about this some, and I’ve given lectures and classes on it some.   Now I’m putting together the book proposal.

The format Howard gave me is pretty brutal: you need about five pages of sample for each chapter that will be in the book.  Well, if a chapter is something like 20 pages, that means you have to write about a quarter of each chapter before you actually write the book.

I guess the good news here is that once you’ve written the proposal — and if the your editor/publisher resists the God-given temptation to edit your work — that you then have written a good part of the book, including its structure, the spine.

There’s more to the proposal than the sample chapters: you need to give, in essence, a marketing plan for the book and a pitch for your own bona fides as an author.  There’s other stuff as well.

The book recapitulates what I’ve learned about pitches from 12 years of doing venture capital and 5 years of consulting before that.  My big shtick is that you need to think in detail about what’s on the mind of your audience in order to craft a good pitch.

It seems like motherhood and apple pie, but it’s amazing to me how few pitches act as if their authors thought about the audience beforehand.

For example: investors don’t (especially) want to know what problem your business solves.  They want to know how good your business model is.

If you crafted a pitch with that observation in mind, you would start the pitch with the key elements of your business model.

Very few pitches start that way.  Most start with long, drawn-out dramatizations of how extreme the problem is that their business solves, which is very tiresome to the investor who just wants to know what your business is going to do about the problem.

There’s a lot more like that in the book (or, more correctly, in the book proposal).  And what Howard counseled me to put in was not dry exposition but stories, stories that show and bring to life the principles of the Intelligent Pitch.

It’s been a lot of work to get it up to fighting weight, but very instructive.

Cycle for Survival

My friend Elizabeth was raising money for research into curing “rare” cancers, and she mentioned it when she came to “guest lecture” at my class this last fall.  March 6 seemed a long ways away so I volunteered to do some spinning with her team.

I put “rare” in quotes because, collectively, these cancers account for 50 % of all cancers, but there’s a lot of them, and individually each one is unusual.  They don’t get the TLC $$ that the “big” cancers get, so I thought it would be a good deed as well as a chance to get in some spinning.

I’ve been spinning since my left hip got replaced five years ago.  It’s a great way for someone like me — not a runner, not a swimmer — to do some interval training.  I’ve really enjoyed it for the most part, although there’s a school of spinning — I imagine that SoulCycle is this way — that thinks “Too Much Ain’t Enough.”  That’s not me.  I do the work, but I don’t bellow or yip or carry on.

Surprise surprise, March 6 came and much sooner than I would have thought.  I realized in mid-February that the event was almost upon us, and started doing some fundraising.

Fortunately, several friends leaped into the breach and funded me, so I felt like could hold my head up with the rest of the team — I didn’t know anyone except Elizabeth, I thought — when Cycle Day came.

I sort of imagined doing the equivalent of punching in at work: I would walk in, register, spin for my allotted time, and leave.

It was much more wild than that.

Imagine a huge spinning studio — I’m talking 100 bikes here — filled with garishly-dressed teams with boas, pompoms, beach balls flying through the air, 115dB music and peppy spinning talk.

My kneejerk reaction to stuff like this is to Sneer and to Cower.  Sneer: I get angry back at all the peppiness and cheer.  Cower: I want to just get my job done and get out without any shenanigans.

But my team was so nice, they engaged me, they got me to dress up in an orange team t-shirt, and they got me into it.  As you can see in the photo (I’m in the upper right), I’m present and accounted for if not exactly bouncing off the walls.  (You can’t quite see the cute little sparkly fedora on top of my head.)

Shucks: it was actually fun, and I loved getting to know the rest of the team somewhat at the Point of Sweat.

Thanks Elizabeth and thanks Kelly for having me.  And thanks to the rest of Team Pedaling Sunshine Bethesda.