Productivity Systems

Everybody in the knowledge work sector wants to be productive. Work, side hustles, interests, all of that needs to be managed somehow. We can’t have all that information (aka ‘open loops’, to use Getting Things Done jargon) floating around in our heads. Over time, everybody develops their own productivity system. This is inevitable.

I am no exception. I like to do a lot of things with my day, and I do get a lot done in an average day. I wouldn’t be able to without a system.

My system has evolved over a period of time. It is an amalgamation of ideas from books, podcasts, YouTube videos, social media, blog posts, and the meanderings of my own mind that all just somehow collectively and cumulatively happened to my life.

I was listening to a podcast the other day (as you do), and they were talking about productivity systems that they themselves used. That got me thinking – maybe I should document my own system. As a matter of fact, at this point my system has gotten so deeply ingrained in my day to day and in my thought process that I don’t even think of it as an entity anymore – it just exists, it just is! It gets out of my way and lets me do things, ever present as a set of subservient tools. And every now and then I update it with some new tool or nugget that I’ve recently discovered.

Without further ado, here’s a little breakdown. Buckle your seatbelts, because after writing this summary I realized how wild my system is.

OmniFocus (I use macOS as my daily driver, but equivalents exist for Windows and Linux as well) is my meta-system, the system to manage all systems, if you will. It has all my recurring items, categorized by tags that can be places, devices, levels of energy, creation vs consumption, purpose, etc. There are also projects and folders that contain many life projects.

I use Notion for tracking goals – especially long term goals and yearly goals, broken down into tables that follow the Objectives and Key Results (OKR) philosophy. I also use Notion for managing and updating my self-education curriculum in all the fields that I am interested in growing in, and I use Notion’s kanban boards to move things forward in their respective categories. When Notion came out, the free version was very limited. But soon enough they generously increased the data that you have available to you, which made all this possible. You have to be careful because Notion is always in the cloud, so make sure to not put any sensitive information on there.

Apple Notes is my daily go to for brain dumping, for quickly jotting down TODOs or memos that can then be organized elsewhere. It’s my one true inbox, if you will, even though I’ve seen people use OmniFocus or Notion as their inbox(es). I like that it syncs between all my devices. They’ve added new fancy rich text features lately but I just use the bare bones features.

Despite being a long time Vimmer, I learned Org Mode and began using Emacs exclusively with Org Mode for tracking short term projects that can be checklists. The keyboard shortcuts I had to learn are pretty minimal (especially with Evil Mode) and I enjoy checking off the checklists in Org. I enjoy breaking down short term projects into ‘next actions’ and then marking them as done. I also adore the percentage or the counting features that automatically update as I cross things off. I don’t use other advanced features of Org e.g. tables or tags for this purpose.

I use the stock Apple Calendar for events that have dates. I’d also put one off events on there which are urgent and have to be attended to. Similar to Apple Notes this has the advantage of seamlessly synchronizing across my devices.

I also use plain old analog sticky notes or index cards to write down the one important thing for the day (which is not routine and not therefore covered by the aforementioned myriad of tools) that I want to accomplish that day.

I have a plaintext document elsewhere with a bucket list, which occasionally gets looked at in order to steer things in the right direction or course-correct.

I do gratitude journaling in Markdown, edited in Vim. I also use Vim for a running record of a given week (Neovim, btw, for those who care.)

For records of savings, investments, and other personal finance activities, I use strictly local (aka not synchronized via any cloud service) spreadsheets.

All this is for managing my personal life. At a given job, a very small subset of the above is used to manage work-specific tasks. As a matter of fact, since work often provides its own internal tools (like Jira, Miro, Asana), I’d normally just use Org Mode to cross off short term projects or work items, and use a plaintext file to keep track of yearly accomplishments (enormously helpful for doing checkins at the end of a given quarter).

