Thursday, November 21, 2019

Consumer Home Automation 2019 Guide

Anything you do ironically will, in about a year, become part of your sincerely-held identity. - Avery Alder
It's 2019, and time to think about how your home is automated these day. I am bought into the Apple HomeKit ecosystem as my choice. If you are an Android or Alexa ecosystem, the options are different for you. With HomeKit you need an AppleTV or HomePod as your home hub — in theory an old iPad, but don’t be silly. I also have devices that are not natively HomeKit, and I use a cool app called HomeBridge to connect them. HomeBridge will take you out of the consumer level into the hobbyist, but only just so.
Smart Speaker - This is the trickiest one for me to recommend to others. I would LOVE for this to be an Apple HomePod, but I have Amazon Echo in my house and an Amazon Echo Tap in the hall that I use to take into the yard when we are outside. The main reason I use Echoes is that Alexa connects to my Prime Music, which I get "free" with Amazon Prime and that is the #1 use case of the speakers in my house. As soon as Apple HomePod supports Prime Music or there is some bundle that makes me want to pay for Apple Music, I'm switching. Yet today is not the day.
After music, the other main thing I do with my Alexa is to track the grocery list. I use an app called AnyList on my iPhone that has a shared list with Alexa. So anytime we realize we are low on anything we simple shout into the air, "Alexa, add peanut butter to the grocery list" and the magic happens. The kids have also gotten pretty good about this which is amazing.
  • Amazon Echo -
  • AnyList App -
Smart Thermostat - The first big IoT thing was the thermostat. My recommendation on this one is the ecobee4 as the best with native HomeKit support. I switched this year from Nest to Ecobee and generally it works exactly the same. The Ecobee physical installation was harder than Nest. Most HVAC-to-thermostat wiring connections don't send continuous power. Nest solves this problem with a battery in the thermostat that was able to extract power when available and ran fine. Ecobee solves this problem by requiring you to install an additional box in your attic (or wherever you HVAC unit is) so that a continuous power stream goes from there to you thermostat. That extra adapter installation in the attic was annoying, but once installed, it all works great. I also REALLY like that the Ecobee came with an additional sensor and I bought two more so there are motion and temperature sensors in all the main rooms in the house that impact the smart thermostats desire to heat/cool the home. I could, in theory, also use the motion sensing on those extra sensors to do other things, but I don't yet.
  • Ecobee —
Sprinkler Controller - I got the Rachio Iro the moment it came out and I have loved it every moment I had it. It does seasonal adjustments automatically increasing and decreasing watering times and it does rain and moisture skips if there is rain so I’m not watering my lawn when water is falling down from the sky. I’ve been extremely happy with this purchase. I think there is a HomeBridge plugin for it, but I’ve never tried. I don’t have any need to tell Siri to turn on the sprinkler system.
The one thing I feel this is missing is a the ability to put a smart moisture sensor out in the lawn so it could more accurately detected moisture to be smart about how much water the lawn needs — someday! As far as I can tell, there are no smart sprinklers that do that.
They have released new versions of the hardware, but I've never upgraded as I don't really see any benefit it will provide.
  • Rachio —
Smart Lights — My Favorite — I recently installed Lutron Caseta and this is the system I have WANTED. It’s not smart lightbulbs, it’s a smart dimmer wall switch that can work on a three-way switch. It requires enough bravery to turn off your circuit breaker and unwire/rewire the wall switch — it’s not hard.
What’s great about this is that if you have a fixture with four bulbs, you just change the one wall socket and you’re good to go. You don’t need four smart bulbs for the automation. Also, unlike smart bulbs, you’re never stuck with the wall switch being turned off and the smart feature not working.
Plus, the cost! Most of my switches control a fixture or number of lights. I could pay $50 for a smart light switch or I could $50 x 4 for four smart bulbs. The answer is simple.
  • Lurton Caseta —
Smart Lights — Also — I do also have Philips Hue bulbs in the outside lights! If you want to do colors, then Philips Hue is the way to go. My outside light sockets use the GU24 (two pins) so I had to buy adapters that convert that to a standard socket. Now when I want to "Halloween" or "Valentines Day" for the lights on the front of the house, the Hues are great.
  • Phillips Hue —
