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 →

Hiltmonism - 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 →

A Yosemite Markdown Spotlight importer

All my text and writing is in Markdown formatted files and I would like to search them using Spotlight. The editors I use do not have an importer (they have Quicklook only), so this is not available directly. Changing the RichText Spotlight importer trick worked in previous versions of OS X (see how in A Simple Markdown Spotlight Importer), but since System Integrity Protection in OS X El Capitan, this no longer works.

Read on →

Making and maintaining high resolution charts for Indesign CC

One of the biggest headaches I have using Adobe Indesign is the creation and especially maintenance of charts and graphs. In my case, my fund publishes several high quality books and one-pagers monthly and I need to update a bunch of charts and graphs. I also need to print these at a very high DPI, hence Indesign. I used to use Adobe Illustrator graphs. They are rudimentary, but very customizable. Every month I had to load an Illustrator file for each image, update the graph data and then spend time tweaking the results.

Read on →

Brown M&Ms: A Quick Way to Determine Code Quality

My business runs on code. Every day, my team and I deploy new systems, patches and add new features to our mission-critical code base. And we rarely have a problem. That’s because we have a quick way to determine if the programmer attended to the details of the product and code, and whether we then need to hold the deploy for a deeper check and test or can run a lighter test and confidently push it out.

Read on →