The system is ever evolving. Now that I look at it, there is need to streamline and make it simpler and more canonical (aka ‘DRY’ to use a software analogy). To be honest, it is a little over the top. Maybe simplifying all that could be a future blog post. In fact, it will be a future blog post. Because streamlining and simplifying is a Good Thing™, something we should all always strive toward. I mean I haven’t even talked about Obsidian in this post which I’m now beginning to use for knowledge management!

Last but not least – you don’t have to be like me. This is just the way I do it. Don’t @ me with ‘oh this is needlessly complicated’. It’s just the way my system has become with time (and feels natural to me) and I will work on making it simpler 🙂 I will, I will I promise.

Adaptability as an Engineer

Learning just one skill and having that be your bread and butter for the rest of your life doesn’t sound appealing or fulfilling. There’s way too much to life to ignore most of it. In modern times, relying on one skill is simply unrealistic. Pragmatically, we must be flexible and malleable because we never know what life can throw our way.

When I was growing up, I wanted to be a computer game developer with a focus on graphics. But that’s not how life unfolded. People say ‘tell everybody your plans and watch God laugh’ or something to that effect. While dreaming and planning are things I recommend 100%, because they do work, at the very least we all know that things might not unfold precisely the way one has imagined. Case in point, when I got to graduate school, I needed funding, as you do, and I ended up working for a professor who had funds to support me through assistantship programs at my university. The area of concentration was Natural Language Processing. The toolset was Perl. The work life was reading and writing research papers while writing one off ‘furball’ scripts. I had to learn and adapt.

I have to say I had a multidisciplinary itch even back then, which is why I taught myself Python, which wasn’t the technology my lab was using, but which was very up and coming in the online programming circles.

When I got my first job, it started out with learning the ins and outs of the company’s proprietary question answering system, written in Java. But then as the team / company / job evolved, I found myself doing more and more C++, Docker, Nginx, Lua, etc. Out of nowhere suddenly I was doing more and more code reviews, and looking into and following good engineering practices. I don’t know how this shift happened, but it just did. I needed the job. That was the job. I had to learn and adapt.

When I switched jobs, I found myself moving further and further away from research and plunging deeper and deeper into software engineering. More robust code reviews, more professional development tools, design patterns, unit testing, integration testing, collaborating with really smart engineers, deployment pipelines. My whole world was slowly changing. I had to learn and adapt.

Sidebar, I don’t really miss research. Research is a wonderful thing and there are many wonderful people engaged in it. Inventing and discovering new things are incredibly fulfilling. But as with everything (engineering is not an exception) there is a dark side to it. In research they debate a lot and move slowly. They produce results that might not always be reproducible, and then they argue over why the results are significantly better than the state of the art. In engineering, one has to move fast, fail fast. You build something that works, that people are using every day, and providing you feedback. You build really strong problem solving muscles – by both doing coding puzzles as well as solving real life business problems for your employer. The dark side is that you might not feel like you’re doing anything of value, if you don’t align with the ‘product’ in any way. You might even feel the desire to go back to research and invent or discover something that might be deeply meaningful to you as well as to society. I personally wouldn’t mind going back to research and go deep into simulations of violent weather patterns, improving their predictability, or maybe go deep into something related to health and fitness. But I digress.

Back to real life, this carousel – the time lapse – of past several years of my career involves joining new teams (because re-orgs happen in the corporate world, like them or not; not because I was just hopping around) and learning new tech stacks. I had to learn and adapt and become productive, and become a contributing member of the team. Clojure, PHP, Python, Ruby, Java, virtual machines, Chef, containers, Docker, Spring, Kafka, all the way to the most recent gig which is TypeScript, React, Webpack, NPM, and Yarn. Microservices turned into micro-frontends, and even though Jenkins stayed the same, ArgoCD and CircleCI made their way in.

I never complained about learning the next thing. Going to graduate school made it easier for me to always be learning for a couple of hours a day after hours. It’s a habit. It’s fun. It’s a joyful activity for me. It’s fulfilling. And it pays.

