Reimagining Pen & Paper

At work we’re reimagining how we do, well, everything.
We’ve moved our office software to the cloud, transitioned to an agile project management approach, and are expanding on and accelerating our cultural revolution. It’s little things that make a big difference, and the impact is exciting. The way I work is shifting, and one of the things that’s at risk of getting left behind if handwritten notes.
I like taking notes on a computer just fine, but sometimes there’s just no substitute for pen and ink. In a world where I can use my wristwatch to do work though, how does a paper notebook fit in?
This week I went looking for a 21st century solution, and I found Rocketbook.
They sell reusable notebooks (some of which you erase by microwaving them, which seems a bit gimmicky) and, crucially, an app that digitises the notes and automatically saves them to one of a number of predefined cloud destinations like my all new work Google Drive.
They’re $51.05 in Canada which is definitely expensive enough that I wanted to try the app first. You can do that with freely downloadable PDF versions of the notebook’s specially marked pages and grab the app from your app store of choice, and it works great. While I was at it I tried scanning the same page using the Google drive app and it was just as successful, cropping, deskewing and colour correcting without the need for any special page markings.
So I’m sticking to my regular old notebooks and the Google drive app that came on my phone. Fittingly, it turns out I had the tools I needed all along and I just needed a little adjustment to my approach to make the big difference I was looking for.

Don't Make Me Work to Spend Money

I’m planning a trip to the UK – where I’m from – later in the year.
Last time I went there I still had my SIM card from when I lived there. I’d changed it to a prepaid account before I moved, so I just added some credit and everything worked great. Since then Three have changed their terms of service and cancelled my account for no other reason than I haven’t topped up my phone in two and a half years.
I need an alternative, and the most cost effective solution for international travel is almost always to buy a SIM in the country you travel to, but is that something I want to deal with on vacation, in each and every country I visit? It is not. I’m prepared to pay (or at least not save as much) to not have to do that.
I found a company called OneSimCard that seemed to fit the bill, offering a SIM I could buy ahead of time and use to save me some money whenever I travelled. Unfortunately the fact that they have three products that all fulfil my need (but each with their own advantages and disadvantages) and I had to work to figure out which was best was a problem, and the checkout process that didn’t quite work correctly was the nail in the coffin.
We could debate whether “the customer is always right” all day long but one thing I hope we can all agree on is that the customer is always the customer: their role in all this is to give you their money in exchange for goods and/or services, and your job – your only job – is to make that process as smooth and simple as it can possibly be. Make sure they’re happy and they come back later to do it all again too, ideally.
Whether you work at a local grocery store or a large multinational, that’s something we’d all do well to keep top of our minds.

The Tools of My Trade

Recently I’ve been watching a lot of Casey Neistat videos on YouTube. If you’re not familiar with him, Casey is filmmaker. It’s fair to say he’s one of the founding fathers of the “daily vlog,” and has brought a methodology and a style to the genre that has since become the standard.
As someone who seems to define the medium in which he works, Casey often gets questions about what hardware he uses to create his videos. He rarely answers them, instead saying that his ideas are important, the tools he uses to express them are not. Pretty much any camera would allow him to convey his ideas, and therefore the best camera is whichever one he happens to have available.
This makes sense. I’d be willing to bet that the last time you went to see a movie the question of which camera model they shot it on never once crossed your mind.
I’m not a filmmaker, I’m a project manager. My tools are Outlook, Word, Excel, PowerPoint… the list goes on but you see what I’m saying. You could argue then, possibly quite persuasively, that the same thinking applies here. We could swap out our office applications for alternative tools, and it would make no measurable difference in any important way.
But that’s not what I believe, and I think I have excellent reason to be excited about my workplace’s upcoming switch from Microsoft Office to Google G-Suite.

Back to Mr. Neistat. If his views on the importance of the tools we use are so opposed to mine you may wonder why I cited them, but actually they illustrate my point very well. Casey preaches that his purpose as a filmmaker is to take his ideas and deliver them to his audience. Anything in-between, no matter how crucial it is to the process, is little more than a barrier. This is a fascinating perspective to me: by this definition every tool
we use is helping us move forwards while simultaneously holding us back. And when the ying and the yang are out of balance? When our tools start to hold us back from our purpose a little too much? It’s time to reassess.
It is time to reassess.
Here’s a brief story: Not too long ago I created a shared OneNote notebook for a small team to help us collaborate on a particular task. It took me 15 minutes to create it and publish to SharePoint with all the right permissions, and another 15 minutes to show people how to open it and synchronize the content. People were blown away with the ease and simplicity of it, and the power of collaborating in real time on the same piece of content; not to mention having a single source of truth and no emailed document preposterously named something like “Important Document v9 FINAL for final circulation FINAL v2.doc.” My 30 minute time investment paid off, then – people even congratulated me on it. But what if we lived in a world where our tools were built from the ground up with that kind of collaboration in mind? What if we never had 12 different versions of every document, spread across four email chains? What if we didn’t have to use the word “investment” when we talked about getting our tools to work for us, and allow get things done in a way that makes sense?
This, is why I’m so excited. The more I lean about G-Suite the more it becomes apparent that it’s been built with this sort of thing in mind: the sort of thing where teams can’t reasonably gather in front of the same whiteboard, can’t huddle in front of the same computer… can’t afford for their tools to hinder their purpose more than they help.
There are countless stories like mine out there in my organization. We’ve become blind to them because we’re so used to the status quo. That’s not OK, but it does mean that with the right approach we could uncover them, collect them together, share them, and nurture them to take on a life of their own. If only we had a platform for that sort thing, hey?

