Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

But why?


Which part? Why do I do it?

To make myself more efficient. Automate things I have to do but that don't make me happy. Improve my physical health (I'm motivated by numbers... they get me to the gym). Make more informed decisions.

Basically I run my life like a business. I track KPIs[1] and use them to plan and act.

For example, right now my app is telling me I'm spending more than my average amount of time on Hacker News. And based on that, I can make the decision I should probably get some work done :)

Also, if I ever get murdered, unlikely for sure, the cops will have an easy job ;) (joking, this isn't a primary motivation but, certainly a side effect).

Edit: plus I think it is fun, it's a hobby. Everyone needs a hobby :)

[1] Key performance indicators


Do you have a writeup of the tools you use? I'd love to see something like that.


No writeup and I haven't open sourced (yet) but the gist of it is:

For my software:

- Node.js

- MongoDB

- Ubuntu Server

- Docker

- Java for my mobile app

- Electron for the desktop app

For hardware:

- Galaxy Note 5 using the accelerometer and GPS

- Macbook Pro running custom monitoring software

- Fitbit smart scale

- A lot of Aurdinos

- A few Raspberry Pis

- A few Spark Photons

- A Vera for home automation and integration with household sensors

- A whole slew of Zwave and Wifi house sensors and switches

- The cameras and alarm are through ADT Pulse but to be honest I wish I had used a more open solution. Everything runs through their servers, I can't talk directly to the cameras.

- Some more home automation stuff that is not really quantified self (more IoT) so I'm not including (Nest thermostats, myQ garage door opener, etc)

For protocols (you'd be surprised at how many devices you can get data from knowing these three protocols):

- UPnP

- Bonjour

- HTTP

- IMAP

For APIs:

- Fitbit

- Facebook

- Twitter

- IMAP for email (not an API in the sense people think of APIs but still...)

- Nest

- A bunch of stuff that I had to reverse engineer because they don't offer public APIs

For analysis:

- R mostly

For reverse engineering hardware devices that don't open their APIs:

- Charles for a proxy to sniff traffic (if they have an app)

- Wireshark for devices that don't obey proxies

I'm sure I forgot something.

As you can see, it is a LOT of work. But it's a hobby so I enjoy it. I want to open source it one day but as you can imagine... none of this is unit tested or meets any of the criteria I would use for an open source project. It is, in effect, a "hack"... but it works.


Still, would be very very interesting to see how you hacked it all together. Even from a superficial, high level.


What made you pick Zwave, and can you share some interesting insights you've discovered as a result of this and how they have improved your life?

Also, have you considered doing any machine learning on the data to detect hard to spot patterns?


Well, I chose Zwave because at the time Wifi lights were nonexistent and Hue wasn't available yet.

However, Zwave is pretty nice because it doesn't tie up my Wifi bandwidth, is quick to set up, and it forms a mesh network. Plus the devices are a fraction of the cost of the Wifi connected one.

All the improvements have been minor but they add up to large lifestyle improvements. Some examples:

- I never have to worry if I left the garage door open or the lights on.

- I can set my alarm (the intrusion detection kind not wake up kind) without leaving bed if I forget to set it.

- Controlling all my entertainment devices is now one click instead of messing with 5 different remotes. It's also easier for guests to understand.

- My sprinkler system adjusts watering based on the moisture level and the last time it rained. Which conserves water.

- My thermostat knows when I'm not home which also conserves energy and saves money.

- My exercise equipment turns on when I need it on schedule, which helps me to stay motivated. The TV with the workout DVD in it also turns on on schedule.

- Holliday lights turn on at dusk and turn off at 1 AM. Or when I tell them to with my phone.

- I can get woken up at the right time so I'm less tired throughout the day.

- If I have someone coming over to say, fix the plumbing, I can give them a temporary code that is only good during the time they are supposed to be there. Or they can call me and I can unlock the house from my office. And I can see them on video while they are there. Plus the alarm can set when they leave.

As I said, little things that add up.

The health and quantified self type stuff has helped me spend less time on stuff I shouldn't be doing and more time being healthy.

One of my favorite devices in terms of effect on my life, as weird as this sounds, is my Sonos system. I have speakers in every room in the house and I can use them to play music that sets the right mood whether I'm working out or eating. It's also nice to be able to pipe the TV audio to other rooms during, say, the presidential debates.

Have I considered machine learning? Yes. I actually use some to automate email. It deletes email I don't want to read and nags me about email I really should reply to (hence my previous post that mentions IMAP). But I'd love to find more uses of it.

One use I've been toying with is learning when I need to go places (like the grocery store) and alerting me when I'm driving near it so I can save an extra trip. Example: the milk will be gone in two days and you're right next to the store, you should get more now so you don't have to make a trip later.

None of this is important on its own and some of it is downright silly, but in aggregate it adds up.


Thanks for the insightful response. One use for machine learning could be to determine an optimal sleep/eating schedule. You'd probably need to log some mood/health data but should be doable. Similarly you could probably do something with diet data.


What you use to do it? Which app?


See above comment. You both asked the same question I had to pick :)


But what if you're murdered by the computer?


I laughed out loud on this one. This is great, especially since I just finished reading an Asimov book.

I guess I'd have to change my database to be built on blockchain technology so that it is cryptographically impossible to modify past state without detection. Then I'd just need to make sure the computer has append only access to the backups.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: