The Dreaded Weekly Status Email
I remember the first time I had to write one of these puppies. I had just been promoted to manager at Yahoo back in 2000, and was running a small team. I was told to “write a status email covering …
Self-host analytics for better privacy and accuracy
Something that always annoyed me of the current state of technology is how easy and pervasive we let tracking become. Tens of connections to 3rd parties carrying Referer and Cookies just to load an article. (We give up our users to social media websites just to show a like button that looks worse anyway in a iframe…
The Finder’s GUI tax can be very expensive
Once a month, I download roughly 25 gzipped (.gz) files from Apple—these are our Mac App Store sales reports, with one file for each App Store region. I could have Safari expand these files (via the "Open 'safe' files after downloading' item in its preferences), but I prefer to leave that option unchecked. (Why? I…
How Chrome ate 21GB of storage
I've been playing with the macOS Sierra Golden Master for a few days and ran into the new storage optimization app that is now included in macOS. It lead me to realise that Chrome was using 21GB of SSH space!
Org-Mode for Writing: Structure and Focus
Org-mode is a structured editor that combines the best features of a powerful outliner and a powerful editor in one package. I’ve been fooling with org-mode a lot lately, digging into capabil…
Raspberry Pi Car Speed Detector
(2016-12-18 Version 2 is now on github. It fixes one bug, makes the code style more consistent, and adds a few additional options for tracking the results.) It started with a Facebook post from my …
Two-factor paper passwords
I guess it makes me boring but I try to get people to use stronger passwords. People love to use the same password over and over again, o...
Backing up 18 years in 8 hours
Max Goodhart's personal journal and sketchbook.
Lumen: Auto brightness based on screen contents
Lumen is a menu bar application for macOS that magically sets the screen brightness based on your screen contents.
The apt command: Combining apt-get and apt-cache and adds a progress bar (2014)
APT 1.0 was released on the 1. April 2014 [0]! The first APT version was announced on the 1. April exactly 16 years ago [1]. The big news for this version is that we included a new “apt”…
A tool for thought
As ClojureScript nears its fifth birthday I find myself reflecting on its suitability as a “tool for thought” . Certainly reading the Structure and Interpretation of Computer Programs nearly thirteen years ago painted an ideal image of Lisp as a truly interactive and tangible approach to computing. That experience…
'Music' from /dev/urandom
Last Updated Dec 12, 2019: Fixed an off by one error (awk uses 1-based arrays!).
Design and Implementation of a Win32 Text Editor (2005)
Welcome to the brand new tutorial series - “Design and Implementation of a Win32 Text Editor!” The purpose of these tutorials is to follow the development of a …
Turning off syntax highlighting
An experiment in turning off syntax highlighting and its effects on code quality and readability.
How to make Slack less bad for you
Slack claim to be in the business of "making your working life simpler, more pleasant, and more productive". We’re about to be cynical, so let’s acknowledge that this claim is probably at least par...
IP Over QR Code
**UPDATE** Some have ask the throughput I am getting, its just about 100 Bytes per second, but hopefully I can improve it :) **UPDATE 2** Removing my custom seq/ack header and it still works and is…
Common shell script mistakes (2008)
Portability and Robustness issues commonly found in shell scripts