How to Create a Custom Google Now Command for Anything on Android

While I was waiting for the electronic components to arrive for my DIY Smart Home project, I had the idea of adding some voice control to our house.

Plenty of people have done this with the Amazon Echo, but that’s not available in Canada yet. Google Home has now been announced of course I want one, but I don’t know when they’re going to be available in Canada either.

After a quick google search I found the article I’ve linked above about adding a custom google now command using Tasker on Android
– an app I already know and love. I set it up to trigger a call to the HomeAssistant API.


How to Create a Custom Google Now Command for Anything on Android

WiFi Doorbell – Proof of Concept

It’s been a little while since I posted about my smart home journey because I’ve been pretty busy of late with other things (like my actual job), but rest assured that there has been progress – albeit slow.
As I mentioned before, I’ll be adding three microcontrollers to our smart home setup in various parts of the house. Each project is going to go through three stages: proof of
concept, prototype, and final product.
Today is our first proof of concept, and it’s going to test whether or not I can hook our existing doorbell up to WiFi.
Getting a notification when someone rings the doorbell was the first thing Flo asked for when I mentioned I was going to start making our home smarter, and I quickly set
about figuring out how to do it: happy wife, happy life.
Some initial ideas (adding a relay to the doorbell circuit) were fairly quickly dismissed, and so I came up with a piece of out of the box thinking that I’m actually very proud of.

I’ll be using magnetic switches, also known as reed switches, elsewhere in the house. In fact, we already have them on many of the doors and windows as part of our burglar alarm, and you may well have some in your house too. They work by opening and closing when a magnet is brought into proximity with the switch. My flash of inspiration came when I was thinking about how a doorbell works: an electromagnet pulls a hammer into one chime when the doorbell is pushed, and then a spring pushes it into a second chime when the button is released and the electromagnet turns off. So, if I put a reed switch next to the electromagnet then the switch will flip when the magnet
turns on. Genius!
Happily for me, our doorbell has two chimes: one in the main floor hallway, and one in the basement. I wouldn’t want to run cables up the wall to the chime on our main floor, but the basement one is the mechanical room so the aesthetic is really not a consideration.

Using a switch as an input for the NodeMCU is simple. Really the only thing to think about is that the digital input pins are “floating,” which means that if nothing is connected then the result you get from them is unpredictable. To account for this you use either a “pull up” resistor between the input pin and the 3.3v pin, or a “pull down” resistor between the input pin and the ground pin. I went for a pull down resistor between the input pin and ground, then put the switch between the input pin and 3.3v.
For the proof of concept I wrote some simple code to display the input pin state over the serial console, taped the reed switch place and, despite some protest from the dog, rang the doorbell a few times.
It works!
Next step: prototype.

NodeMCU, MQTT, IoT & Other Letters I Find Exciting

If you’ve been keeping up with my #SmartHome series (and if you haven’t, why not?) you’ll already know that I have plans to make more of my home “smart” using Home
as the software that ties everything together, and some DIY NodeMCU-based hardware that I’m going to build myself as a learning opportunity.
Another important piece of the puzzle, but one that I haven’t previously mentioned, is MQTT.
MQTT is “a publish-subscribe-based lightweight messaging protocol for use on top of the TCP/IP protocol,” at least according the slightly suspect grammar of the person that wrote the Wikipedia article about it.


I learned about MQTT at the same time I learned about Home Assistant, although I didn’t initially appreciate its power. I’ve been using it from the start to enable Home Assistant to know where we are: our phones run an app called OwnTracks which publishes
location data to an MQTT “broker” (server). Home Assistant subscribes to these updates, which means it immediately knows about it when our location changes.
I love this whole solution, not least because it’s very easy to run my own MQTT broker (I’m running Mosquitto in a Docker container on my home server) and I’m therefore entirely in control of our location data – it’s not being shared with the developer of some app or service I have no insight into.
This publish/subscribe model and the lightweight nature of MQTT makes it perfect for “Internet of Things” (IoT) devices to communicate with each other, and when you add Home Assistant into the mix it gives me all the tools I need for any sensors I build
to feed their data into my smart home ecosystem, and for my smart home controller to feed commands to any devices.
Indeed, I’ve already built my first little NodeMCU app that leverages the technology.

I’ve ordered almost all the components I need for my upcoming hardware projects from China, and they’re only just starting to arrive. Happily the NodeMCUs themselves were amongst the first shipments to land on my doorstep, so even though the only thing I can really do with them right now is programmatically turn their internal LED on and off, I have still been able to use this to start learning: I’ve made it an internet controlled

As promised, I’m going to be sharing both the hardware and the software as I take this DIY Smart Home journey. There is no DIY hardware here, just the NodeMCU itself, but I’ve published both the Arduino sketch and Home Assistant configuration I’ve used for the video.