In 2020 I noticed myself feeling pretty negative towards software. This note is my way of taking a step back and acknowledging that there is really good software out there. # General Software ## Pleco | English-Chinese Study Tool **Price:** Free, \$\$, \$\$\$ This is one of the most user-centric apps I know. Studying Chinese is admittedly a fairly niche activity, but if you study Chinese there's no better option. ## Overcast | Podcast Player --- **Price:** Free, \$\$ The best podcast player on the market. - Details Not only does Overcast let you hide badges, it encourages you not to use badges! This software gets me. This setting under the heading "Nitpicky Details" (my favorite type!) ![[Untitled.png]] > [!important] There's no android version of Overcast 😢I wonder if there's something comparable. So far, I think this is what I would miss most by switching to Android. ## Alfred | App Launcher, Multi-purpose Productivity Tool --- **Price:** Free, \$\$ The app you'll use many times a day without thinking about it. A _real_ productivity booster. - Details Calling Alfred an "app launcher" does not do it justice. It is indeed an app launcher, but more than that it's e general purpose front-end for any script. That's vague, so for instance: ![[2020-09-08_at_9.39_AM.png]] Alfred can tell you various timezones. The timezones are customizable, as is the set of characters that activates this mode (`tz` in my case). ![[2020-09-08_at_9.39_AM 1.png]] Alfred can find your files and folders. Unlike the other examples this is built-in. ![[2020-09-08_at_9.41_AM.png]] Alfred can search for Ascii art. Shameless plug: I wrote this extension [https://github.com/iansinnott/asciilib-workflow](https://github.com/iansinnott/asciilib-workflow) Given how useful and Flexible Alfred is it's no wonder that I use it a lot: ![[2020-09-08_at_8.19_AM.png]] I'm not sure why Feb 10, that seems arbitrary as it's about (but not exactly) 7 months ago as of me writing this. Also why not lifetime usage? - Room for improvement Alfred is pretty damn good, but there's one glaring oversight in my view: ==Lack of a package manager. An app store for Alfred extensions==. This is not a significant issue if you're a programmer and used to managing your own extensions, but I imagine it's a huge issue for less technical Alfred users. Having an easy way to install and manage extensions in Alfred _without being technical_ would make it a much more broadly appealing and useful product. Given that it seems to be a win for users and a win for Alfred I find it very odd they didn't add a package manager in their latest Alfred 4 update. In fact, this feature is obvious enough that someone in the community created a [repository of Alfred packages](http://www.packal.org/) to help the situation. Unfortunately a third party repository can't offer the deeper integration with the app itself that Alfred needs. ## 1Password | Password Manager **Price:** \$ Use different passwords for every site you log in to. A single point of failure in exchange for unique passwords everywhere. - Details 1Password let's you generate unique passwords for every site you log in to. It will store those passwords and also fill in login forms for you. **Why use this?** Unique passwords for all logins is the general reason. The reason for 1Password specifically instead of Lastpass is that the UI doesn't feel like a _bad_ web app—not a good or meh web app mind you; a _bad_ one. Also, I actually _like_ that this is a subscription product. When it comes to the software that holds all my passwords I'm willing to pay monthly if it keeps the company stable and vigilant. - Room for improvement This is a _very_ nit-picky, which should give you a sense of how much I like this software, but 1Password attachments are odd. When you attach an image to an entry in 1P it creates a new entry for the image and associates it. In other words your attachments become first class entries in your 1P database, so when you search for things you might get images as well as passwords. This behavior is never what I want, so it feels like an odd choice. ## Day One | Note Taking **Price:** Free, \$ A simple markdown editor that's _fast_, syncs between your devices and makes audio journaling simple. - Details This is pitched as a journaling app but I use it for writing down any thought that comes to mind or impromptu notes. Maybe that's equivalent to journaling, but I don't think of it that way. **Why** 1. It's a damn good markdown editor. 2. You can embed audio recordings in your notes. Point 2 is important to me because I like to take notes while walking. Typing while walking is a non-starter, so I just speak to my phone. For some reason Notion hasn't gotten around to adding audio recording yet and iOS's built-in voice memos feature is too detached from the rest of my workflow—I've used it before and I just forget to revisit the recordings. Day One is also happy to export your content to markdown (and various media files if applicable). As far as I can tell there's no lock in other than the highly welcome "lock in" of being so useful you don't want to stop using it. - Room for improvement I'm not entirely sold\* on the Day One subscription model. I'm under the impression they use Apple's services for device sync, storage, and speech-to-text. It's also stable and (in my opinion) feature complete. In fact I really hope they don't change the app much or at all. If it's not broken don't break it. ## Books.app | Ebook Reader **Price:** Free (if you use iOS) There's a notable absence of most Apple software on this list, but Books is a wonderful exception. - The UI is clean, minimal and fast. - The highlighting and note taking features are useful. - It supports any old ebook or PDF, meaning you can drop ebooks into Books and it will sync to all your Apple devices. In other words it can aggregate _your books_ rather than merely books Apple sells you. Books feels like the Apple of old, and perhaps it literally is. I wouldn't be surprised if it hasn't seen significant development in years. If that's the case then I hope it doesn't see significant development for many more years to come. - Room for improvement As good as it is there are two ways in which Books could be better: 1. Become cross platform. I want Windows and Android versions. Knowing Apple, this 'aint gonna happen. Why not Kindle? The Kindle UI is much less polished and much slower. Most importantly, Kindle makes it either difficult or impossible to bring your own books and PDF and easily sync across all your devices\*. 2. Copy highlighted text without adornment. When you copy text from Books it wraps the text in quotes and appends a lengthy citation. This leads to having to delete all that surrounding gunk whenever I copy from the app. - Here's an example if you care to see it. Click to expand. ```Plain “In human discourse there is a natural tendency to treat discussion as a form of combat, an extension of war, a sport; and in sports you only need to keep track of how many points have been scored by each team.” Excerpt From: Eliezer Yudkowsky. “Rationality: From AI to Zombies.” Apple Books. ``` ## Spark | Email **Price:** Free A better interface for your email. ## Things | Todo List **Price:** \$\$ # Finicky Power User Software Sort of the intersection between developer and muggle\* if you will. ## Linear | Project & Task Management **Price:** Free - \$\$ This is the first software that comes to mind when i think of software I like. It should really be in a league of its own. Maybe Linear and Bun. ## Kagi | Search Engine **Price:** \$ - \$\$ So nice to be able to ditch google. Now I just need some email service. If only superhuman would build an actual email server. ## Keyboard Maestro | Visual Scripting Language for Mac **Price:** \$\$ ## CleanShot X | Screen Recording **Price:** \$\$ Surpassed Kap, which use to be the one in this cateogry. ## OBS | Screen Recording **Price:** Free OBS is most well known for it's live-streaming capabilities. Many gamers use it to stream their gameplay to an audience through Twitch or Youtube. However, it's also a powerful screen recorder. This is the software Sean and I used to make all the instructional videos for Pairwise.tech. It's a bit finicky to set up, but once you set it up it's very easy to use. Just open the app and hit record. ## [Karabiner Elements](https://karabiner-elements.pqrs.org/) | Keyboard Remapping **Price:** Free ## Noscript | Firefox Extension **Price:** Free ## [Finicky](https://github.com/johnste/finicky) | URL Browser Mapping **Price:** Free You know how when you click a URL it opens in your default browser? Have you ever wished you could open specific URLs in specific browsers? I sure did! This appropriately named app does just that—it let's you create rules for which browser to use when opening URLs. For example: - Open Google Docs URLs in Chrome - Open news sites in Firefox (where I'm sure you have Noscript installed) - Open `.onion` links in Tor Browser Finicky let's you accomplish all these things. It's all configured via a JavaScript file though, so it could even fall under developer software but it's overall purposes is applicable to non-technical power users as well. Can I just link to a thing? ## Zapier\* | Duck Tape for the Internet **Price:** Free, \$\$ Make (formerly Integromat) is also good, although I don’t love it. It’s certainly good for the price and roughly gets the job done. I still pay for Make, but if I could get Zapier for a similar price i’d switch over. ## Pushover | Programmable Push Notifications **Price:** \$ This is a simple push notification service with a one-time fee\*. You log in to their site and get your credentials. Then you can start pushing notifications to yourself, assuming you've installed their app on your phone. _More_ push notifications may seem like a bad idea since you're phones probably already inundated. However, these are notifications _you_ generate so their frequency is entirely up to you. As an example, here's a [website I created for my girlfriend](https://amante.com.tw/) (warning, Chinese). It's a completely static site but I wanted to add a form that would notify me if anyone entered their email. I used Pushover for that. # Developer Software ## Tailscale | VPN Price: Free, \$\$ This software is firmly in the category of software I did not know I wanted. It’s also somewhat niche in that it’s useful for people who have multiple computers, especially people with home servers. Tailscale is the type of software that really does Just Work™. You connect your devices, which is very simple, you get logged in, and now all your devices are on the same network. This is such a tremendous win for self-hosting it really surprised me. I have a server at home that I previously used as a media server, but only for watching movies at home. With Tailscale involved, now I can add any self-hostable software that might be useful (Paperless NGX, Audiobook Library come to mind) and host it locally, while being able to access it from my phone. ## VSCode | Text Editor **Price:** Free ## MacVim | Text Editor **Price:** Free If you don't already know about Vim you probably wouldn't care to, so I'll skip the description. MacVim is great because it's stable and fast, even on a retina macbook(!) ## Github | Source Code Management **Price:** Free, \$, \$\$ - Room for improvement Github recently (mid 2020) redesigned their website, much for the worse. Now, a proponent of the new design would likely point out how subjective this is and that we humans tend to favor the familiar. I agree on all points, however, Github's latest redesign _decreased information density_. Professionals (and especially developers) like dense UIs if they are functional, and Githubs previous design was just that. ## Let's Encrypt | Free SSL Certificates **Price:** Free You can't have SSL everywhere if it's not free. They solved that problem. ## Netlify | Web Hosting **Price:** Free, \$\$ There are plenty of static web hosts these days but Netlify was early to the game with a few features that really set them apart: - Git integration. In other words `git push` to deploy your site. - Custom domain names without attribution back to Netlify. - Free SSL certificates through Let's Encrypt. - A UI to manage all of the above. - All of the above on the free plan. Netlify is in fact so useful in it's free tier that I worry it may disappear. Over the past few years their lowest paid tier went from \$9 to \$45 to \$19, and those are only the price points I know of. Clearly, as of 2020 their pricing hasn't yet stabilized which might mean their free tier becomes less amazing in the future. ## iTerm | Terminal **Price:** Free The built-in Terminal app on OSX is fine, but iTerm gives you lots of finicky knobs and levers to play with. # Very honorable mentions - Logseq - ~~Next.js~~ - hasn’t been cool since app router was introduced. just so much breaking changes. architecturally it’s like they had a brainstorm about how to make next super embedded into your ocdebase. imports over function args, that type of thing - CloudFlare | They do have a CLI, so that's something # Honorable Mentions with Room for Improvement I've collapsed this section because in this post I'd like to focus on the good. That being said, the software listed below might be described as "awesome with caveats." - Awesome Software and my nit-picky caveats (Click to expand) ==The criticism here is== **==not==** ==intended to denigrate==. This software is really good, otherwise it wouldn't even be in this post. ## Notion | Note Taking and Brain Dump **Price:** Free, \$ The text you're reading now was written in Notion, which should give you an indication that I do really like the software. There's just this one little thing... no public API. Once they add an API I can stop using their internal API and write more serious integrations. My blog is written in Notion and published as a static site on Github pages. It's definitely possible to use their _internal_ API right now, but there's a lot of friction and your efforts will most likely become obsolete when they ship some future update that changes their data shape. And of course there's no documentation. At least you're not rate-limited! Of course there's also the risk that they release a public API that is not powerful enough, in which case I'd still have to use their internal API. 2024-10-07: The core notion product seems as good as it used to be and maybe even a bit better. HOWEVER, now they have this AI bullshit they try to force into your workflow. So much AI. select some text and the first two buttons are _both_ AI. ## Dash | Software API Documentation **Price:** \$\$ Dash is essentially a highly specialized, offline search engine. It let's you pre-download documentation you may want to search later. Then when you actually search for something it's super fast. So what's the issue? One little detail: When you ask Dash for the online URL of some documentation it hands you URL do the Dash website, which then redirects you to where you want to go... for example, here's the Dash-generated link to some Clojure docs: [https://kapeli.com/dash_share?docset_file=Clojure&docset_name=Clojure&path=clojure/clojure.core-api.html%23clojure.core/alias&platform=clojure&repo=Main&version=1.10.1](https://kapeli.com/dash_share?docset_file=Clojure&docset_name=Clojure&path=clojure/clojure.core-api.html%23clojure.core/alias&platform=clojure&repo=Main&version=1.10.1) Um, what? For context, Dash documentation is all generated from online documentation. So why not redirect to the online documentation directly? The docs also auto update, so assuming the online URL was to change the docs within Dash should change as well. This left me thinking the only reason to redirect to the Kapeli website would be to track usage. I'm not opposed on principle, but if it detracts from the user experience then it needs to go. ## Roam Research | Note taking and brain dump - they came up with a concrete implementation of "link me to something else now". Well done. Transformative UX. - they seemed to stop working on the project with a bit of success. it still feels like beta software. # What are your picks? I'd love to hear about software you like as well. Let's chat [on Twitter](https://twitter.com/ian_sinn) or on the [[Software I Like]] for this post.