--- title: State of the Apps 2020 date: 2020-01-01 tags: [linux, programming, arch, state-of-the-apps] aliases: - /posts/my-stack-2019/ --- 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]({{< relref "my-stack-2018" >}}) / [2017]({{< relref "my-stack-2017" >}})). This year, I'm ~~stealing~~ borrowing inspiration from [CGP Grey](https://www.cgpgrey.com/) / [Cortex](https://www.relay.fm/cortex/) and their ["State of the Apps"](https://www.cgpgrey.com/blog/state-of-the-apps-2014/) episodes, and also talking about productivity, and the other services I use to get things done. ## OS For the last couple years, I've been an avid [Antergos](https://web.archive.org/web/20190903082315/https://antergos.com/) user, but May of this year saw [the project end](https://web.archive.org/web/20190809064653/https://antergos.com/blog/antergos-linux-project-ends), forcing me to move. With all my [dotfiles]({{< relref "dotfiles" >}}) configured for an arch-based base, I had little choice other than moving to Arch. [Manjaro](https://manjaro.org/) also looked promising, but I'd wanted to move to Vanilla [Arch](https://www.archlinux.org/) for a while, so this felt like as good of a time as any. 7 months later, I've only hard migrated three 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. ## Desktop Environment I'm still an i3 user. I recently [tried using macOS]({{< relref "macos-review" >}}), 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](https://github.com/PapyElGringo/material-shell) just looks far too strange, and [i3-gnome](https://github.com/i3-gnome/i3-gnome/) isn't quite gnome enough. ## Editors My editor situation also hasn't changed much in the last year. I still use [VSCode](https://code.visualstudio.com/), although the config has been slightly thinned out so remove extensions I don't use. I recently tried switching back to [IntelliJ](https://www.jetbrains.com/idea/), 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](https://github.com/wereturtle/ghostwriter/) for my markdown editing, but recently I transitioned that into VSCode, so I don't need to remember two 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](https://www.vim.org/) is still my terminal editor of choice, but I am looking for something simpler. Some friends often preach [Nano](https://www.nano-editor.org/), which can apparently do many of the editing features Vim has, but the muscle memory is quite hard to get rid of. My [dotfiles]({{< relref "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. ## Shell Naturally, I do spend much of my time in the shell. I still use [ZSH](https://www.zsh.org/), [Alacritty](https://github.com/jwilm/alacritty/) and [Tmux](https://github.com/tmux/tmux), and it fulfils everything I want to do. my only gripe is that clipboard management is pretty weird, somewhere. 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`](https://github.com/tmux-plugins/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. ## Browser As last year, [Firefox](https://www.mozilla.org/en-GB/firefox). Previously, I've used [Chromium](https://www.chromium.org/Home) for development, to keep an isolation between development tooling and actual browsing. This year, I migrated this to [Firefox Developer Edition](https://www.mozilla.org/en-US/firefox/developer/), 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! ## SSH 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](https://mosh.org/), as I'm generally on a reliable connection, but I do have a large, complex SSH config to manage. For this, I use [`assh`](https://github.com/moul/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. ## Todo Lists 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](https://todoist.com/), and it works pretty well for me. I've looked into other tools, such as [Remember the Milk](https://www.rememberthemilk.com/), [TickTick](https://www.ticktick.com/) and [TaskWarrior](https://taskwarrior.org/), 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!). The [Quick-Add](https://get.todoist.help/hc/en-us/articles/115001745265) feature is something I also find pretty useful to quickly add tasks without faffing around. I wrote a [small wrapper](https://github.com/RealOrangeOne/rofi-todoist) around it, although I don't actually use it... [Asana](https://asana.com/) 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 Manager 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.