Monthly Archives: March 2026

How to sharpen the saw

Sharpening the saw” is a term from “The 7 Habits of Highly Effective People”.

I’m lucky enough to get time in my day job to do this. Here’s how I use that time, specifically:

  1. Systems maintenance
  2. Learning
  3. Systems improvement
  4. Innovation

Systems Maintenance

This is the first priority during sharpening time. It means attending to natural breakages, accumulations of disorder & chaos.

Over time, systems naturally accumulate chaos. The work of maintenance is simply to bring a system back up to the status quo.

It does not mean going beyond to try to fundamentally improve a system (that comes later). However, sometimes it’s easier to replace a system instead of doing maintenance on it.

Examples:

  • Doing a slower and more thorough GTD review & meditation
  • Cleaning out my hard disk and deleting old files
  • Fixing broken parts of my development environment
  • Routine software & toolchain upgrades

Learning

Learning could mean learning to use my tools better, learning more about the codebase I work in, or more general learning that is still relevant to my daily work.

The idea here is to focus on key leverage points that amplify your ability to do the main workstream better.

If I use tools daily, learning to use them 1% or 5% better can yield impactful differences in what I can accomplish.

If I work in a codebase daily, improving my understanding of certain corners where I have shaky understanding can also be a force multiplier for how effectively I can work, and what kinds of projects I can contribute to.

Examples:

  • Watching videos about Apple Notes/Notion/Miro to learn new features
  • Asking AI to give me exercises to do to learn parts of the codebase better

Systems Improvement

For example, if you were cleaning up your note taking system, maintenance would look like cleaning things up within the existing system, but wouldn’t go as far as deeper thinking about whether you should fundamentally change the system, switch products, etc.

That’s the thinking that comes in the Systems Improvement phase, where you go one level deeper and examine the system holistically and consider larger scale changes, repairs, or improvements.

Maybe the system doesn’t even exist, which is an outstanding liability.

Examples:

  • Should I completely switch from Apple Notes to Notion?
  • I have no data backup strategy. What would a basic one look like?

Innovation

Innovation is taking time to explore new, experimental, or unconventional ideas that would never get prioritized into the main workstream. Nevertheless, these experiments can be significant points of leverage. (GMail came from Google’s “20% time”).

Devtools update 2026: Ghostty, just, flash.nvim, and more

I checked out some hot new tools and here’s what I’m using:

Ghostty

A “new” terminal emulator. It’s supposed to be very fast and lightweight.

Why I’m using it:

  • Being able to store my terminal config in a single file. iTerm2, which I was using before, has very complex GUI menus which I never fully understood.
  • It seems fast, but iTerm2 also seemed fast enough.

  • iTerm2 features that Ghostty supports
    • Global hotkey for visibility
    • Loading color themes (Dracula)
    • Copy on select
  • iTerm2 features that Ghostty doesn’t support
    • Ultra-thin tabs (Compact mode)

My config:

theme = Dracula
font-family = Menlo
font-size = 14
font-thicken = true
keybind = global:alt+backquote=toggle_visibility
copy-on-select = true
macos-titlebar-style = tabs # No iterm2 compact mode equivalent

Dracula

It’s a dark terminal color scheme. I like it.

just

If you ever wrote a Makefile just to conveniently run some commands, just is that but designed explicitly for this use case.

Benefits:

  • Full support for targets and dependencies
  • No need for .PHONY targets.
  • Can list out all targets with a command line
  • Can use a shell interpreter and write just scripts (this is awesome)
  • targets can take arguments, allows for reusing targets within the justfile
  • Can you custom script interprets in the body of targets

Downside: You can’t explicitly control parallelism with -j. You can only use a [parallel] annotation in the justfile.

flash.nvim

A better version of EasyMotion, vim-sneak, hop, leap etc. Jump to any character on screen immediately. Also has LSP support.

There is an unofficial VSCode extension too.

zoxide

Easily jump around directories.

lazygit

Been using this for a while, but an extremely powerful git client. Ideal tool for rebasing and cleaning up branch history.

Old stuff

Not-new parts of my setup I continue to use:

  • VSCode
    • C-mantic, clangd, search-in-current-file, fuzzy-search, All Autocomplete
  • fish shell
  • nnn