Smart Doorbell — I’m STILL in a wait and see mode on this one since there aren’t any smart doorbells that have HomeKit support. There are contenders that announced in 2017 HomeKit support was coming, but no one has added it in the last few years.
I own an earlier SkyBell and smart doorbells are slick. My main complaint is that my earlier version SkyBell doesn’t save videos. I am waiting for a product that supports Apple's HomeKit Secure Video. I think that NetAtMo is going to be the product for me when it all comes together because it support local-only storage (no fees!) and iCloud Secure Video.
  • NetAtMo Smart Video Doorbell (Waitlist) -
Smart Lock - I have an August Smart Lock and it’s great. You don’t replace your whole lock mechanism, just the interior side where you have your latch for the deadbolt. This lock thing is big — because it needs to have a motor powerful enough to drive an ancient and powerful deadbolt, but it works like a charm. The version I have doesn’t have HomeKit support unless I buy a bridge, which I haven’t sprung for.
  • August Smart Lock —
Security Camera - I don’t have a solid recommendation for this one. I have the Nest Cam and I love it, but you pay $140 — $200 for the camera, and then $10/mo for Nest Aware so you can see 7-days of historical video. When I realize I’ve owned mine for five years? I have paid a lot. There’s no direct HomeKit support, but there is a HomeBridge plug-in for them, so I can see live(ish) video in Home. I can set it to only get notifications if it sees an unrecognized person when I’m not home (and my wife isn’t home). Awesome. The Nest App that lets me review my last week of video is amazing in its ability to scrub around see when motion occurs and info what I’m looking for.
I also have a D-Link Omna 180 which has HomeKit support and local storage without a subscription fee. HomeKit support doesn’t mean much. I can see the video in my Home app and it also puts a motion detector in Home which I can use for smart triggers. To actually review history, I need to launch the Omna App and it just records 30s video clips every time it detects motion. It’s functional, gets the job done, but is a way harder look at historical video and more annoying than the Nest app. On the other hand, I’m not paying $120/yr for this thing.
I'm mostly in a wait-and-see for the cameras that will support Apple HomeKit Secure Video and see how good that can be. If Apple can make iCloud Secure Video as good of a user interface as Nest, that will be amazing. It seems to me like most cameras (that aren't nest) just record 30s video clips. The other one I've got my eye on is the Arlo Cameras which has HomeKit support, runs off a hub and has local storage and free limited cloud storage.
  • Nest Cam —
  • D-Link Omna 180 —
  • Arlo -
Minor shout out to the app HomeCam which shows you all your HomeKit cameras easily and has an AppleTV version. It’s cool to put all four of my home cameras up on the TV for fun.
  • HomeCam —
Garage Door — I have the Chamberlain MyQ and I love it! It’s one of the most magical things to be able to tell Siri to open and close the garage on my watch. I also bought the hub from Chamberlain so it's in HomeKit - it was extremely difficult for me to get the hub working because I have two garage doors, but I did eventually crack the migration system. Once it was working, it totally works. I also have the garage lights with a smart light switch (see above) so there is a Home automation, "when the garage opens after sunset, turn on the garage lights."
  • Chamberlain MyQ —
  • Chamberlain HomeHub-
Outlet Switch — I have a couple older appliances (fan, coffee maker, washing machine) on smart switches. I’m using a combo of either WeMo Insight or iHome iSP8 for this. At this point I’d recommend the iHome iSP8 as the smart switch. The only nice thing about the WeMo is that I can have the app notify me when the washing machine stops getting power so I know when to move the laundry to the dryer.
  • iHome ISP8 —
  • Wemo Insight —
Leak Detection — Not HomeKit, cause I made a mistake. After the kitchen sink flooded the cabinet twice, I got an installed the iHome iSB02 just assuming it would be HomeKit compatible because the outlets are, but I was wrong. So if there is a leak there will be an alarm, and I’ll get a push notification, but I can't do any other HomeKit automation from it.
  • iHome SB02 —
Door Detection - I have an Eve Door Sensor on one of the kid's doors. I set an automation to flash the office lights each time the door is opened. I have some issues with this automation (because light flashing isn't a HomeKit action).
  • Eve Door & Window Sensor -
Weather — I have a Netatmo Weather Station setup. I'm using HomeBridge, but the latest NetAtMo stations natively support HomeKit. With the weather station module in the backyard, it’s kind of cool to ask Siri for the temperature in the backyard. I also have a fancy script that checks the temperature in the backyard (NetAtMo) versus the temperature in the house and Ecobee Thermostat settings (heat/cool/range) and sends my Phone a notification when it’s a good time to open/close the windows.
  • Netatmo Weather Station —
Indoor Air Quality — I live in California and was in one of the many areas drenched by smoke from the fall fires. For nearly two weeks the outdoor air quality was running above 200 often above 300 and I kept wondering, how good are my indoor filters and how good is my indoor air quality? The NetAtMo can tell you CO2 levels, but nothing about VoCs. I have the Awair in my master bedroom to tell me about air quality.
  • Awair 2nd Edition —
Smoke Detector — I don’t have a great recommendation on this, I think Onelink is the only HomeKit compatible version. I have a Nest Protect and it’s fine . If I had a HomeKit compatible I could, in theory, have something happen when the smoke detector went off (like turn on the sprinklers?)
    Onelink —
Fan — There are smart fans, but I hit a snag in this. My fans aren’t HomeKit controlled exactly. I have only a single wall switch that provides power to the light and the fan, so while I have a Caseta there I can’t can change the fan speed separately from the light using HomeKit (if I dim the light, the fan slows down. Light off means fan off). I installed Hunter wireless receivers and use the Hunter Bluetooth bridge to control them from the Hunter SIMPLEconnect App. Now Hunter’s website says that SIMPLEconnect is HomeKit compatible, but this only refers to the Hunter WiFi fans and not the Bluetooth receiver. So it achieves my goal of controlling it all on my phone, but it’s a wonky.
  • Hunter 99106 Simple Connect Remote Control Receiver —
  • Simpleconnect™ Wi-Fi by Hunter Fan —
Vehicle Tracker — No HomeKit on this one, but I use the Automatic in the car to keep track of all the trips travelled. My car is too old to keep track fuel automatically, so I use Road Trip for that.
  • Automatic —
  • Road Trip —
Smart Thermometer — Weber iGrill2 is fantastic! Stick it in to your meat and start grilling and get a real-time update with graphs and alerts on grill temperature and internal temperature. What I’ve been surprised by is how linear cooking is on the various meat that I grill.
  • Weber iGrill2 —
HomeBridge is awesome and I randomly stumbled upon it and I hear very little about it. When people complain that HomeKit is proprietary, it’s half true, because I have an OpenSource server bridging all this stuff. It’s an open source project you install on your macOS server at home that provides a HomeKit interface to a ton of IoT devices that don’t support HomeKit. I've been doing my best to replace my HomeBridge devices with native HomeKit, but I'm not done. I have WeMo smart plugs and switches, TCP Wireless bulbs, Netatmo weather station, Nest cams, and SamsungTV.
  • HomeBridge —
Probably also worth mentioning the WiFi setup. I swapped over to the Eero system at home and works like a charm.
  • Eero —

Favorite Automations:

“Hey Siri, goodnight” — turns off my bedroom lights, turns off my bedroom TV, turns on my bedroom fan, makes sure the garage is closed, makes sure the garage light is off, and locks the door from garage to house. It’s awesome.
"When the garage door opens, after sunset, turn on the garage lights for 5 minutes."
"When the kids door opens, flash the office lights."
"After sunset, turn on the front yard lights to 'Halloween'"

Q: Why should I stick to HomeKit devices?

HomeKit devices gives three features I think are important that you don’t get.
  1. Can be used in Scenes that affect multiple devices like my Goodnight Scene that turns off bedroom lights (Caseta), turns on fan (WeMo), turns TV (HomeBridge Samsung TV)
  2. Can be used in triggers automations like when my camera (Omna) detects motions it turns on the living room lights (Hue).
  3. Can be controlled by Siri, “Hey Siri, turn on the hall light.”
  4. Does it all locally on device and HomeKit Hub. This stuff isn’t going up to the cloud for a company to monetize

Wednesday, November 13, 2019

Character Sheets from the Late 90s

Someone tweeted at me recently they were excited to find a Sailor Moon RPG character sheet available online. You're welcome.  I you happen to need Sailor Moon, Middle-Earth Role Playing 2nd Edition, or AD&D 2nd Edition Character sheet they are all available over here:

Tuesday, August 27, 2019

What I'm Buying from Apple. Maybe.

After a time you may find that having is not so pleasing a thing--after all--as wanting. - Mr Spock (Amok Time)
I'm not sure what Apple will be releasing next month, but it's an interesting time to do the thought exercise of deciding if I'm going to buy anything sight-unseen and, uhh, how much money I will be paying in annual tribute.
New iPhone. I don't think I'm going to buy this version. I'm iffy that I might buy it because I recognize that my iPhone is the computer I have on me all day every day and I feel like as a Apple fanboy technologist I should have the best of this for my life. Two years ago I got the iPhone X because it was such an innovative change. Last year I got the iPhone X Max because I wanted to get back to the big phone screen size again to have the most productivity. I'm not sure what this year's phone could give that I "need." A new camera with time-of-flight? Probably not, since the Mrs. does the majority of the photography in the family. USB-C? That's nice, but not an upgrade-for-it feature. I think if there is pencil support that would be enough. I often do a Screen (VNC) to my Mac at home and having the ability to use a pencil to do precise touch targets would be great for that and having my iPhone bring back the positive feeling of my first USR Palm Pilot might be enough nostalgia to make me do it. Will it support Graffiti™?
New Apple Watch. Almost certainly I'll buy this because I assume it will come with some new health measurement technology (sleep?) and it would feed into my desire to track everything in my quantified self.
New iPad. This is the hardest decision! I have the latest and greatest iPad Pro (12.9-inch) (3rd generation) so I struggle a little to understand what a new iPad Pro is going to offer me that is going to make me feel it's worth an upgrade at this point. This one also has rumors of a powerful time-of-flight camera slapped on the back, but I NEVER take photos with my iPad, so that one is not a motivator. Yet, I gave up my computer and am running iPad-only in my life at this point and there is something excited about being here at the birth of a new platform.
New Mac. My current theory is that I'm done buying Intel-based Macs. In fact, the only Mac left in my future is a replacement for my home server (currently running on an old MacBook Air) and I really want a new ARM-based Mac mini. THOUGH, I am looking at some career changes and I think I'll need to get any newly announced 16" MacBook Pro as part of a signing contract... obviously!
Apple Display. Yeah, in theory they may be a "non-Pro" version of the Apple Display that doesn't cost... a... lot. But I'm pretty indifferent with screen quality. I use a cheap screen now and will continue to use cheap mediocre screens.
One More Thing. The most likely "one more thing" to me is Apple+ which is the bundled subscription of all Apple services (TV, Music, Arcade, iPhone, AppleCare+). The only thing in here that interests me is Apple Arcade and we'll see how that goes.

Saturday, August 24, 2019

Hacked Together Like a Dream

Kids just trying to make a living are always the good guys. - Papergirls
On of my fun little side projects, Weather.Next, it sends a weather forecast email if the temperate in the next seven days meets a criteria you configure such as "raining" or "high above 100 degrees." I built it years ago and every once in a while do a security update to a library, but mostly it just runs fine - but then I decided it would be cool if the email told you why the message was triggered.
I thought it would be easy, but uhh, the way I designed the code is that the when the trigger happens the trigger thread makes a web request to pull down the email content from a JSP page. So like, it's in two totally separate execution threads without any good way to pass a large data block. I could theoretically post all the trigger reasons into the page to have it echo out... but that's kind of a gross hack. So instead, I did a different gross hack that I love to hate.
I stored all the trigger reasons into memcache and then pass a triggerId in the URL parameters so the separate page load can read from the memcache and populate. Guess what? It totally worked. Guess what? I can think of all the reasons it won't work (GAE doesn't have a distributed memcache, GAE makes no guarantee anything will even store into memcache). I could solve it, but actually writing into a persistent storage, but why?
Still, now I assume this problem is solved FOREVER. When I do these things, I always think about the many MANY enterprise web apps where engineers did similar work arounds and wonder how the internet even works at all.

