Desktop Tools I Use - 2019 edition

Every year I like doing a refresh on my Desktop tools posts 2018 here and 2017 here . I’m constantly tweaking and clarifying my toolchain to try and eek a bit more productivity out of my tools.

I’m still on my trusty, early-2016 Macbook which is now going on three years old, but I’m mow at the point I could probably move over to Linux with little disruption. Also, investigating ways to do things cross-platform has really added better arrows to the quiver. Strangely, now the issue in moving to Linux is finding a laptop as good, light, and powerful as the Macbook I currently have (and additionally, is fanless and silent.).

2019 finds me in the middle of sort of moving midway between OSX and a more cross platform toolset, so you’ll notice some weird overlaps (Bear and emacs, for example). The list is not exhaustive, but lists software you might not be aware of, or where there are alternatives in the space, what and why I’ve made a particular choice.

The evolutionary change this year is how much of my productivity workflow has moved into the browser, emacs, or the terminal outside of purely specialist apps (or mobile ones).

Running in the Background

I don’t really use the Dock for starting apps though I’ve never been able to come to grips with it not being present or visible on the Desktop for some reason. Interestingly on the Linux distro I now use (Solus 3.9999) which merely has a persistent menu bar and a menu widget which displays running apps, I don’t miss the Dock at all. The primary way I launch apps is Alfred on OSX or its Linux clone, Albert.

Alfred

Alfred is Launcher, Calculator, File Mover, Clipboard Manager, Snippet Manager, search shortcut, and has a couple of workflows I use to go faster (particularly the one I use for adding tasks to Taskpaper.). I’t shotkeyed to ⌘-Space and its funny how much it has become part of my basic workflow. In particular, I really notice not having it on Linux where there is no integrated clipboard manager or snippet manager available via hotkeys for me as when I’m using Albert , which is a sevicable launcher and calculator and searcher but misses some other features even with plugins.

Terminal

I use the CLI a suprising amount (and in fact, just moved recently from using emacs in CLI mode to using the GUI clients in Linux and Mac) and moved off Apple’s basic terminal to using iTerm2. To be honest, the differnce is not that great, but iTerm2 does seem to have slightly crisper text display than Terminal which was what made me move. On Linux I deeply love Guake as a hotkeyed, instantly accessible way to bring the terminal into play (my only beef being in Solus that it does not show up in the list of Alt-Tab-able apps you can switch between - and it should.). I’ve been a long time bash user but have started using fish , the friendly interactive shell, because it’s just so much better to use and gives you some really nice features you’ve always wanted (at the expense of POSIX compliance.). I make the terminal even more effective by using tmux with tmuxp as a configuration manager to make moving between some excellent CLI apps really useful. In OSX, I use terminal full screen so can use fast window switching hotekyed to CTRL-➜ though Guake is a nicer user experience. See the section on CLI apps for the ones making a difference in productivity.

Firefox

I am a big fan of what Mozilla trying to keep the internet open and free. Quantum was a leap for Firefox and made it both fast and on par with Chrome and Safari while also giving users privacy and tracking protections across platforms. I am a big fan of the natural ad blocking and have to say it’s made my browsing experience much more enjoyable (and undeniably faster). My only beef has been that more than a few updates this year have been less than stable and wish the native integration was just slightly better on things like OSX and Linux. I’ve heavily modified the tab bar to have way fewer buttons, removed the bookmark bar (and instead use the bookmark button on the far left) and put it in compact mode to preserve screen real estate as well as the nice Dark (or Arc Dark) theme.

I also am a huge fan of the Pocket integration (though would love if it had an integrated feature like Safari’s Reading List - esp for offline) and have customized the default Forefox browser interface pretty heavily, putting it in compact mode to give me more real estate by removing the bookmark bar (and instead use the bookmark button out on the far left), many buttons in the toolbar to reduce clutter and have dropped down to using just a bare few extensions now: Bear clipper (since still trying to find a nice clipper for emacs), video speed for zooming through video tutorial/courses, and OneTab which collects up all your tabs and put them into a one pager for you (I love this extension, actually. Get it.).

