Skip to content

How To Get Things Done

Time is the great leveler. Regardless of where you live, what job you have, how much money you have, or what culture you live in, you have 24 hours in a day. We have a responsibility to cultivate our resources. At the very top of this list is our time. We live in an age when our time is more limited than ever. From big companies (Instagram, Twitter, etc.) to our friends (messaging us all day), every aspect of our culture nibbles away at any minute of spare time that we have. Managing our time well is more important than ever and is a crucial aspect of being a wholesome and effective person. Here’s what we want to accomplish by managing our time well: Integrity. We want to do what we say we will do without being reminded. Clear Priorities…

Continue Reading

Supercharged Zsh Command History

I’m a big fan of incrementally improving your terminal productivity. I invested in learning tmux a while back and it’s been a game-changer for me in terms of flying through terminal workflows (which is especially important for me since I’m heavily REPL-driven). I’ve wanted to improve my terminal history functionality for a while now and recently found the time to tune up this part of my dev workflow! Fzf-based Shell History I’ve been using fzf based completion for years and it’s awesome. It’s easy to install so if you want something better than the default, this is a great place to start. Removing Entries from ZSH History If you update HISTORY_IGNORE your existing history is not retroactively filtered…

Continue Reading

My Ergonomic Desk Setup

Years ago, I had wrist issues. After a certain point, they would just constantly hurt. Since then I’ve always tried to iterate on my desk setup each year. I sit at my computer typing a lot; investing in the tools I use every day always made a bunch of sense. I’ve spent time & money researching, purchasing, testing, etc various tools to improve my desk setup to eliminate pain. Notes from an Ergonomic Consultation One of the neat things my BigTech job provided was a session with an ergonomic consultant. Here are some notes: The screen should be at arm’s length from your body. Most likely, you should pull your screen closer to your face. The knees should be at or below the hip level. This means your desk and chair should sit lower…

Continue Reading

How to Throttle Your Internet Connection

A conversation with a friend recently turned me on to PFSense. It’s an open source firewall system that enables you to control what’s happening in your network. One of the features it enables is packet throttling. It got me thinking, can I throttle my internet connection speed just on my local machine? I’ve been interested in digital minimalism for a long time. One of the things I’ve never been able to crack is nudging me towards stopping the use of all of my devices without forcing me to do so. If I’m forced, I’ll need an escape hatch for when my predetermined schedule doesn’t work, and then I’ll abuse that escape hatch…

Continue Reading

Git Completions & Tooling on the Command Line

I enjoy tuning my terminal environment. I’ve recently learned tmux, switched to zsh, and constantly incrementally improve my personal dotfiles. I’ve put together a stack of tools for working with git on the command line. I find this much faster than working in a GUI. Here’s what I use: git-fuzzy for generating commits (git patch is especially useful here) forgit for switching branches, viewing logs, stash list, git fixup, etc git (aliased as g) for misc git commands (like cherry-pick, etc) with a handful of config customization custom functions and aliases for various shortcuts, including interacting with the gh-cli command However, one piece of the puzzle for me wasn’t working properly: tab completions on the core git command…

Continue Reading

Fixing Word Navigation in ZSH

Moving to zsh from bash has been a great quality of life improvement. However, there is one thing that has driven me nuts that I have not been able to figure out: customizing the word boundary definition. I’m using zsh 5.9 and have a lot of plugins. forward-word ,backward-word , and the kill variants were the main widgets that I use. I used bindkey to determine these functions. After some investigation, it seems like these widgets are controlled via zstyle ':zle:*' configuration. You can dump configuration via zstyle -L You can determine what underlying zsh function is used by a widget via zle -lL…

Continue Reading

Book Notes: Making it All Work

Something new I’m going to try doing this year is book notes. I’m continually more bought into the idea that writing down your thoughts helps you harden and remember them. Books take a lot of time to read: if I’m going to invest the time in a book, I should be ok investing another ~hour in calcifying the lessons I learned—so that’s what I’m going to try to do. This should help me better filter what books to read: if it’s not worth spending the time to write the notes, I probably shouldn’t read the book (obviously excluding entertainment-only reading). Here are the notes for Making it All Work. The book wasn’t great, I wouldn’t read it unless you haven’t read Getting Things Done and are new to personal productivity. Here are the notes!..

Continue Reading

Are You Being Deliberate About Long-term Goals?

Recently, I met with a mentor about some of my past and future goals. After listening and understanding my goals, he started to dive into the motivation behind my goals. Why did I want to build that product? Why was I interested in that type of business? What did I want my life outside of work to look like? What type of people do I enjoy working with? Am I working with those people? What type of work did I enjoy? What type of work am I excellent at? What type of lifestyle do I want to live? I had good answers to the first round of questions, but as he kept digging I realized my answers were becoming more and more thin, and I had a lot of thinking to do. I’m a planner by nature…

Continue Reading

Why the Right Premium Services are Always Cheaper

By nature, I’m frugal. I love getting a great deal, and getting the most of out of my purchases. When I was fifteen I got a new MacBook Pro for free by working those “get a free MacBook pro” ponzi schemes online: my obsession with a great deal started early. I’ve learned that it’s often worth paying for premium services when your time is at stake. Not only your current time, but time that a premium service could possibly save in the future. Opportunity cost is a real thing: it’s important to consider what you can’t do or time that could be possibly spent on fixing a future problem with the service or product. Here are a couple of failures from recent memory: Low Cost HSAs…

Continue Reading

Closing the Loop vs Completing the Project

Completing the project is crossing the entire thing off the list, eliminating the chunk of work completely. It’s moving a project from development to maintenance. Closing the loop is different. It’s eliminating the dependency that someone else has on you – or at least updating them on the state. Every project has dependencies, and if you are pushing for excellence your role is most likely key to the projects success. Leaving others hanging is the worst thing you can do. It’s when someone’s dependency on you becomes a blocker to the project or a drain on the projects momentum. And it’s one my biggest faults. I’m a recovering perfectionist. I love when things are complete and I can deliver them to a teammate or client…

Continue Reading