Monday, August 12, 2019

Public Speaking Takes Practices, Lots

I’m dead to everyone unless I try to become what I may be. - Paul Atreides
When you ask Americans what is their top fear, the #1 answer is "Public Speaking," outpacing such other popular fears as death. If you're an extrovert you've got a small advantage on not being terrified of public speaking, but not a very big one. Almost everyone has an innate fear of doing a big prepared or impromptu presentation in front of an audience. There is only one surefire way to work past this fear: desensitization from repetition. You need to present as frequently as you can as often as you can. Let me suggest ways to make it easier.
If becoming better at public presentations is your goal, tell your manager and get some buy in they can help you. Next look for every opportunity you can do presentations to others. Start presenting in small meetings of three to five people. This should be your immediate team you're close with. When this type of audience becomes no big deal, ask those people to invite one of their friends/colleagues that you don't know, because strangers in your audience raises the anxiety and that's the next step to work through.
If you're at all nervous about a presentation, always do a dry-run practicing the whole thing by yourself - video yourself doing it and suffer through watching yourself and remember that you are your own worst critic. If you're presenting to a small subteam, you can do the dry run by yourself or with a single coach to make sure you understand the pacing and content of your presentation. Eventually you'll be comfortable and stop doing the dry run when presenting to a team of five coworkers. When I'm presenting to my whole company or an important client I still do a dry run by myself and follow it with a dry-run to a colleague. If I'm presenting at a conference or a webinar I'll do a personal dry-run and then present multiple times to colleagues to refine the presentation. Ask for feedback from your audience. "I'm working on improving my presentations. What did I do well and what can I improve on?"
You are probably presenting with a slide deck and you can look up a lot of material out there on how to create the most compelling supporting decks, but be warned, most of those articles focus on creating evocative TED-talk style supporting decks and you're probably presenting status at a weekly staff meeting or something much simpler that doesn't require you spend time browsing stock photography websites for the perfect stunning background image. You don't need every little presentation you give to be a mind-blowing work of art; you're just trying to get your point across. What is your objective? Persuade. Present Information. Know your goal.
For formatting grab your company's template (if there is one) and look at your CEO's and marketing department's presentations for guidance. My favorite rule of thumb is the 10/20/30. Each slide should have fewer than 10 words, in at least 20pt font, with no more than 30 slides. Assume each slide takes about a minute present, that's a 30m presentation. You want your audience listening to you, not reading the screen. Lots of words is a bad thing and you can follow up your presentation with a link to a wiki page or printout for in-depth review.
And honestly, that's it. I used to FEAR public speaking and now it doesn't phase me. I am *NOT* one of those people who looks forward to doing it, but presenting to a room full of people is just another task that I am willing to do and worked hard to get good at so I could get my job done.
There are also organizations that are designed to help you get better at public speaking and getting desensitized. So if presenting to a small group of people you know is too much, go check out Toastmasters and you can present to strangers! But be warned, Toastmasters is going to prepare you to present to a large room of people - not that basic staff meeting I was talking about.
In summary:
  • You need to present as often as possible to desensitize yourself through repetition
  • Practice your presentations before you make them. Continue to practice that same presentation until practicing doesn't make you less nervous (you can't practice all the anxiety away)
  • Not every presentation is a TED Talk - don't sweat making it amazing, just be competent (PS, this does not apply if you are actually giving TED talk or something similar, try and make those amazing)

Wednesday, July 24, 2019

