🕷 zenspider.com

by ryan davis

Looking for the Ruby Quickref?

to the archives!

Declaring Complacency Bankruptcy

Published at 2021-01-11 01:27:18 -0800

There’s a strange culture in the emacs world where people periodically declare “emacs bankruptcy”. It means that you give up, nuke all of your config, and start over. Often, you wind up applying the 80/20 rule (aka Pareto Principal) and readily wind up with a smaller, faster, more maintainable emacs config that does almost everything you need. It can be worth it and I’ve (kinda) done it in the past.

Over my holiday, I declared “complacency bankruptcy”, in general, but mostly applied to my emacs setup. What does that mean? It means that I consciously adjusted my tolerance threshold for the (mostly little) things that have bugged me over the years but not enough to hunt down and fix. In other words, I’ve consciously raised the bar and if something comes up that only sorta nags at me, I hunt it down and fix it.

For example:

  • Upgrading emacs even tho I’ve been avoiding it for months (years?).
  • Evaluating the best emacs variant for OSX and switching, even tho it changed stuff and I needed to reconfigure some. (railwaycat’s emacs-mac port)
  • Studying doom emacs and learning what makes it fast and replicating parts of it.
  • Learning how emacs 27 has changed and taking advantage of it.
  • Profiling all of my config and deferring anything that cost time.
  • Getting my emacs startup time from about 2-3s to 1/2s.
  • Cleaning up and simplifying how my config picks font and size based on screen size.
  • Sending fixes I had locally back upstream to other package maintainers.
  • Fixing magit keybindings because magit interface changes so much (lol semver).
  • Fixing magit hooks so it doesn’t take forever to show status on large repos. (3-5s -> ~1/2s)
  • No longer requiring me to confirm that I want to kill emacs because I still have shells open in it. (Has that EVER saved me from disaster? no... Has it wasted a LOT of my time? yeeeessss).
  • Getting ripgrep properly integrated (except on linux?!? wtf) and working really well in projects.
  • Learning the nuances of how emacs places windows so I can finally work effectively on a larger display. (Pixels are hard!)

About 100 mostly very small commits across Thanksgiving and Xmas holidays with minimal teeth gnashing.

We all have these things and we’ve adjusted our blinders to ignore them, work around them, or bite our tongues. Tiny little things, but man... do they add up. Find some time, adjust your threshold, and follow that things that bugs you back to the source and knock it out.

Think of it this way, if you spend 30 minutes today automating some annoyance away, even if it only saves you 5 minutes a week, it pays for itself in just 6 weeks. If you do the same thing tomorrow, and the day after, and so on... before you know it things are much smoother for you.