Adaptability. I know people who don’t learn new stuff at this pace. Or they’d learn but stay within their ecosystem, never venturing out into the unknown. Staying put deep in one thing has a time and place, and it has value. A rolling stone gathers no moss and all that. But I still maintain that in modern times, it pays to acquire both the hunger as well as the skill to learn new things quickly and to become productive using them. You can always choose to specialize in a thing or two later – you can always strive to develop the so-called ‘T-shaped’ career – broadly encompassing a lot of things while really being the expert on a couple of things. But adaptability to me is an indispensable skill to have as an engineer.

Best Things and Stuff of 2024

Continuing the tradition of having written this type of posts inspired by Michael Fogus, here I am doing it again for 2024.

Professional Accomplishments

Non-professional Accomplishments

Books Read

A lot

Best Technical Books Read

  • Efficient Linux at the Command Line – A great little practical book on using the Linux command line better. Despite being a seasoned user a picked up a trick or two from this little gem

Best Non-fiction Books Read

Best Fiction Books Read

  • The first 4 installments of the Malazan: Book of the Fallen epic fantasy by Steven Erikson
  • Warbreaker – Sanderson does it again

Favorite MOOC Courses Finished

Notable Professional Things Tried for the First Time

  • [Finance] Options trading
  • Kafka
  • Burp Suite
  • OmniFocus 4 (formerly used 3)
  • Langchain
  • Attended Berkshire Hathaway’s annual shareholder meeting in Omaha, NE
  • A Mac Mini for homelabbing
  • [Finance] Options verticals
  • GitHub Copilot (paid for from work, not for personal use)
  • Changed a swollen laptop battery
  • Tryhackme and PortSwigger
  • [Finance] Options verticals with opposite trade to automatically close
  • Webpack
  • React
  • TypeScript
  • Boot.Dev
  • Micropython on a Raspberry Pi Pico W
  • Digital music creation using Logic
  • Digital programmatic music creation using Tunepad
  • Obsidian
  • Rancher Desktop and K9S for Kubernetes
  • reMarkable Paper Pro
  • Jetbrains AQUA
  • Hosted local AI

Notable Personal Things Tried for the First time

  • A 3-day virtual Tony Robbins summit (free)
  • Adobe After Effects
  • Leather gloves
  • YouTube Premium because yuck ads
  • Thursdayboots boots
  • Leather jacket
  • Carnitine from Evogen Nutrition
  • Attended a Biohacking conference
  • Visited Omaha, NE
  • Tried Andrew Huberman’s Non-sleep Deep Rest protocol
  • The Cosmopolitan and Fontainebleau in Las Vegas
  • É by José Andrés in Vegas
  • The Stratosphere observation deck
  • Discovered Julian Lage’s guitar music
  • Bought an electric guitar
  • Solar eclipse glasses
  • Witnessed a total solar eclipse for the first time
  • Made sweet potato fries in the air fryer
  • Tried Crumbl Cookies
  • Drove a Ford Bronco Sport
  • Went to a locally held Whiskey Riot
  • See’s Candies
  • Got a Kineon Move Pro+ red/ infrared light device for localized topical recovery for muscle / joints
  • Advanced booking on Lyft
  • Atlanta Zoo
  • Atlanta Delta Museum
  • Drove a Chevrolet Camaro
  • DoTerra and Maple Holistics essential oils
  • NYT Games subscription
  • Got a Blue Yeti mic
  • NBC’s Peacock TV for the first time for the Olympics
  • Grew a goatee
  • Regal Cinemas
  • Visited the dentist, long overdue
  • EasyPlant indoor plants
  • Read Tom Clancey for the first time
  • Purchased ‘special edition’ fiction books
  • Discord
  • InoPro Teeth Whitening strips
  • Supplemented with Rhodiola Rosea
  • Oktav app for learning piano
  • Sleds at the gym on the TechnoGym treadmills
  • Watched the Macy’s Thanksgiving Parade
  • Purchased a Lazy Susan
  • Signed up for a chess.com membership (50% off for Black Friday)
  • Topped up car tires bringing them up to the expected tire pressure
  • Zelle
  • Monk fruit sweetener
  • Chirp electric simulation recovery device for localized topical recovery for muscle / joints

