Apple Watch - After 1 Year

The Apple Watch turns 1 year old next week. If you follow the popular press, you’d think the device was rubbish and a complete failure.
I vehemently disagree.
It may be a limited version one, but it is a flawlessly engineered timepiece that is conducive to small, yet significant, life hacks.
I wear, and continue to wear my Apple Watch every day. I have done so since the day it arrived, the result of a late night wake-up alarm, a few taps on the Apple Store app and a return to sleep on opening night.
Spotlight Only - Nine Months Later
I think one should review one’s productivity tool load-out every once in a while. Operating system updates, other productivity tool updates and your own work practices change over time. Your tool load-out should too. Changing the muscle-memory, it turns out, is surprisingly simple, quick and easy. And your productivity usually increases.
I am a huge fan of keyboard launcher/productivity applications like LaunchBar, Alfred, and back-in-the-day QuickSilver. They were amongst the first applications installed on any new system, and I believed I could not work productively without them.
Text Expansion using Keyboard Maestro (First Cut)
This post presents how I have set up Keyboard Maestro to replace basic text expansion from TextExpander … so far. This post covers (More to follow at some point.):
- Basic text expansion
- When to use copy vs typing
- Limiting to applications
- Basic variables

Basic Text Expansion
The basic text expansion macro looks like the macro on the right.
- It is triggered when a string is typed, in this case
;gma - It has a single action, Insert text by Typing, containing the text to be typed, in this case
git pull; make clean; make -j 8.
Thats all there is to it. Nice and simple.
Apple at 40

Apple turned 40 this week, and it got me thinking about the past 40 years of our individual computing experiences.
In many ways, my own journey to now parallels that of Apple.
And I’m willing to bet your journey is the similar.
The 1980s - Youthful Experimentation

In the early 1980s, Apple was young, surrounded by a wide range of competitors and the Apple II was it. Everybody who could, had one. They used them to work, to play, to learn programming and to experiment.
Dependency Limited and Conflict Free C++
TL;DR: Beware of libraries you need to compile yourself and copy-pasted code, the performance, maintenance and other hellscapes you create are not worth it in the medium and long run:
- Do not use dependencies that have dependencies that you have to compile.
- Do not use libraries depended on by dependencies anywhere else.
- Solve your own problems and understand the solutions. Do not copy-paste from the web.
- Always write your own code where performance and maintenance is critical.
This post specifically targets C++, but is really a general set of rules and advice. See NPM & left-pad: Have We Forgotten How To Program? for a NodeJS scenario that this would have prevented.
Talk to Drivers, not Mechanics

How many people really know how their motor vehicle works, or even care to. Very few.
But they all drive.
And when their car breaks down or makes a noise or that ridiculous engine light comes on, they need mechanics. Nobody, except other mechanics, understands the explanation of whats wrong with the car. And therein lies the problem.
Mechanics need to learn to talk to drivers, not mechanics.
Techs are the Mechanics
Technology people are perceived to be painfully shy. I guess its a movie meme. They are not. Just observe a bunch of technology folks get into it on a topic they understand. You’ll never get them to stop talking, arguing, jousting and challenging. Mechanics are speaking to mechanics.
Minimal Project Management
With my team starting to grow at work, its time to add some Project Management to our process. However, I do not want this to add any additional time, meetings or burden on them (or myself) and so all of the popular formal processes are no good for my needs.
In this post, I will outline the Minimal Project Management process, its steps and how it works. I will also cover the issues of change and interruptions. This process only works, however, because of the quality of my team.
Build only what you need
A note as a result of a discussion with a colleague.
I had quickly assembled a simple class that triggers periodic function calls from a timer on to a single worker thread. I need this class to ensure that periodic functions get called regularly. Since each call is quick to run (takes under a second), only needs to run every few minutes and can happily be queued behind another quick function, the simple single worker model is perfectly fine for this task.
Now in HTTPS
My host, Dreamhost, is offering free web site certificates through Let’s Encrypt, a new initative to make encrypted connections the default standard through the internet. They started with free SSL certificates.
So I turned it on.
Most browsers will be warning against unecrypted web sites real soon now, so I thought it best to do this now.
The only change I seem to need was to change the Google Fonts URLs to https as well.
We're better than this
My thoughts on the toxic hell-stew that my Twitter feed is becoming. I follow (and occasionally interact with) a bunch of intelligent, opinionated, sensible tech folks whom I respect immensely and whose timelines and lives are being ruined by an impersonator, a gang of misogynists and their flock of followers.
We’re better than ganging up, taking sides and judging or expressing negative public opinions on people we do not know personally. Topical constructive disagreement is great, we thrive on that, personal attacks are not.