While Firefox now supports Google Hangouts and Zoom (both of which my work uses), I’m really trying to move over to native RTC video chats like Hello and Appear.in (now named Whereby) whenever I can.

Taskpaper

Taskpaper runs my GTD life. Despite trying numerous GTD apps, I’ve always come back to this. Simple almost to the point of boredom, it understands a particular hierarchical todo text file format and has killer filtering for focusing, aggregation, and search.

Saf Dmitry has come up with an excellent Emacs Taskpaper mode which has the core killer features of Taskpaper itself (as well as some excellent customization features which Taskpaper itself does not have) though I am only just trying to move over and customize it after killing emacs org-mode as an experiement (great at tracking, bad at telling me how to organize GTD.). If I am comfortable moving Taskpaper to emacs, I can move to Linux soon as I find a laptop as good as my 2016 Macbook.

Emacs

Yes, this surprised me too. Beloved my neckbeards everywhere, I somehow started messing with emacs, was shocked by its power, customizability, and the ecosystem around it and have been using it as my main editor for most of 2018. In particular, org-mode document format has some nice features markdown does not (though I may switch back to markdown) but it ends up being an excellent hierarchical information manager for notes, tables, and a slew of other things once you get past the muscle-memory around Markdown. I’m very fast in it, and Deft mode is an amazing Notational Velocioty clone which is rocking my world these days. I use it for my daily logging and general note taking. Ridiculously handy once you have tried bending it to your will (which emacs does not like - it tries to bend you to it’s will.). Also org-journal is very handy hotkeyed but would love to enhance it so that it has some auto support for things like Day One has (recording weather, location etc) as well as the ability to add in photos more easily (and of course, it esperately needs a mobile app to allow on the go journalling.). The key thing you have to avoid in emacs (imho) is in using it for the things it is very good for and trying not to do everything through it (because you almost surely can though the experience is suboptimal compared to other gui experiences now these days.). Still, surprised I am using this so often and enjoying it with very few exceptions.

Using org-mode agenda was a mistake I made last year. While it is probably amazing for some people, and the tracking and day to day management are surprisingly powerful, my big issues was that my problem is not tracking, so much as organizing the ridiculous number of competing priorities I have. Taskpaper works better for me, though now see that there is a taskpaper mode for emac as well. So far, using taskpaper and emacs is a bit of a win for me.

Bear

Bear is handy not because of the OSX app itself (which has annoyances and shortfalls) but because of the excellent iOS client which allows you to take quick notes and have them sorted by tag in an autohierarchy (this is an awesome feature I wish could somehow be duplicated in Deft though it would not make sense.). It is quick to take notes and excllent for recording things in iOS and then, easily syncs to your OSX app for pasting into other things. Despite how much I like it, I do want to replace it with something that is straight up text file friendly and would work better with emacs but I have to say for an OSX and iOS app, I think the creators have done a fantastic job making this app amazing. It deserves all the accolads it gets. Also, I still use this on the desktop as a “go betwee” since Firefox clipping to emacs and Deft is funky.

In the Menu Bar

NordVPN

After a number of (admittedly minor) annoyances with TorGuard last year, I ended up switching over to NordVPN mid yaer and have been happy with it. It’s pretty much always on wherever I go when I am on the laptop. It seems more stable in its abilty to hold a connection and more importantly it allows me to bypass geoblocking for sites where I need to get around that (ok, I admit Netlfix is the main one.). Oh, and unlke Torguard, the app’s menu bar-inly feature works.

Since the Macbook is my daily carry have not set it up for the Linux lapotp yet, but hoping it’s as painless to set up and change connections there as it has been on OSX.

Dropbox

Dropbox has only become more useful to me as I’ve looked at cross platform. The abilty to point different computers at symlinked config files effectively gives me my whiole setup in the cloud and most of my CLI apps and major data libraries (music, videos etc). Add sensitive stuff being GPG encrypted so you’re secure and this has been a game changer for what seems a riduclously reasonable annual fee. Plus, you can use it to share things to people ridiculsouly easily.

With selective sync for the Linux and OSX client, I can also use Dropbox as convenient cloud storage without taking up space on my computer, so this is very handy for storing my encrypted backups in case anything ever happens locally.

