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.

Read on →

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.

Read on →

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.

Read on →

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.

Read on →

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.

Read on →

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.

Read on →

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.

Read on →

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.

Read on →

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.

Read on →

Dangerware

Dangerware is common in business and government. Dangerware is just ordinary software, but the way it comes into being creates the danger. It starts with a basic prototype written in a hurry. This is quickly put into production to run the business. The prototype screws up repeatedly when faced with new scenarios. Resources are tasked to add (not update or correct) the prototype to deal with the latest screwup. This process repeats until the resource (or original business person) is tasked to a new project, or the cost of screwup is less than the cost of resources to mitigate.

Read on →