Tracking the UV Exposure

It’s very freeing to have low standards. - Caroline Haskins
In my quest for the quantified self I go the La Roche-Posay UV Tracker and my basic summary is, don't get it. I'm sad to say that this product is a dud for a reasons. Many years ago I had this great app on my phone (made by a sunscreen company) that would ask for your skin type and then you start a "sun session" and it would get the UV index for your location and remind you periodically to reapply sunscreen. Simple. Awesome. Haven't found one since. I am sort of wondering if I could recreate it as a Siri Shortcut... but for now.
This itty bitty tracker can be worn anywhere with sun exposure and I wear mine on my Apple Watch wrist band. Everywhere I have tried to wear it (shirt color, watch band, hand brim) has had it slip off at one time or another. I'm certain I'm going to lose it one of these days. I have lost it for days at a time only to find it in a kid's bed or the floor of the car.
The device syncs data over NFC (not Bluetooth LE) so that means the phone doesn't get any updates unless you launch the app hold the phone up to the device and wait a few seconds. The App sends a push notification every couple of hours, "you should probably sync data again." It's incredibly inconvenient and really needs to be like all my other smart trackers that just magically send data to my phone so my phone can hit me with useful alerts.
The app itself just tracks exposure and doesn't have any smarts to remind you to reapply sunscreen or do anything fancy. So I just get to see that I've been exposed to "242%" of my daily allowance, but there is nothing to let me know if that is okay because I was wearing SPF15 most of the day or not.
Anyway, it's silly and I don't really see any market for this thing other than silly people like me.

Friday, July 12, 2019

Do You Have a Brag Folder?

The notion of a pure meritocracy is easy to believe in, to the point of delusion, when you're on the winning side. - Nancy Updike
You’ve probably accomplished lots over the past year and received praise from clients, coworkers, and management. You are also probably on an annual (or twice a year) review and bonus cycle. You and your manager are unlikely to remember everything you did since your last performance review, especially if your manager has changed. It’s worth keep a folder tracking all these things so you’re prepared for your self-evaluation and ready to help out your manager do their review. Keeping track of your accomplishments in a Brag Folder is good for everyone.
I first encountered a brag file when I had employees who came from one of the giant consultant companies. Their managers would have 50+ reports and so the culture made it the employee’s responsibility to demonstrate her performance and achievements to the manager and there was no expectation the manager paid any attention to employee performance throughout the year. When performance reviews came up for me and those few of employees sent an email saying, “I know performance reviews are coming up and I think this will be helpful in evaluating me” including a zip file of their brag folder, as a manager, it was amazingly helpful. What was in their files?
The Summary: Your career is a narrative. Each 6-12 months is a chapter. What was the plot of this chapter? What one thing did you improve on the most that you can tie into your activities and accomplishments? Did you up your game in client management, project management, software development, company contribution? That’s great for the summary to say it: Over the past six months I choose to focus on understand privacy and security. By taking online courses and making updates to our modules, I expanded my security expertise and am ready to help guide others.
Projects: This is pretty straight forward, but what projects did you work on? How did you personally contributed to those projects? Did your work make any impacts on Key Business Indicators (KPIs) or other measurable metrics?
Fuzzy Stuff: Companies like to see you invest in your team and your company. Did you help plan or attend social activities? Did you provide extra coverage so teammates could take time to do training, attend to personal obligations, or go on vacation? Did you refer an employee or help with interviews? List it, that’s great to show you’re a team player who benefits the company outside your day-to-day responsibilities.
Outside of Work: Did you go to networking events, have a blog, or do personal software work? If you can tie that into being a better employee, make sure to list it.
Recognition: Did you receive an email, phone call, slack from a client, coworker, or management recognizing a job well done or above and beyond performance? Save that exact document and include it.
As a manager (and employee) I’ve found receiving (and sending) these documents great. I’ve never been annoyed by an employee who sent it or had a manager tell me not to. Even if you feel your manager won’t be receptive to it you can still keep it to remind yourself at review time and if your manager changes on you the new one is going to be very receptive to getting it.