Hard to beat a reasonably priced, secure, uber reliable, terabyte of spare space to use. Great service. Worth every penny.

Arq

If you are reading this and not backing up, your highest level takeaway from this should be that you need to set that up now. I cannot tell you how many people take this for granted till it’s too late. Your data is way more important than your hardware. If my hardware dies, is stolen, or somehow explodes, I merely get another machine and bring down the backups to re-setup my system.

Arq is great, simple, and simply dumps an encrypted block level backup in the background on a schedule you specify to a specified storage media (for me, a non-syncing Dropbox directory). I have not used it lately, but it is nice knowing it is there in case anything goes horribly wrong (also, Dropbox version many files itself for extra security.).

In Linux land, I am trying to find an Arq-like GUI client (perferably) that can wrap Restic and sort out my backups with the same sort of pace of mind (particular for the total catastrophe scenario) that Arq curently does for me. Still need to do some more research in this area before I can really do a proper switch. If I can’t fund anything though, Deja-Dup which wraps Duplicity is a totally valid old school approach as well if it can emulate Arq’s unobtrusive, menu bar operation.

Docker

As I become more and more managerial this seems to be getting used less and less (sigh). When I finally do manage to roll up my sleeves and get to some hackoing though, Docker is now the de facto way I containerize apps. Kuberneetes friendly and the only place I’m not using it (though I should be) is when I’m pushing code to heroku.

The Clock 3

The Clock 3 is just a super useful menu bar utility to keep me apprised of the time in other places (with a handy calendar view). Still looking for something in Liux land that does this well from the menu bar.

CLI apps

I’m still a command line cowboy. Package management is handled via the excellent Homebrew or via elixir mix, ruby gems, python pip, or npm install. On Solus, eopkg works serviceably though personally I’m looking forward to Solus 4.0’s use of snapd for package management.

habitctl

Habitctl is a minimalist habit tracking app that I have to say I’v ebeen really enjoying. Still in early development (code in Rust) though usable for day-to-day tracking, the app provides a simple way to track habits, a nice text-based log file as a data source, and a clean graph of your habits so you can spot patterns and get an idea of how you are tracking. Quite loving this though would still like support for skips, bad habits, and rather than just day-based tracking, support for week or month specification (eg 5 times per week.). It is very good already though and has replaced emacs org-habits for me.

Newsboat

Newsboat (formerly Newsbeuter) is a fantastic CLI app for ripping through rss and atom feeds. I prefer this to every GUI newsreader out there (and yes, I know I can use emacs) as I can speed through feeds and be super-efficient.

Passpie

Passpie is an excellent, simple password manager in a nice plain text directory structure that is encrypted, and stored in the open. Easy to use, very responsive developer, and works pretty much flawlessly. Would love to see this in Go to speed it up a bit over python, but that’s a minor point and despite sometimes slowness, works great as is.

GMVault

GMVault backs up my mail in case the Goog catastrophically does something to my mail or account. It eeps a nice updated sync of my systems which I update every day via a running cron job and which is backed up via Arq as well I wrote a post on enabling cron back on OSX which still works great.). And here’s a nice little snippet if you ever need to search through its archives.

find ./ -name \*.eml.gz -print0 | xargs -0 zgrep "STRING"

Other Useful Tools

Visual Studio Code

