Desktop tools I use - 2018 edition
It's time for the 2018 refresh of the Desktop tools I use. I'm amazed what changes year-to-year as I try to simplify and clarify my toolchain and productivity.
Some of the evolutionary changes were interesting as I started experimenting with moving off the Apple ecosystem and moving back to Linux and an environment I move directly control and can future-proof. In particular, it's brought up interesting compromises (and opportunities) I'd have to consider before making the leap.
On the Dock and 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. The primary way I launch apps is via the excellent Alfred.
The Dock really is more for just showing me what's running at any
particular time (though I don't know why I actually need that since I
⌘-Tab between apps mostly) than launching apps, as that's what I use
Alfred for. Alfred is Launcher,
Calculator, File Mover, Clipboard, 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 feel slightly broken whenever I have
to use someone's Mac that does not have
⌘-Space set to it. Spotlight
never really worked for me. In my Linux land experiment, I've been using
the Alfred-clone Albert, which
is serviceable and quite excellent at least in usage so far.
I do use a few workflows to make Alfred even more awesome: one focused on adding events to Taskpaper so I don't break flow, a google shortner, a timer/pomodoro (new, to see if it can replace Red Hot Timer), a nifty song playing workflow so I don't interact with iTunes diretly, and a weather forecast set to let me know it's always gonna thunderstorm in Singapore.
Alfred makes me way more productive in terms of removing lots of microtasks/interactions from my workflow. I know I'm going to be hard pressed to make Albert as useful on Linux (though willing to try.).
I'm a heavy CLI user (see section below). I use Apple's native
Terminal.app that comes with the OS and don't see the need for iTerm2
though I know that's another popular choice. I think because I use
terminal with tmux and
tmuxp I may not see the need for iTerm,
but the tmux and cli combo makes me super efficient for certain tasks
(plus my old workmates beat vim into me) and I have to say there a
number of things I wish I had time to program on the command line that I
currently use gui apps for on OSX.
This is actually one of the things I really love about Linux actually, where I use Guake, a great little drop down terminal inspired by the terminal from the game Quake that is hot keyed so that the command line is always a hotkey rolldown away and can then get it out of the way again. Really, really like that. Wish there was an OSX version.
I'm still amazed at how much of my daily workflow has moved into web applications that are now portable between OSX and Linux like my GMail and Calendar applications plus all the work apps (ugh, Slack) I use that are web based.
It may be the paranoiac in me, but between Google, Apple, Amazon and Facebook having way too much data on me, I moved over to using Firefox near the end of last year. Enjoying the privacy features and speed and I've managed to find plugi replacements that work for me. Only downside is not being able to use Google hangouts though I've fixed that by moving to the excellent Appear.in for video conferencing when I can.
Besides, the excellent hardware and "just works" ecosystem, the thing that has me the most worried moving from the Mac is the fact that I depend on Taskpaper. very heavily for my GTD workflow. The weird thing is that it is ridiculously simple as apps go, but it has this killer filtering feature that lets me keep everything in a somple text file and then easily figure out what is done or needs to be done in a week. There is apparently now an emacs mode which will emulate this now, though I tried it and found it a little wanting, mostly because my vim-fingers kept tripping up emacs commands. As it stands though, still ❤️ Taskpaper and making sure I can utilize the same sort of process on Linux is probably one of my main concerns in moving off of OSX at the moment.
Bear was a new app I started using last year (sucked in by the cute Bear cartoons) but have to say it is a fantastic note taking application that allowed me to get rid of Evernote and replaced the vim-based notational velocity clone I was using (though have to admit, I am still liking a fzf-notationl-vim that might be a good integration with 1Writer to get me what I need.
Still though, Bear has some really nice things about it. It has a great web clipper which means I can use it (when not using Pocket) to clip web sites into it in a converted Markdown format (which is epic.). The other feature which astounds me no one else has ever though of doing it is putting hashtags into file and then automatically creating a folder structure out of it on the left hand panel to automagically organize everything. It is pretty sweet, the mobile app works well (though folder navigation for switching between notes could be nicer) and does what is advertised on the box elegantly. Pretty much a perfect OSX app actually.
This would be another one to stay on OSX for, though as mentioned above, I do have alternatives, and using Dropbox as the file store (and it being plain text) is considerably preferable to using iCloud sync and needing to export to text for storage.
In the Menu Bar
Still enjoying using TorGuard, and it is pretty much always on in whatever country I happen to be in. In particular, with me bouncing around Singapore, Jakarta, Hong Kong, Canada, the UK, Malaysia, and France in the past year, I was impressed at how well it performed. Industrial strength privaacy and VPN encryption and no tracking. My only beef is there is no option to remove the Dock icon on the sucker, can't really complain too much. Have not played with the Linux client yet, though hoping it's something that just site in the menu bar and stays out of my screen or Dock-equivalent real estate.
Strangely, using this a lot less than last year, mostly because I'm not coding as much in my new management role, but as we use Kubernetes on GCP as our main deployment option, it is very, very handy anytime I'm not using Heroku.
Also, as the team becomes more adept at reproducible data science research and good process, being able to package up reproducible analyses this way is almost a no-brainer we most likely will standarize on.
Red Hot Timer
Strangely, I try not to be too time driven in my daily or weekly workflow, trying to follow a daily maker then manager type morning and afternoon, but often I just need to set a quick timer to remember to do something in a certain amount of time. This pull-down-from-the-menubar-icon-and-set timer just has a really nice no-thought way of setting timers which I find useful and doesn't interrupt my flow or require context switching in any big way.
I not only use Dropbox to easily share files, but it also ends up being a nice extension drive for my desktop, with a lot of commands line tools’ config files and data being kept in dropbox to easily sync between machines and mobile devices. It’s handy, simple, cheap, provides versioning of files as backups, and even handles conflicts in a way I endorse (creating a second file marked conflicted copy and letting you resolve the issue.).
I've also a few of the directories on non-syncing mode which acts as a nice in-the-cloud and protected space for the backups I do with Arq, below.
Hard to beat a terabyte of spare space to use. Great service. Worth every penny.
If anything, Dropbox would be even more important once I switch to Linux so hope that IPO they've got cooking goes well.
Back up, people. Seriously, if you take anything away from reading this it should be the fact that your data is a million times more important than either your software or computer hardware. My entire system is set up so that if my computer every goes down hard, it should be a simple matter of connecting to my backups to get back up quickly and relatively painlessly.
I used Arq for a long time previously and then switched to Crashplan because of the rising cost of doing the backups on Amazon. Solved that problem with moving the backups to a non-syncing directory on Dropbox where my encrypted backups sit. Definite peace of mind, and love the fact it keeps versioned backups indefinitely.
Seriously love this app.
On Linux, I'll more than likely be using a combo of Deja-Dup/Restic and Dropbox to handle the same sort of setup though would love it if there was an Arq client for Linux as well.
The Clock 3
This is just a handy little utility to keep me apprised of the time in other places (and it has a nice monthly calendar view that comes in handy). Even though The Clock 3 also has a nice “Break” feature though as it is a bit buggy... what I really want it to do is start me on 50 minutes at the top of the hour nad tell me to take a 10 minure break before the next hour, but it doesn't seem to do that... I've turned the feature off. Which is not good either.
Yep. Still a command line cowboy, so still managing to use the terminal
for a lot of things. Package management on OSX is handled via
Homebrew or via ruby gems, python pip, or npm
install. On Linux
apt is the easiest thing to use though there is a
wealth of package managers you can choose from. Always use package
managers if you can. These are things I use. Then nice thing about all
of them is that they work just as well on Linux as they do on OSX.
tmux and vim
Tmux and vim (with a lot of plugins) end up being a pretty integral to the way I work these days. Even this post is being drafted in vim in the second window of my tmux setup (which separates out specific working concerns.). Most of my beefs with tmux and vim end up being about the limtstions of old-timey computer terminals in the modern era (and fact you can't map all the keys for vim because of that.).
jrnl is a great little program that ends up holding on to my daily logs and journal scribblings that I use to use Day One for. When Day One classic stopped being supported and then no longer worked with Dropbox (or where the new version doesn't store things as text) it felt like it was time to move on and much as I like the old version of Day One, I was not a big fan of version 2, so felt like time to move on. It also encrypts and have to admit, I just use it to launch into a vim instance to write my logs and journal entries. Very handy though would love it having a few more featueres like better searching and a bit smarter default behviour if you're not just using it on the command line. Lot to recommend it though if you just wnt ot simply record things and have security and a long view of your records.
jrnl is good enough that it'll do for the meantime but I do have a small project going on in elixir to come up with something just a wee bit better as well as try my hand at an iOS app so I'm doing a little beter on doing the remote logging as well (which is something I very much miss).
Forked and renamed Newsboat, is the revitalized Newsbeuter which is a fantastic CLI app for riping through rss and atom feeds. I actually think this is better than all the other newsreaders in GUI land as you focus on the subject lines before looking at anything in either the text mode or a launched web browser. Definitely good for keeping you focused on being informed, rather than distracted with the myriad delights of the internet.
Passpie has a lot of stuff to recommend it: a quick, light, little program that stores your passwords in a nice plain text directory structure that is encrypted, and (technically) could be stored in the open. Easy to use, very responsive developer, and works pretty much flawlessly. I've got this aliased to be even faster and have to say I trust it a lot more than I do tools like LastPass and PassPack after all the breaches and leakage in those systems.
Weechat is super handy when I do need to use irc, which admittedly, is a lot less than it use to be these days. The handy thing is that it is fast and efficient and stays easily tucked away in a tmux tab when it is not directly in use and when not active I have a running ZNC bouncer I keep up on the channels when I'm not online or otherwise live in irc.
An underappreciated gem, if a little paranoid about backups, I'd been using GMVault for a considerable about of time now to make sure I have backups just in case the unthinkable happens and the Goog somehow destorys my mail, locks me out, or someone manages to hack and destroy my account. Besides peace of mind for both all of the companies I've been working of in the last 6 years and my own personal domain accounts (which are hosted in GApps in a devil's bargain), it keeps a nice updated sync of my systems which I update every day via a running cron job and which is backup via Arq as well. Yes, it's not easy to get cron back on OSX, but I wrote a post on enabling cron back on OSX a while back to enable that fine on Sierra. Works great. So, daily cron job, double backed up, and as a bonus, it's actually super handy to also use it for searching through past job mail when you no longer have access to the google interface.
find ./ -name \*.eml.gz -print0 | xargs -0 zgrep "STRING"
It's saved me a few times when trying to find some business contact's email that never made it into my address book for some reason.
Other Useful Tools
While I have to admit, I experiemnted a lot with Atom last year and love its ecosystem of plugins, it is just, well... slow. I kept finding myself sneaking back to vim for its speed and ability to just get things quickly done.
Sublime Text finally released after an age and have to admit, its ecosystem is almost as good as Atom and more to the point, it is fast. Tend to reach for it now these days instead of Atom though vim still tends to be my go-to for anything I need to get done. It's Linux friendly though have not been using it there in favour of vim on CLI.
Jupyter and JupyerLab
Jupyter and, now... JupyterLab just end up being the standard that most data scientists use these days. It's come a long way from where it was and now feels like its a fully-fledged ecosystem in its own right. If you're dong data science, you might as well get comfortable using it since it is now the standard method of integration for so many things.
Works great on OSX or Linux.
Transmission is a fantastic bittorrent client. Been using it forever and love its simple interface, no-nonsense network throttling, security built-in and running in a very lightweight package. This is one thing I’ve been using for ages now and felt no need to change. Runs in both OSX and on Linux.
VLC has been an awesome video player that plays just about anything for as long as I can remember. I foten wonder why it is not the standard on more Linux operating systems, but I prefer to use it over Apple's Quicktime Player and generally it is one of the first things I install on a Linux system once I get comfy on it. The new 3.0 version looks amazing, and loving the fact that it now supports Chromecasting which might mean I can think more about using that instead of my current AppleTV (though streaming from the macbook to my TC through it is frankly a pretty great superpower I'd love to be able to have on a linux laptop as well.).
Calca is just fantastic. It is one of those amazing little OSX applications that could be delivered on another platform but for some reason never was, even though it is simply a text editor that understands how to evaluate math. I love it since it allows much simpler expression of mathematical formulae naturally and, if the numbe of spreadsheets I've replaced it with, in a much less error-prone way than standard spreadsheets.
I had thought the author had abandoned this a while back, but he suddenly released an update at the end of 2017 on it which moved it to being 64 bit and, while not adding any new features, has at least kept it going into 2018.
Weirdly, I've seen nothing like this in Linux land, though would love it if vim or emacs had any sort of mode that could emulate this (or even if there was a standalone app that would do it.).
It is almost embarassing I use iTunes, since I think it's a car crash of an application design-wise and become even worse with the Apple Music integration. On the plus side, it does make it easy to buy music or movies but I have on idea why it's so hard for a decent alternative. I liked Vox quite a bit last year, but as it is OSX only, felt I needed to look for alternatives that might work on Linux. So far, I really like Audacious, but it has bugs that make it irritating despite the fact it is well integrated into things like the Budgie desktop (for example, I've been unavble to get search working in either Linux or OSX.). Then again, I am liking the CLI musikcube quite a bit and CMUS is not bad in a pinch either though that feels almost too retro even for me.
Strangely, after a brief stint with Spotify, I dropped it altogether as I found the music it was recommending to me boringly predictable or not making sense whatsoever (Mandopop? Really??).
I'm actually not that big a fan of Photos, particularly as Apple has moved to integrate it more tightly with my iPhone and has started making syncing between the two a cloud storage feature I need to pay for (yeah, I have about 250GB of photos from years of having digital storage.). Also, to be frank, it makes me feel like Apple is more interested in mining the photos as a data source than in creating a great Photo manager app for "the rest of us." To say nothing of the fact, I've had some photos go missing in Photos which freaks me out and makes me worry, it's not the secure storage medium for my memories I need. I'd love to find a cross platform alternative to start moving to, but the large collection and feeling that Shotwell may not cut it make me nervous about migrating this to Linux at all (to say nothing of the fact, I'll need to sync whatever phone I have next with it.). So, unhappy with Photos but feel like I do not have decent alternatives I'd trust available even if I move things into more of a folder structure. But, will be experimenting with Shotwell when I get more earnest about the Linux land experiement.
GUI clients are much easier than command line SQL, so it's hard to beat these for handiness when developing.
More Postgres than mysql these days, I invested in the excellent Postico which is a great little client.
For MySQL, though I use it a lot less these days, SequelPro is the successor to CocoaMySQL and most likely the inspiration for Postico.
Slightly concerned that there is a large lack of DB tools available for Linux though Jetbrains DataGrip seems promising.
I actually have to admit that I am seriously happy that Firefox built this directly into the browser. I have a paid subscription to Pocket and have to admit that it ends up being a much better place to store web clippings that my previous solution of Evernote, and then Bear. Nice integration and works well. Love how it syncs with my mobile app for when I actually have time to read things on the go.
Bear Web clipper
Some stuff is so good that I know I will keep it around forever and this it gets clipped into Bear which, as previously mentioned, has replaced Evernote in a lot of ways when they lost the plot business-wise. Works great.
Video Speed Controller
I watch a lot of online video, especially of technical talks and courses, and usually I find I can absorb the information a lot faster that I absrob the information a lot faster than most presenters want to deliver it. This allows me to bump things up to 1.33X or 1.5X speed and get through material at a rate that's a bit more conducive to me not getting bored.
Undo Close Tab
I have a tendency to close tabs a little too quickly, so this ends up being a lifesaver as I don't have to go into Recently Closed Tabs if it's just the one I closed. Handy, but definitely not essential.
I end up having to read a lot of info that comes into me in order to
keep up to date in all the fields which end up bneing important
professionally to me in my roles. This allows me to snooze tabs till a
later time (and they get saved to a bookmark list) and then have them
come back at a time when they don't clutter up my firefox and make it
harder to do work. I'm still not sure if this tab is a good idea for me,
as I find I snooze things and have a very long list, rather than, say...
adding them to pocket with a
toread tag and being a bit more selective
about what I do read, but it has come in handy in terms of something
that feels useful even if I'm a bit worried it may just be delaying
information overload when I shold be more selective. You need the
Firefox test pilot installed to use it, but happy I found it as much
better than the alternative (though has an annoying ring when it brings
back tabs unlike its Chrome counterpart.). You can find
So, rather surprisingly, quite a few things have changed from the 2017 line up. I see myself drifting towards more cross platform, data format centric apps as I try to move towards Linux but find that the OSX apps I do have make it hard to move away from the platform (not to mention how good my laptop is... when playing around with apps on both my macbook and my Dell 13" XPS I was struck at how much better the sound, wireless, and video camera were on my macbook.).
Still, ought to be interesting to see if I can make the leap to Linux this year and how different that makes my desktop in 2019 (as well as what I'll miss from OSX.).