Influential People / Celebrities Met

  • Warren Buffett (saw on stage from the audience, Omaha NE)
  • Jocko Willink (saw on stage from the audience, Columbus OH)

Notable Alcohol Discovered

  • Paul Sutton bourbon whiskey
  • Holmes Cay sipping rum
Onwards to 2025!

Best Things and Stuff of 2023

I have occasionally written this type of a post inspired by Michael Fogus, so here I am doing it again for 2023.

Books Read

A lot

Best Technical Books Read

  • How to Open Source – A great little practical book about not just the how but also the why of contributing to open source
  • Impractical Python Projects – Don’t let the name fool you – the projects are very well designed and implemented. Got a lot out of this one
  • The Recursive Book of Recursion – Another great book. Digs deep, explains the concepts really well, and furnishes fully fleshed out examples

Best Non-fiction Books Read

Best Fiction Books Read

  • Crime and Punishment – truly a classic and a masterpiece. Dostoevsky is a master in psychological insights and character development

Favorite MOOC Courses Finished

Notable Professional Things Tried for the First Time

  • Finally fully transitioned to Neovim
  • ReactJS
  • LogSeq – a great personal knowledge management tool based on linked Markdown pages. The storage can be completely local to the user
  • Spring Framework and Spring Boot – for work
  • ChatGPT
  • Played Wordle for the first time
  • LocalStack
  • OpenAPI
  • Snowflake
  • MIPS Assembly
  • Doom Emacs – I gave up on Spacemacs and now use Doom for my Org Mode needs
  • Julia lang
  • Rust lang
  • Logic Pro X
  • StreamDeck
  • CSS Flexbox
  • CSS Grid
  • [Finance] Started treating investments as a legitimate side hustle

Notable Personal Things Tried for the First time

  • Truff black truffle olive oil
  • Used a dopp kit for carrying toiletries while traveling
  • Started dressing up a notch
  • Watched the Super Bowl live for the first time
  • Tiege Hanley skincare system
  • Mayweather boxing gym
  • Read some epic fantasy novels
  • Started using a Waterpik
  • Lifetime Fitness
  • Used an AirDyne, a SkiErg, and a curved treadmill
  • Supplemented with glutathione and berberine
  • A cashmere (only 15%) cardigan
  • Drove a Ford Mustang as a rental during car repair
  • Withings Body Comp
  • A Kiritsuke Japanese-style German-Italian kitchen knife
  • Saw the Titanic Exhibit in Las Vegas
  • Had foie gras
  • Eau Savage by Christian Dior
  • Got a Dutch oven
  • Got Spotify Premium
  • Drove a Volkswagen Jetta GLI as a rental while traveling
  • Drove a Mini Cruiser while traveling
  • Got a Roland FP-30X digital acoustic piano
  • Got Simply Piano and Yousician memberships
  • Thrival Recovery muscle release kit
  • Hypertrophy Coach app
  • Arnold’s The Pump Club app
  • Got a succulent plant
  • Tried various cheeses – roquefort, gorgonzola, fromager d’affinois
  • Uploaded YouTube videos for the first time
  • A dashcam
  • Zchocolat (yum!)
  • Saw the Sphere in Las Vegas
  • Had arancini for the first time
  • A turtleneck

Influential People / Celebrities Met

  • Sadly, none this year

Notable Alcohol Discovered

  • Glenmorangie Signet whiskey
Onwards to 2024!

Learning Just Enough to be Effective

It seems like there is increasingly more and more to learn out there. This is especially true in the software profession. I always feel like I am swimming in a huge ocean, trying to keep my head above water. And the ocean keeps getting bigger and deeper every day. But there are ways to tame this metaphorical ocean. I wanted to talk about a specific case in this blog.