While it pains me to say it, Microsoft have done a good job here. When I’m not using emacs these days, or quickly editing something in vim, I end up reaching for VS Code on OSX for variouos coding purposes. With a great plugin ecosystem, integrated git, and a built in terminal it’s pretty good though I find it slower than Sublime Text (which I really love) and these advantages end up making me use it more despite the cluttered interface (which is defintely not 12" macbook screen friendly.). In fact if someone wrote a decent Deft mode and Taskpaper mode for VS Code, i would probably switch over to it. Solid, easy to write in, and painless to configure as well as having nice themes and being so very very pretty. Oh, and works on Linux as well.

Transmission

Transmission is still my bittorrent client of choice. It is simple, fast, secure, no-nonsense, and ightweight. I do think the OSX version is a little superior to the Linux version as the interface feels slightly clunkier on Linux, but it still works as advertised on Solus.

Quicktime Player, VLC and MPV

Strangely, Quivktime player sort of dethroned VLC on my laptop for one reason: You can now play a QT video directly to AppleTV which is just fantastic for watching videos on my big screen. VLC is still on OSX and the Solus machine, but on Solus, MPV is integrated so nicely on the desktop it’s hard to think of why I’d keep using VLC. Don’t get me wrong, VLC is still a great player, but increasingly I’m finding my video players need to give me the power to stream to a larger screen for when I’m working on my laptop on other things. I’m still looking for a way to do that nicely in Linux, as most people I know seem to use the Plex player (and my TV will read from it as a uPnP server) to do the same simple thing Airplay does to stream to the AppleTV.

Calca

Calca is one of those gems you dpon’t even think you need till someone show you it and you suddenly realize how great it would be for a whole rash of calculations you’d normal screw up in spreadsheets somehow. Love this little app and was very glad to see the developer bump it to High Sierra since it had been negected for a while. I’d love to figure out a way to make this work as an emacs mode (since it’s just effectively markdown that knows about math - which is way more awesome than it sounds.).

Weirdly, I’ve seen nothing like this in Linux land, which makes no sense to me at all as it plays to the text based strengths of the platform. Might take it on as a project as soon as my lisp-fu gets better.

iTunes

I’ve described iTunes as a car crash of an application design-wise in the past and I think it’s become worse with Apple Music integration. I still use it though, which is embarrassing and mostly because it integrates with my iPhone well and I can Airplay directly to my bluetooth living room speakers. On OSX, Vox is a vastly better designed and usable player and I’m a bit ashamed I don’t use it instead. I’m not sure what that says about me (though the iTunes music store is handy).

On Linux, I have to admit to liking the simplicity of elementaryOS’s native Noise music player which works very well with no muss and no fuss. Gnome’s Music player is also alright as well though seems to be have a few more rough edges than elementaryOS’s. Also, I have not checked up on how improved versions of Audacious are working which seemed very promising the last time I was looking at Linux players.

Photos

I’m still looking for a great app to replace the job that Photos does on my laptop and allow bidirectional syncing between my laptop and iPhone. This is just a really big area I’ve not been able to sort properly though worried replacement options like Shotwell and DigiKam are not going to get me to where I wanna go. I still need to check out the elementaryOS native photos app if I can get it into Solus. More research needed here and happy to make suggestions on things that have worked for you.

Database

GUI > CLI on most database interaction. Really there are just two I use regularly, when not on CLI.

Do to liking Heroku which uses postgres natively, I poniued up cash for Postico which works as well as it needs to.

I don’t use MySQL much at all these days (though it has its uses and I’m by no means a snob about it), but

SequelPro , the successor to CocoaMySQL (which was great) is your go-to here.

Linux-land does not seem to have any good GUI clients (sigh) so looking for recos here if you’ve got them.

Firefox plugins

Pocket

I have a paid Pocket subscription and think it’s great. It does need to take a hint from Safari’s Reading List feature and ntegrate a “Read Later” feature. The mobile app seems less useful to me though it may just be that I need to get a better workflow going for when I’m offline.

Onetab

Sucks all your current tabs into one page of bookmarks ordered under a day (nd closes them). Instant cleanup. This is fantastic and saves heaps of real estate versus the “Save All Bookmarks” in Firefox.

Video Speed Controller

For watching screencasts, conf talks, and coursera at a speed that my brain likes. Super handy.

Bear Web clipper

Used because emacs is a pain to integrate with from the browser. Using this so much less these days though with Pocket not even sure I won’t delete it soon.

Finally

It actually surprises me how much change occurs in my toolchain annually. While I still haven’t jumped back to Linux, it now feels like this is more about hardware rather than software (notably, mostly due to emacs), though still have to say I’m not totally comfortable with the idea and wondering if I’ll be happy with the move 6 months after I make it. Strangely, I kind of feel this depends on Apple at the moment. If they do not update the macbook line this spring, I feel I might as well move over to another laptop and Linux though thinking I’m going to be doing work myself building tools that I may need myself (eg. Calca) that now exist as part of the toolchain I already have.