State of the Apps 2020
This year marks the 3rd year of my pattern for publishing a “My Stack” post, noting down how I get work done both professionally and personally (2018 / 2017). This year, I'm
stealing borrowing inspiration from CGP Grey / Cortex and their “State of the Apps” episodes, and also talking about productivity, and the other services I use to get things done.
For the last couple years, I've been an avid Antergos user, but May of this year saw the project end, forcing me to move. With all my dotfiles configured for an arch-based base, I had little choice than moving to Arch. Manjaro also looked promising, but I'd wanted to move to Vanilla Arch for a while, so this felt like as good of a time as any.
7 months later, I've only hard migrated 3 machines, the rest still run Antergos, and they still run fine. The Antergos repos don't exist any more, but Antergos was really just an installer for vanilla arch with an extra repo, so the fact everything still just works doesn't surprise me.
I'm still an i3 user. I recently tried using macOS, and the lack of a strict tiling window manager got on my nerves very quickly. There are still some things which get on my nerves, and Gnome is looking quite nice right about now, but then muscle memory around tiling is just too strong. Material Shell just looks far too strange, and i3-gnome isn't quite gnome enough.
My editor situation also hasn't changed much in the last year. I still use VSCode, although the config has been slightly thinned out so remove extensions I don't use. I recently tried switching back to IntelliJ, for the far superior intellisense, but it just didn't feel right, and felt incredibly heavy, not to mention the lack of automatable configuration.
Last year I used GhostWriter for my markdown editing, but recently I transitioned that into VSCode so I don't need to remember 2 sets of keyboard shortcuts. The fancy WYSIWIG formatting from GhostWriter wasn't a benefit to me, but it's still my recommended markdown editor.
Vim is still my terminal editor of choice, but I am looking for something simpler. Some friends often preach Nano, which can apparently do many of the editing features Vim has, but the muscle memory is quite hard to get rid of. My dotfiles currently sync a custom Vim configuration, which much like my VSCode configuration, I've also thinned out, but I think there's more thinning to do.
Copying multi-line text from the terminal into the system clipboard just doesn't work, and I've not been able to work out why. My current solution is
tmux-yank, but that changes the mechanism to copy to the clipboard, which takes a lot to remember. Some day I'll work out what the issue is and fix things, I hope. But for now, this is fine.
As last year, Firefox.
Previously, I've used Chromium for development, to keep an isolation between development tooling and actual browsing. This year, I migrated this to Firefox Developer Edition, and it's great! The dev tools take a little to get used to coming from the Chromium ones, but besides that they're pretty powerful! My workflow is now 100% Firefox too, which is nice!
I spend a large amount of my life shelling into various machines, whether it be machines on my network, my home server, or various VPS instances. I don't use Mosh, as I'm generally on a reliable connection, but I do have a large, complex SSH config to manage. For this, I use
assh, a tool I wish more people knew about. In short, it converts YAML configuration into the native SSH configuration, and enables support for things like extending other configuration, nicer gateways, templating, and various other things.
I have a lovely habit of forgetting really important things I need to do, hence rely quite heavily on todo lists and calendars to limit it.
I started with todoist, and it works pretty well for me. I've looked into other tools, such as Remember the Milk, TickTick and TaskWarrior, but nothing felt ideal to me. Todoist has a great UI, it's cross-platform, and has a nice API (I'm looking at you, TickTick!).
Asana is something I've been tempted by, for its customizability and power, but it feels a little too bulky to me. Definitely something I'll be spending some more time looking at in 2020.
Password management is something I feel quite strongly about. Really, everyone should have and use a password manager, if they do anything valuable online. No matter what people think, everyone has important information online they don't want everyone seeing.
Currently, I use Enpass. Enpass has a crazy amount of features, and can by synced between devices using my Nextcloud server. Enpass isn't open-source, which annoys me, but really it's the best there is. The only real feature keeping me is the versatility of entries. Entries are really just a list of fields. Each field can have various different types, be private, or contain files, email addresses or TOTP tokens. KDBX, the format behind KeePass doesn't support this in quite the same way. You can add random other entries, but it's not the same. The day this is added to KeePass, I'm switching, immediately.
If you frequent public WiFi, you need a VPN. I don't think VPNs are necessary for everyday use (even though my phone is always connected to one), but if you're on a public or untrusted network, you definitely need one.
Probably the most famous is NordVPN, simply because of the amount of advertising they do. I don't trust them very much.
My current VPN of choice is Private Internet Access (PIA). They have pretty good clients, a large number of servers, and a SOCKS5 proxy, which is often handy. PIA was recently bought out, and reddit wasn't to happy about this. Since that they've open-sourced their desktop client, and have committed to improving transparency. I'm personally a large fan of Mullvad, and they're definitely a close second, but for now, I think I'm sticking with PIA.
As a client, I still quite like Thunderbird. I tried Mailspring, Evolution, and just the web UI, but Thunderbird is really nice in terms of features and performance, and the calendar integration is really handy. Since Mozilla stopped supporting it, the community has picked it back up, and there's now full-time work being done on it, and it's improving quite a lot. But there's still quite a long way to go before it's really ready to start recommending to people.
For the last 2 or so years now, I've been a heavy RSS user. I've fully replaced YouTube subscriptions with it, because the subscription management is famously garbage.
As I use RSS more and more, I'm starting to notice a potential for RSS to be bought up to date a bit. The urge to write an RSS aggregator is rising quite fast.
Most file storage lives on my server, through Nextcloud. As every thread on /r/selfhosted agrees, there's nothing better. Nextcloud works on all platforms, is reasonably simple to setup, and has apps/plugins to support basically everything.
For the sake of simplicity and performance, I don't install that many plugins for extra features. No calendar, chat, contacts, notes, or anything like that. Nextcloud deals with nothing but storage for me. Anything else is probably better handled by a bespoke application, anyway.
This year, my podcast intake has only increased, rather massively actually - My backlog is growing faster than I can listen. I really only listen on drives to the office, to make straight roads far more interesting.
This is a category i'm in desperate need of improving. I currently use Turtl, which is a nice, self-hosted, encrypted notes app, but it's not very active, and the interface is a bit clunky, but as features go, it's perfect!
Most of the note apps seem to be designed for larger notes, rather than tiny bits of text / lists, but it seems that's a niche. I think Turtl may be here to stay, but i'm still on the lookout.