As a long term Vim user, I avoided learning Emacs for the longest time. In fact, I had put it onto my To Don’t list for the longest time. Do not touch Emacs, you’ve already learned Vim. There is no need. Just use a variety of plugins and UNIX shell facilities with Vim and you’ll be fine.

And this worked for me for most of my work and personal life (although I do use Jetbrains products at work all the time). Still does. I still didn’t care about Emacs. Until I discovered Org-mode.

Org-mode is pretty nice. It allows for good management of TODO lists out of the box. The tags, labels, priorities, all make it a good tool. It’s free. Your data is yours forever. It works on all platforms. It has a coolness factor. It’s more than likely to continue in development and maintenance for a long long time to come, and won’t suffer the fate of a tool backed by a corporation because of political or financial reasons.

And yet, learning Emacs is notoriously steep. The amount of time that people can potentially spend customizing their Emacs setups can be extremely large. The old saying that people who use Emacs do everything in Emacs is true. And as an established software developer who also wants to do other things in life, I did not want to invest that much time. It wouldn’t have been a good investment. All I wanted to get out of it was Org-mode.

Emacs is an ocean. My fancy was just a little floating island in this ocean, i.e. Org-mode. Even org-mode can be too large and has a lot of functionality. I just wanted a little piece of the island. Something that I would use every day.

I know it’s possible to emulate some org-mode functionality inside of Vim or Visual Studio Code. But it is not the same thing™. Emulation is never the whole thing. Anybody who has experienced Neovim can tell you a Vim plugin inside IntelliJ or Visual Studio Code just feels like an incomplete, inadequate experience.

The solution was a targeted Udemy course that taught me just enough to be effective. Just enough org-mode and Emacs. And now I use Org-mode within Emacs all the time at work and also in personal life — for managing TODO lists and projects, as well as archiving finished projects — with fancy tags, labels, completion percentages, and priorities. And yet I remain a loyal Vim (now, Neovim) user, and also a Jetbrains user when the task at hand needs a bulldozer rather than a Swiss Army knife.

A good rule to live by. I’m a lifetime learner. Learning is a daily activity for me. A part of my job. It’s always worth your while to learn new things. Sometimes that new thing might be too similar to what you already know, and then you question whether it’s worth your time to learn it, and indeed it might not be worthwhile to learn everything about that particular new thing. In those cases, learn just enough to be effective.

Consuming YouTube Effectively

I remember a time when I’d search for something on YouTube and would be surprised not finding anything meaningful on the topic at hand.

The times have changed.

These days, pretty much everything is available on YouTube. And not just any videos, but videos created by self-proclaimed (and peer-verified) content creators who

(i) happen to be experts in their chosen areas and

(ii) enjoy educating others about their chosen realm. This latter often turns out to be a very effective visual aid, often being a hands on demonstration of anything from coding to woodworking to yard work to chemistry to investing and beyond.

All that is extremely valuable to anybody who wants to learn anything deeply in any newly spawned area of interest. All that is indispensable to a would-be polymath who wants to learn it all.

Yet, by one statistic (I forget the source), the amount of video content uploaded onto YouTube in a single day would require a human being to sit and watch for 65 years end to end in order to complete one watching. Leave alone assimilating and utilizing.

So what do we do?

Several things.

(i) Give up the desire to consume it all. It is physically impossible. Choose the videos with the highest ratings, the best vibes, etc. Feel the Joy of Missing Out (JOMO) on missing out the others rather than FOMO

(ii) Skip and skim. Look for summaries in the descriptions, or some helpful comment in the comment section that summarizes the highlights concisely

(iii) Use private playlists on YouTube.

The third point above brings us the topic of this blog.

