Software Tools I use - 2021 edition
I experimented a lot with process during pandemic lockdown and with the shift to WFH. Successful experiments had tooling implications. While I do feel tools are less important than your actual process — process trumps all — some tools do make some things you want to emphasize or change easier (or conversely, your existing tools might make it harder).
The big changes in my flow came about from trying to come up with a more web-based, easier sharing and collaborative process than emacs org-mode allowed. I wanted a nicer, more modern writing experience, and abstractions to keep me better organized than a flat file or folder hierarchy. Additionally, I wanted to experiment with implementing a Zettelkasten after reading How to Take Smart Notes which a note-taking-as-thinking organizational system purporting to be conducive to learning, creativity, and content creation, particularly in the academic arena. So, I needed effortless bi-directional linking of concepts, a beautiful writing environment that organized itself but could be modified, and robust task management.
Here’s how all the major components of those changes look from a tools perspective in Q1 2021:
Daily Drivers
Logseq
Even though it’s still in alpha (0.0.15 at publishing time), LogSeq is a fantastic mashup of Roam Research’s bidirectional linking capabilities while having robust task management capabilities (including repeat tasks) a la org-mode, and is currently what I am betting on as my GTD home for notetaking, planning, knowledge management, and task management to address my conundrum in my GTD Tools Shootout post , forcing me to choose between aesthetics and writing experience, bi-directional linking, and good task management between the tools defined there: Roam, Notion, and emacs org-mode/org-roam. Logseq seems to ably support Zettelkasten in my workflow while also giving me in-context and robust task management (especially repeating tasks and querying for things like overdue and upcoming in page templates and sidebar). Even at this early stage it seems like a winner, at least for my purposes. YMMV. Understandable rough edges in the desktop alpha, but so far I’m loving it and its surprisingly polished for an alpha. I love the fact it allows me to write in GHF markdown for everything as well (unlike Roam which has weird graph constructs for tables etc). For example, I’m writing this blog post in Logseq now.
I’m amazed the team behind logseq has brought something pragmatic and usable to us so fast and focuses on things I need. I’m looking forward to seeing where this goes and really enjoying using it daily. A goal this quarter was migrating my knowledge base and processes over to a Zettelkasten, so I’m hoping it may be a winner in the CRM and knowledge management area. Stay tuned. I’ll be doing a blog write up on how my GTD flow has changed and set up once I kick the tires a little more.
Alfred
Alfred is an amazing little power utility and meta-interface (on Linux, use its excellent spiritual cousin, rofi which I use as a combined launcher, clipboard and snippet manager, file management utility, search interface, and for a handful of other small micro tasks. It makes me (or makes me feel) quicker, keeps my hands on the keyboard, and keeps me in flow longer. Usage stats on the app tell me I use it over 50 times a day between hotkeying, clipboard manager, and snippets, though in previous years I used it a lot more for workflow type functions in its scripting integration. A great, inexpensive tool which I recommend highly. You feel like you’re missing something when you are on a machine which does not have it or similar capabilities.
Kitty
I use the command line liberally, so having a good terminal emulator makes for a nicer experience.
Most terminal emulators are slow. Kitty offloads rendering to the GPU which makes for a cleaner, snappier experience. I also like the simple configuration file which makes using this between OSX and Linux portable. I use the Nord theme to make this match the rest of the dark theme on my machine.
Alongside, I’ve been a big fan of the fish shell for a while and which you should really check out if you haven’t. I use tmux to give myself a nice “windowed” layout for using multiple terminal apps and tmuxp to launch a set configuration of those windows).
I keep the terminal fullscreen-ed on OSX and use remapped CTRL-➡ and CTRL-⬅ to let me switch quickly to the terminal when I need it (I do miss the fullscreen hotkeyed rolldown of Guake on Linux. This was the closest I could get to the same effect).
Firefox
When I stop to think about it, it amazes me how much of my workflow has moved into browser interfaces in the last 5 years.
It started even further back abandoning a desktop mail client for google mail’s web interface, but tools like Notion, Roam, and Jupyter notebooks have proven serious work can be done almost entirely in the browser. Github Codespaces might actually eliminate my stated need for a properly provisioned laptop by moving even my coding environment into the cloud (could I really make do with an internet connection, iPad Pro and a keyboard?). So, the browser has become a much more serious concern than an afterthought these days.
So, why Firefox? Chrome I’ve found slow, a resource hog, and not privacy-respecting. Big Sur’s Safari has become very good on OSX, and resource usage admirable, though its extensibility through the App Store feels crippled compared to Firefox and Chrome.
Firefox is fast, privacy respecting, cross-platform, and has a fantastic plugin ecosystem so even though I think Safari has better memory usage now, I’m still with the Fox. I have come to depend on a few Firefox plugins and do like that my config is portable between OSX and Linux should Cupertino make their garden ever more walled (Safari obviously does not work on Linux).
These are the plugins I use currently:
- Instapaper (for reading later - a process super saver)
- Gopass Bridge (as a browser password manager with gopass cli)
- Video Speed Controller (for watching Youtube at 1.X speeds - especially for lectures)
- Simplify Gmail (for a cleaner gmail experience)
- Adnauseum (for ad blocking and obfuscation)
- Readwise.io (for syncing my Kindle highlights when their native connectivity breaks)
I use the Dracula Dark theme and have altered and compressed the interface (including remove the title bar) to be a lot more minimal and max screen real estate. It makes for a nice, compact interface which has grown very comfortable on OSX and Linux.
VS Code
While I almost hate to admit it, Microsoft have done a great job here with VS Code and its pretty much my IDE for everything coding related. Fantastic plugin ecosystem, integrated git, and a built-in terminal are big wins, though it’s slightly slower than my old favourite Sublime Text. I also found the interface a little cluttered on my 12" Macbook though it’s more comfy on my 13" Macbook Air.
Plugins like the Python one which also allows me to execute Jupyter notebooks directly in VS Code are a lot nicer experience than firing up a browser to do data science work as well. So far, had not one issue with it in terms of managing plugins and dependencies.
A lot of the plugin are really well thought out and while it is more about aesthetics, the variety and beauty of many of the themes make a big difference to long coding sessions (I use Night Owl mostly but sometimes switch to Cobalt2 for variety - alongside the VS Code Great Icons).
WI don’t use it to the same degree I do the swiss army knife that is emacs, it’s my go-to coding environment these days and makes me productive across a range of languages (Go, Python, Rust, Crystal, javascript and typescript etc.)
Emacs
For a while, I was trying to make everything I could work in emacs, and you can, if you’re determined enough and are willing to deal with its disadvantages, make it do almost anything. It’s that extensible. However, I was getting into a situation where I was using emacs for org-mode and GTD, and using other tools to address its shortfalls which was leading to a weird schism between tools which made me feel like I was less organized and on top of things. This became even more apparent as I started looking at sharing or collaborating more easily.
I am still amazed at the community that surrounds emacs (though somewhat curmudgeonly, it is amazingly helpful) and the power in a 35 year old text is amazing from its ecosystem. Even the new tools I use is effectively updating some of the older concepts of org-mode and placing them in the context of a more modern web and internet-friendly application.
I was impressed with org-roam, which was a bidirectional linking response to the functionality you can get in the Roam Research app, but ultimately, it was the other things around using emacs that made me feel like logseq might be a better choice for the things I wanted to optimize for. We shall see (logseq can also easily convert files back to org mode in its next release if I need to drop back and punt. Not an option for Roam or Notion though Notion has a nice markdown export.).
I use emacs 28 d12frosted/emacs-plus
flavour which I build through homebrew and my .emacs.d/init.el
is hand-rolled rather than using Doom, Spacemacs, or any other flavour. I’m still using emacs for a few key tasks. My journal (encrypted), ledger files to manage my finances and account (though looking for an alternate that tracks plain text and does not lock me into a proprietary format) - but largely wish someone would work on updating the underlying app for the 21st century and more than simply text editing. I still find org-mode’s task management amazing though wish you could use org-mode task management within markdown as org-mode’s markup constructs feel clunky much of the time compared to markdown.
Services
Useful services enhance my workflow and desktop/mobile experience. Most of these either have a menu bar app or browser plugin which makes them relevant.
NordVPN
My roles often means working on networks I can’t trust, so I need to make sure I secure things via a VPN. Also, after a decade working for organizations (Amnesty, Greenpeace, GetUp etc) attacked by state- and corporate- sponsored actors, I take security pretty seriously.
NordVPN is trouble-free, unobtrusive with its menu bar-only mode, and guarantees no tracking or logging. It has begun to implement Wireguard (esp on Linux) and has been much faster than most VPN clients I’ve tested. Also, it removed the geofence that Netflix had imposed on my Canadian account though I imagine that is less of a concern now.
I do want to test it this year against Mullavad and self-hosted Algo VPN but so far, my complaints are few and mostly involve flakiness when versions of the OSX client get upgraded.
NordVPN is reliable, has wide countries coverage, HQed in Panama, and offered a hugely discounted 3-year plan. It was, and continues to be, a good option.
Instapaper
Instapaper has, in short order, become a major part of my GTD work flow, mostly responsible for keeping me focused and on task. There’re two main ways I use it.
The first involves having most newsletter subscriptions bypass my Inbox and go to Instapaper. This in itself has been worth the price of the service.
The second is using as a “Read Later” service while browsing.
I still need to work harder at purposefully treating Instapaper that like an Inbox to be processed and kept at zero, but overall it’s been very good at helping me focus attention.
I also use the highlighting feature in Instapaper while reading connected to Readwise to have highlights that are exportable for me to take action on in my Zettelkasten (in theory). I need to figure out a way to make this work with logseq (it was integrated with Notion and Roam somewhat), but it’s a useful integration feature for making sure consumables then get actioned.
Readwise
New in the last year, and a part of me being more purposeful about the reading I consume. I am a big reader, and want to make sure I am not just consuming books, but incorporating, learning, and advancing my knowledge, so I’ve been using Readwise experimentally the last little while to have it take my Kindle highlights, and then getting a markdown export which I incorporate into my Zettelkasten permanent notes review of books.
I don’t feel the daily spaced repetition email of the highlights really works as well as I’d like and what I’d really like to see is some integration that makes note taking alongside highlighting more effective for later review (such as the way you can link notes you take in emacs org-noter directly to a highlight in a pdf or epub and now we’re tlaing about it a better way to integrate non-Kindle highlighting like pdfs and the like), but it does seem to be helping and building a Zettelkasten progress. Still a WIP Experiment.
Spotify
Strangely, I was a bit surprised to find myself subscribed to Spotify. I’m not a particularly big fan of the service (I think their recommendations are terrible at least from my perspective), and think the app is terrible for managing collections of music, and greatly prefer owning my music and curating it myself (also Apple Music does seem to be better in this regard).
I started using it when I got an in-house speaker as a gift that supported the service. So, my main way of using Spotify these days is telling the speaker to play some music I’m interested in or getting the days headlines. Mostly I use the Spotify mobile app to find a piece of music I am interested in and then send it to the speakers in room in the flat I’m in.
I have to admit though to actually enjoying this though it is something that is outside the actual laptop I’m using, but it felt like something to mention since it was a surprisingly nice part of the way I interact with music now from a friend’s speaker gift.
CLI apps
Command line apps are minor superpowers. More people should get proficient doing things on the CLI.
harsh
harsh is a minimalist habit tracking app for geeks I wrote after riffing off of the abadonware habitctl.
It provides a simple way to track habits in a text-based log file as a data source, and gives you a clean, consistent graph of your habits, so you can spot patterns and get an idea of how you are tracking. I’ve now released version 0.8.8. Written in GoLang for speed it’s available on OSX, Linux, and Windows via homebrew and snaps as well as native Go compilation via go get
.
I’ve been using it for well over a year now to track my habits and have to say I feel it’s been better and more useful than what I’ve seen in the app or commercial space. YMMV, but if you’re a geek and comfy on the command line, you might want to try it.
Newsboat
Newsboat (formerly Newsbeuter) is a great CLI app for ripping through rss and atom feeds.
I prefer this to every feed reader I’ve tried out there. It makes me superefficient at sifting through sites’ content and lifting out the gems quickly. If you’ve never tried it, I highly recommend it if you’re a big consumer of rss feeds (despite the recent trend of pain newsletter subscriptions is making rss less common I find.),
You can also link it to mpv and use this for youtube channel subscriptions with a little configuration which makes tracking people like ZeFrank or Extra Credits way nicer.
Gopass
Gopass
, the slightly more awesome password manager, uses the same file format (gpg encrypted file per entry) and API as the venerable bash-based pass
. It’s faster and more full featured including a nice bridge to get this working with your Firefox or Chrome browser as well apps for iOS and Android.
For me, it’s been quite bullet proof and prefer it to the commerical password managers or using the in-browser password functionality. It’s really well thought out if you’re a geek and plays well with tools like gpg (obviously) and autosyncs your passwords to your github account so you own one of your most important security assets. Love it.
Ledger and Reckon
Ledger is how I’ve been tracking finances over the last year with the excellent Reckon gem removing the manual drudgery of entering in entries through the magic of Bayesian predictions and my bank account exports.
It’s extensible, portable, powerful, and due to the complexity of my financial life living in multiple countries – even after experimenting with a number of other financial trackers (Quicken etc) – the only thing that seemed to work for me to get a good overview of my financial state.
Due to an excellent ledger mode in emacs I tend to use that for managing things and checking reports, but overall you can use the CLI if you’re technical enough.
Would love to see people put more work around extending the file format’s functionality into a larger system to help people with their finances.
Other Useful Tools
Arq
Arq has been a great, no-nonsense, fire and forget, backup client. Big fan. It has saved me more than once.
I cannot repeat often enough that if you are not backing up your system(s), you are balancing on a tightrope over a pit of crocodiles. Your data is vastly more important than your hardware. I try to pursue a system where I am still owning my data (rather than having it locked in 3rd party systems) but still have it as redundant and backed up as possible. If a system goes down, gets stolen, or otherwise experiences problems, I can grab another machine (OSX or Linux), bring down my data and am pretty much up and running in half a day fully (less if it’s just about getting work done rather than rebuilding the system.). Downtime is negligible.
Arq is a one-time cost though upgrades roughly annually for a minimal charge and you pay separately for the data on your cloud storage provider of choice (though I believe there is now an option to pay for storage theough Arq). I’m using an encrypted at rest, plus encrypted through Arq setup on AWS, and it’s very inexpensive.
Snapshots are point-in-time, and restores are painless.
The Clock
I end up coordinating with a lot of time zones due to my new role and friends elsewhere, so really appreciate this simple Menu App drop down that shows me a calendar and all the time zones I’ve asked it to tell me about.
Horrendously useful for scheduling and managing a global team on three continents and friends and family across five.
MeetingBar
A new addition near the end of 2020, this little Manu Bar app simply keeps a running list of meetings I have coming up across all my calendars for the next two days, now much time is left in the current meeting or time block, and the next ones coming up.
Sounds too simple to be useful, but the fact it will also let you jump to the next meeting from the menu app interface rather than dig into your cal for various invites and the like is handy. So, since much of my life during the pandemic has been meeting remotely, this has app has been a surprising quality of life improvement.
Calca
I am still a huge fan of Calca. It allows you to write math-aware markdown and acts as a symbolic calculator so you can literally write out your formulas, tie those to variables and calculate complex scenarios and whatifs.
I have yet to see anyone build anything as useful as it and wish this functionality was just something that all markdown editors did.
It does not get updated often though happy to relate it it still working on my M1 chipped Macbook Air on Bug Sur, but this always feels to me like a program that is so amazingly useful but until you actually use it you jsut don’t realize how much better it is than almost every other thing you use a spreadsheet for (and also it’s much, much easier to spot mistakes).
I use it for budgeting and complex mathematical scenarios where I’d be worried a spreadsheet formula would really mess things up.
Much love to this app and really wish the developer would put more love into it or move it onto another shop that would be willing to take this in the direction it should go. I’d lose my mind to see this functionality integrated into logseq. There are similar apps like Numi and literate-calc-mode in emacs, but I still feel Calca is amazing for what it does and still better than them.
Transmission
Transmission is my bittorrent client of choice. Simple, fast, secure, no-nonsense, and lightweight with a clear interface for selecting options like “only use encrypted peers” and for controlling bandwidth, seeding, and concurrency.
VLC
While I’m still a fan of mpv on Linux, VLC on OSX is a nicer experience, so I’ve been defaulting to it both on the Macbook Air and as an interface to play incoming streams from Jellyfin on the Apple TC.
Jellyfin
Jellyfin is a simpler, less fussy, video management and serving frontend to your video collections. I like it much better than more noted applications like Plex and Kodi. It runs quietly as a service on my laptop and allows me to stream videoa from it either directly to my TV via DLNA or through the Apple TV by using VLC for iOS to connect to it, select the movies, and strem that way.
Great and under-rated. I don’t know why I don’t hear more people referring to it. It deserves a lot more love. Excited to see it support arm64 architecture soon.
Also, works amazingly for technical videos I’ve downloaded while coding along on my laptop from the couch.
Steam
Both on OSX and Linux I use the Steam gaming service. Mostly because I made it one of my 2021 goals to catch up on the amazing games of the past I have not been able to play and acquaint myself more with their richness and storytelling.
Strangely, I am finding the experience on Linux much nicer than OSX simply because the fast-switch to 64-bit architecture has left a lot of 32-bit games behind (at least in my library) and only seeing things developed for iPad and newer platforms these days. I’m just happy some things are working on the ARM64 but happy my Linux laptop seems to be doing double service as a game station through Steam.
Oh, and this is amazing… I love the fact I can plug in Sony PS4 controllers and use them on my machines to play the games.
Photos.app
I wish someone would build a better photo management app leveraging the desktop. Photos became more irksome and I am skittish on putting all my faith in Google Photos since there is no desktop app though a recent migration made me realize I had some photos that the Pjhotos app had not moved (and losing photos, which I would have done if I hadn’t noticed, is inexcusable for a photo management application. And the large reason is that for some reason, iCloud did not want to accept them. Grrr… ). So, in general, I am unhappy with being forced to use iCloud and having all my photos MLed though I do trust in Apple’s privacy protections much more than, say… Google’s.
I have over 40k photos, all the way back in my library to 2001 so maintaining that 20 year legacy for me is something I would like to find something more reliable and longer term to manage. Sadly, open source alternatives in this area seem not to last long which makes me feel at some point I’ll be forced to choose between Google Photos or iCloud services and have storage be ransom.
Mail, Calender, and Office suite
Still using the Google suite and with a swtich to a new company, it’s all Google docs based (too google docs based tbh.). I don’t use a desktop client for any of these things anymore and have not for a while. I have pinned tabs in Firefox for mail and calendar and use Simplify Gmail plugin to make the mail interface better.
Mail keyboard shortcuts are something you should learn as it will make your life better. On the iPhone, I use the Gmail and Google calendar apps which easily deal with multiple accounts (in fact, having the ability for the gcal web interface to side by side multiple work and life calendars is a serious missing feature for real world scheduling.). I seriously feel like smarter calendars and something that could figure out scheduling for me across work and life and timezones, rather than the mess it is now, would be a welcome and needed addition t my life.
Dropped Tools and Services
Perhaps strangely, there are a number of things I’ve dropped completely after using them in 2020 (or longer) for reasons of them falling out of favour in my workflow, them changing their value proposition, or other reasons. This is what is now no longer a regular part of my flow.
Dropbox
I have been a big fan of Dropbox for years, particularly when I used it for file sharing, double backup system (I effectively stored key directories on Dropbox to allow using OSX and Linux seamlessly), and as a big storage dump backing up non-synced directories from my backup client.
But Dropbox seems to have forgotten its core value proposition as it has sought to support valuation and compete against cloud challengers (MS, Apple) who are commoditizing its file-in-the-cloud model. And doing that, it’s started to have all sorts of issues. My main beef has been about the Dropbox client which would often peg the processor on my Mac (and Linux box) as it attempted to sync changed files in what I’m assuming are non-smart ways. The monthly price increase I didn’t mind so much with the increase to 2TB of space, but it also felt like it is there to support the other things they are trying to do than the core value proposition from my perspective. The other big problem for me is that I really wanted it to develop encryption at rest by this point, rather than focusing on things like Office integration, Paper (which is quite good), and other features which did not mean that much to me.
So, this year, I’m dropping Dropbox, though if you do use the features beyond simple file syncing, you should still check it out.
Notion
I have to admit, Notion would still be on this list if it had a stronger task management offering and repeat tasks. It is a great writing, sharing, organizing, and collaborative experience (in fact, I am using it with a friend who is asking me to collaborate on the 2nd edition of their cookbook), but its lack of solid task management and trying to force it into that was having me drop incidental tasks and making me feel I could not trust my system.
Additionally, while it does support a form of backlinking, the implementation is useless for knowledge management and tasks, so I felt i was wasting time trying to bend it to my will. It is also quite slow due to its page and block design as a web app. I did like it for planning and organizing information, however. And certainly understand its appeal, particularly as it seems to be the only tool I looked at that had a robust mobile app (that echoed the experience on desktop.).
If your task management is light and uncomplex though, and can be handled mostly manually (it takes quite a bit to have Notion handle recurring tasks), Notion may be an excellent choice for you. I have to admit, I quite like it.
Day One
While Day One was once an excellent journalling app and I have to admit to being quite enthused with its mobile version, I feel it’s yet another app ruined by commercial aspirations and creating services of income streams rather than just sticking to what people really wanted. It’s also expensive for what you get in my opinion. I actually liked the previous version. Dropped and moved things over to org-journal in emacs as well as have moved to more of a system where I have Morning Pages integrated into my day logs rather than as a separate thing.
I have to admit to having really liked the mobile app as a photo and journalling application when I’ve been on the road, though would more like a way to figure out how to take that information and feed it more into my daily logs than having Day One as the home of that stuff.
Microsoft Office
I have not been a fan of MS Office for a very long time. Bloated, innovation defying and basically rent collecting on its early monopoly I’ve moved most stuff over to the relevant google apps and focused on markdown documents rather than Word docs, though do occasionally need to use them when a lawyer sends a Word doc or an excel sheet needs sorting, though mostly GDocs and, in a pinch, Apple’s native office apps have worked well. Glad it’s off my computer though I’m sure I’m going to run into a company or academic situation in the future which will force me back into using it so it feels more like a limited victory.
Bear (desktop)
I’m actually a big fan of Bear though have been using it less and less since I needed an org-mode bridge and realized I was just throwing things into Notion directly via the mobile app. I imagine until logseq gets a mobile interface or similar I might have the same issue now, but overall I don’t see why I would not use Apple’s built in Notes app for these ephemeral notes now.
Even though Bear is great, I want to be centralizing my knowledge base now in one place, having ephemeral notes in one place I move to my ZK (or toss), and even while I think it’s good value for money, having yet another subscription just seems unnecessary.
Tweetbot (desktop)
While I think it is a great OSX client, on the desktop, I went back to using Twitter’s native web interface. it’s not great, but the fact of the matter is I generally interact with twitter on my iPhone and I use the tweetbot mobile client there. So, not entirely dropped, but effectively felt it deserved a mention since it’s another example of something moving into the browser that I previously used as a separate native client.
Fin
Most other choices here are more interchangeable or convenience-based than anything I’m tied to. For example, I use Skitch for screenshots, Drop as a colour picker, Telegram as preferred messaging client (when work is not forcing me to use Slack), and a bunch of specialty astronomy programs (for viewing FITS image files and similar geekery) that I don’t think anyone but an astronomer or astrophysicist would be interested in (and mostly default to Python tools there in any case.).
While it may not seem obvious I’ve intentionally tried to simplify and reduce complexity in my apps ecosystem to emphasize a better GTD flow and focus, though some choices (like logseq) still need to be seen to be getting the benefits out of them I hope.
Focus on honing or deciding on how you want your process to change first. Jumping to new apps, unless you are sure they give you a new capability you want (eg. bidirectional linking cuz Zettelkasten) rarely does much other than being productivity churn and busyness. Re-tooling can have positive effects, but you need to know what you are hoping to achieve and how new tools may help that.
I hope you made some discoveries above or I convinced you to try some apps you might have been on the fence about or unaware of. If you did, or have apps you think I should try because we have similar flows or productivity ideas (or even if you dsagree with me and think I should rethink something), please let me know. Always curious to hear more about works for people and their workflows. Feel free to mention me as @awws on twittter or email me at via email hola@wakatara.com .