The kind people over at YouTube have facilitated this feature on the platform so that anybody can create personal playlists (I don’t know if there is a limit to how many playlists an individual could create or how many videos there could be in any one playlist). These playlists can be kept private. Nobody has to know what you watch. Any random visit to YouTube during the day could mean saving interesting videos into these playlists. The contents of these playlists could be consumed in a principled manner, in a regular cadence. These regular consumption sessions could be managed via a habit tracking app, which reminds the user to repeat the habit weekly.

Some examples of such playlists could be – Finance, Fitness, Fashion, Interior Design, Productivity, Software Engineering, Entertainment, Relaxing, etc. Your imagination is the limit. Some playlist names could even be more specific, such as Finance::Informational and Finance::HandsOn.

Finally, a time limit may be imposed on these consumption sessions so that you don’t overstep how much time you’re willing to invest in this specific type of self education i.e. video consumption. The YouTube mobile app helps track the amount of time spent on YouTube across all your devices, on a per-day as well as weekly basis.

I’ve found this combination of private playlists and weekly cadence tasks to be the reason why I’ve been able to maintain a high amount of regular YouTube consumption while getting something meaningful out of it. The intentionality and rigor behind it makes the learning happen, so that YouTube is not just a mode of entertainment but rather an extension of a self education curriculum.

Best Things and Stuff of 2022

I have occasionally written this type of a post inspired by Michael Fogus, so here I am doing it again for 2022.

Books Read

A lot

Best Technical Books Read

  • Python Testing with pytest – A great little practical book which took me time to consume properly, but was very well worth it in getting me started with pytest, which seems to be the best testing framework for Python at the moment
  • Python Workout – I did get a workout working through this book, especially the challenges

Best Non-fiction Books Read

  • Peak Performance – great practical advice on how to live our lives to our full potential

Best Fiction Books Read

Favorite MOOC Courses Finished

Notable Professional Things Tried for the First Time

  • Pharo – a SmallTalk-like modern OOP language
  • Udemy – an educational platform
  • Domestika – an educational platform
  • Windows 11
  • Final Cut Pro – a video editing software for macOS
  • GraphQL – a schema for building APIs
  • WSL 2 – Linux on Windows
  • 5G
  • KDE Plasma Desktop
  • AWS KMS
  • Thonny – a lightweight IDE good for debugging simple lines of code
  • Google Cloud
  • Apache Kafka
  • ReplIt – code in the browser
  • Mockito – next level testing
  • macOS Sidecar – extend your screen real estate onto your iPad
  • React – component-based Web development library
  • TKinter – Python GUI
  • Drop LOTR keyboard
  • gRPC – lightweight remote procedure calls
  • ProtoBuf – a lighter-footprint JSON
  • Grafana – create and manage amazing graphical dashboards to keep track of all kinds of data
  • Digital Ocean – a simpler AWS
  • Adobe Stock Photos
  • Exercism – learn and level up in coding for free
  • Balsamiq – Wireframing for Web developers
  • Prometheus – track everything you want to on computers
  • Kubernetes
  • The Helix editor – tries to be a good love child of Vim + Emacs out of the box
  • FontAwesome
  • Org Mode
  • Cursor Pro – easily show people what you’re trying to show them on the screen

Notable Personal Things Tried for the First time

  • T-Bills
  • ESC Sounds headphones
  • Rotring Rapidograph pen
  • Staedler Pigment Liners
  • A MIDI Keyboard Controller with the Melodics app
  • Weightlifting Belts
  • Weightlifting Knee Wraps
  • Polish food
  • HBO Max
  • Saw an allergist
  • Ate pheasant
  • Jeni’s Ice Cream
  • Ford EcoSport (rental)
  • Sun shades for my car
  • Nespresso Virtuo Plus
  • The Venetian in Las Vegas
  • Symbolism
  • A trampoline
  • Flonase
  • Dairy Queen
  • PictureThis app to identify plants, trees, and flowers
  • An air fryer
  • Theragun for easy massage and upkeep of my body
  • Theraface for easy massage and upkeep of my face

Influential People / Celebrities Met

  • Jen Thompson – weightlifter, wife, mom, an awesome person in person, and pound for pound the strongest bench presser in the world

Notable Alcohol Discovered

Onwards to 2023!

My Software Engineering Tenets

Through the course of my career, I’ve developed a set of tenets, or core values, for myself that I like to remind myself of every day before easing into the flow of work. It has to do with motivation, as well as identity sculpting – sculpting who I am through thoughts and through consciously working toward incorporating these tenets into my day to day life.

  1. I build things. If working on a legacy system, I build things that help work with or test the system.
  2. I innovate to improve my customers’ and co-workers’ lives. I provide value to them. I serve them. I produce impact.
  3. I solve business problems for my customers, and bring their ideas to life.
  4. I automate to make mine and my co-workers’ lives easier.
  5. I strive to improve the strategic design of the system when implementing features; I don’t just apply tactical quick fixes that increase complexity and entropy.
  6. While coding, I try to work incrementally, adding one small change and keeping tests/systems running.
  7. I get early input, work in the open, and contribute incremental bits
  8. Every line of code that I write is my message to other smart people of posterity. Not only do I want to help them carry this work forward, but also I want them to appreciate how elegant a piece of work I did.
  9. I spend the majority of my time in the Eisenhower Matrix Q2, aka long term important tasks that are not urgent.
  10. I prioritize relentlessly and always work on the most important tasks available.

Thursday Night Football on Amazon

I don’t ever talk about work on here, and mostly corporate work doesn’t see the light of day or doesn’t see the public eye like this, but this is an exception, because it’s publicly visible now. I contributed heavily to the automated system that produced the team vs team and the background images (and only images, not the streaming content or anything else) that you see on Amazon now concerning Thursday Night Football, some of the games from which are to be broadcast soon. Swipe to see screenshots and search for Thursday Night Football on Amazon to see more images.

Go here now for the details.

Maintain Color-Coded TODO Lists in Vim

Many Vim enthusiasts use Vim for pretty much all text manipulation in their daily lives. However, the plain text nature of this fantastic and powerful editor sometimes leaves a little left to be desired. For example, it would be nice to have your editor color code certain items in your TODO list for you, e.g. one color for items that are done in your list, another (hopefully a more provocative one) for those that aren’t done. I recently discovered a trick how to kind of make that happen in Vim, and I am sharing that here.

The first thing you need is some type of a marker in front of your rows that you want highlighted, so that Vim has a way of doing a RegEx matching against them. E.g.

[TODO] Write a blog post
[DONE] Goof off
[Nice to Have] Read a book

Here I have marked my rows with [TODO], [DONE], and [Nice to Have]

Next up, you need to invoke the following command in the command line mode:

:highlight MyGroupTodo ctermbg=red guibg=red
:let m1 = matchadd(“MyGroupTodo”, “^\[TODO.*”)
:highlight MyGroupDone ctermbg=green guibg=green ctermfg=black guifg=black
:let m2 = matchadd(“MyGroupDone”, “^\[DONE.*”)
:highlight MyGroupNTH ctermbg=cyan guibg=cyan ctermfg=black guifg=black
:let m3 = matchadd(“MyGroupNTH”, “^\[Nice to Have.*”)

coloredListsVim
Here is a screen capture of what it looks like in my current color scheme. Keep in mind that the appearance might be different based on what color scheme you currently have enabled, and you might have to change the colors of the matches to better suit your tastes and your color scheme. Furthermore, you can put these highlight and match commands in your .vimrc so that you don’t have to keep doing it over and over.

Being a visual person I appreciate colors and the ease of distinction that they provide. If that’s you, and you use Vim, then this is how you can do it. Look up :h match inside Vim for more detail. Notice that, in contrast to the example in the Vim help, I have used more specific regular expressions so that the entire line is highlighted – you might or might not want that.