Ask HN: Examples of reliable software you enjoy using

247 points by gtirloni ↗ HN
There is so much broken software out there that sometimes it can feel a bit overwhelming and depressing if you have been 'yak shaving' for hours/days/months on end.

It's not rare to forget what you were doing after layers are layers of workarounds and fixes you have to do before actually doing the thing you wanted in the first place.

I'm wondering if people would have examples of good software they enjoy using and trust them to work properly so others can have some hope or feel better about it overall.

A similar question was asked 8 years ago ("What software makes you happy?" -- https://news.ycombinator.com/item?id=128714) but I would like to focus on the reliability aspect of software.

665 comments

[ 2.7 ms ] story [ 1208 ms ] thread
IntelliJ Idea is head and shoulders better than many other IDEs, particularly Eclipse in the reliability department.
Care to give some examples how? For me, Eclipse has remained very stable. Maybe we are using them for different languages and/or things.
When I used it for Java, I often would have to use the menu option to restart. Seriously .. a menu option to restart???

The stability wasn't as bad as the slowness. Also, OSGI seems to be a philosophy or cult. Things are just generally complex and bloated.

Android Studio, based closely on IntelliJ, has this menu item on the OSX version:

File | Invalidate Caches / Restart ...

I worked with Eclipse for a few years and found it was a constant source of stress, refusing to stay synchronized with maven, crashing, having to restart it, etc.
TL;DR +1 for IntelliJ

I was hating maven, until I started using IntelliJ. I don't remember ever Eclipse going to zero error count on a maven project whereas the project would just compile if maven was used outside of Eclipse.

IntelliJ just works. FTW it has Eclipse key-mappings as well.

IntelliJ lets you do a lot more from the keyboard. It's suggestions for code completion are very useful. It's amazing to see the code almost writing itself, several times faster than you can type!
It even has a plugin that will tell you the key commands for any feature you use more than 3 times.
Oh! Link please?
i think its called 'key promoter'
"A UI error has occurred trying to display a UI error" or something equally unhelpful.

When eclipse gave me that error message I immediately wrote it off as useful software.

Also it is dog slow compared to intellij

I had some issues when I used eclipse, especially back in 2009 when I was forced to use perforce.
Many of their products are. I'm constantly amazed at how well PyCharm is developed, just yesterday saw how well they support git submodules for projects and synchronous commits.
I was never much of an IDE guy but I've been using and seriously enjoying PHPStorm and RubyMine lately.
it has plenty of warts, it's great but I wouldn't say it's reliable.
I'm not a big fan of IDEs, but IntelliJ is really good. I just hate how heavy it is.
Use eclipse for a while, you won't think intellij is heavy anymore after that.
Ha, I just had this experience recently. It's amazing how quickly I got fed up with Eclipse, and how much it made me appreciate IntelliJ after I switched.
I second you on that. I only started using IntelliJ when I started heavy Java development. IntelliJ and its sister tools are a great help if you don't have the time to get into the nuances of whatever language you're using.
It is nice but I don't think I would call it reliable. There are crashes, it took quite some time for stuff like column editing to stop corrupting the files etc. I think they are even less stable than a recent Visual Studio (ah the good stable days of 2008 are long gone)
I wound up using java for a couple of courses at uni... mainly for the networking library. I used to just compile it via the command line because Netbeans and Eclipse pissed me off too much.
I live out of evernote most days. It could be better but it works for me.
Speaking of which, it looks like Evernote's free tier won't be supporting syncing for an arbitrary amount of devices for much longer.
awk, grep, sed, and these days I add jq to my standard tool belt. I also really enjoy fish as my shell language of choice. Languages, runtimes, etc come and go but these programs remain as useful as they were 19 years ago when I first learned about them.
In our R&D Slack instance, it's amazing to see a program with great UX (Slack) enable engineers to post awk, grep, sed, jq, etc. one-liners to solve other engineers' questions. IRC has the same benefits, I'm sure, but Slack is the first command-line-style chat application to gain enough non-engineer mindshare to make it ubiquitous at any company I've worked for.
I used sed today to complete a "large story" in a single command. Felt like a badass.

The email to the product owner was more work than the "coding".

> I used sed today to complete a "large story" in a single command.

Great, I sometimes do that, too. Downside is that your patience level for "enterprise architecture" goes way down.

jq sounds like something I was looking for a while ago. Just installed it (apt install jq), let's see if a situation presents itself to try it out soon.
doing something with jq always makes me feel like i have super powers.

it takes a while to learn how to tame it, but it's crazy powerful.

Oh I can't remember the time before `jq`. It should be part of the standard linux toolset.
gawk & awk are often underrated, I use them frequently especially in contrast to my colleagues who insist upon using "cut" to split command-output.

Of course for larger jobs there is perl, but using gawk/awk in a one-liner always feels nice.

xmonad
Such great software. If you are a programmer and have a big monitor, this is a MUST
Thumbs up. 10 years ago, it was the only window manager properly supporting many monitors.
haproxy and redis are the two that come to mind. Not necessarily because they make me happy, but they never seem to make me angry or sad. Which with most infrastructure software is rare.
Terraform is surprisingly painless for new-ish software.
I've had several occasions it took action in production that weren't in the plan when we applied. Terraform has not made it to my warm and fuzzy list yet.
> Not necessarily because they make me happy, but they never seem to make me angry or sad.

I suppose those are the criteria to look for in a thread asking for "reliable software". Couldn't have worded it any better though!

OneNote. Works for me so much better than Evernote. Excellent cross-platform sync
I don't normally recommend MS stuff but I really like OneNote.
The Chrome plugin is a little dodgy (Clip to OneNote) at times, but it's hard to blame it, with Google pushing updates every other day.
On that note -- emacs-org mode is a great FOSS note and organization tool.
OneNote on Mac is pretty slow, I find the editing features somewhat lacking.
what do you use instead?
Still OneNote, it's the one that sucks least. I'm contemplating moving to iCloud Notes though, the new formatting features are neat.
OS X Notes are good enough for me and better than Evernote. Evernote insecurity and quirks were just one straw too many.
OneNote is nice. I'm always bugged though by the fact I can't double click a word and drag the cursor to highlight more words. Such a small thing, but it annoys me endlessly.
Great thread. Important to keep perspective.

So far the responses seem desktop-centric, but I'm going to throw out a few web apps that I have a lot of respect for:

- Instapaper

- Trello

- Google Inbox

And, on the desktop side I have to give credit to Garageband and Logic, which I honestly can't recall having crashed or let me down in recent memory. YMMV.

Agreed on all three recommendations. My use of Trello grows and shrinks over time as project management influence shrinks and grows, but it's a great product. Instapaper and Inbox are just amazing.
Inbox lags quite a bit on my desktop. It still needs some work...
What is Logic? I'm having trouble performing a websearch on that one...
Logic is music production software.
(comment deleted)
(comment deleted)
OpenBSD, tmux, coreutils, QNX, postgres, Jasc Paint Shop Pro 6 (Yeah, the 16 year old one)
For me, probably dwm. I almost forget that I'm using it, but in a good way. It has merged with my muscle-memory and never, ever fails.
I recently tried some tiling window managers, but the problem with those was that none of them provided basic default configuration and you have to configure them from scratch. For example you have to add a plugin for small things such as a battery indicator. The custom themes were too much bloated for me. I ended up installing shellshape for gnome. Do you know any tiling window manager which solves this?
I'm fairly certain that i3 comes with a percentage battery indicator by default. The default config is pretty good (except it uses `jkl;` instead of `hjkl`, but that's a simple fix).
For some reasons i3 was showing wrong value for battery. It also had issues with the graphic drivers, showing black screen on logging in. So I didn't consider it as a viable option for me.
I think that's part of a different package, i3-status or something, which is not strictly required but recommended in docs etc. Possibly it's also installed by default if you just choose 'i3', depending on your package manager.
You're right, turns out Arch's i3 package is a group of packagse: i3-wm, i3-status, and i3lock (screen locker).
I was also surprised by the lack of battery indiciator in awesome-wm. But it took <10 lines of Lua to add. It was a pain at first but now I really like how extensible awesome-wm is.
This might not work for you, but the way I get battery indicator is to incorporate it into my tmux console. I always run a tmux on the first workspace, and can go there for time and battery. Each device is different, but here's battery code that works on my T460s (http://songseed.org/exhibit/20160629/thinkpad.battery.script)

A benefit of this is that it doesn't matter what window manager you use.

- LaTeX

- OS X & iOS

- (GNU) coreutils (sed, cat, grep etc)

- GNUplot

- Mathematica

Primary usecase for listed software is studying chemistry. I enjoy using DALTON (quantum chemistry software) and Dwarf Fortress, but neither is really that reliable (yet).

Dwarf Fortress is extremely reliable! You can always rely on it to make you say "...what?"
emacs
I'm a huge fan of emacs, but even though I use it constantly, I do not consider it exceptionally reliable. A modern experience really does rely on a huge number of powerful and excellent but sometimes glitchy packages. (helm, org, haskell-mode/python-mode/etc.) I also find it crash prone on Windows, which is not totally surprising given Emacs' ownership, but disappointing.
I've had emacs go out to lunch on rare occasions, but I find it to be far more stable than Firefox or Chrome. I have had emacsserver sessions run for months without issue, and I do all my email as well as coding and org-mode task tracking in Emacs.
I use Spacemacs on Windows so I'm pushing Emacs a bit past its limits. ;)

Actually I was going to compare Emacs stability to Chrome stability. Though for me Emacs gets terminal segfaults more often, Chrome has more random failures that require restarting.

Notepad++
My first thought was, hey how come you didn't pick Sublime?

And my next thought was, you know what, you're right.

I want to say I've been using this for over 15 years now? With all the text editors out there this one is my favorite use out of the box.
How good is the Notepad++ source code?
I'm a big sublime text fan but notepad++ just works in a way that makes me never hesitate to recommend it to people of all skill levels. It is like nano for the gui.
vi, python 2.7, virtualenv/pip unless I need to install MySql.
Postgresql. Such a marvel of reliability and good design. All features just logically and consistently work with each other.
It's so oraclish an ingresish in the way it treats the command line monkeys...
Agree with this. I will regularly write queries plugging together all sorts of odd features in odd ways and it'll just run, run fast, and give me the results I want. Totally amazing.
Some bad software is fractally bad and you can't explain why it's bad because every part of it, at every level, is bad.

I find that Postgres is fractally good in a similar way.

And the documentation is good too! (And that means that it's good, not like most software with "good documentation" where "good" means that it has reasonable feature coverage.)
I actually find the documentation to be awful. Take the installation guide:

https://www.postgresql.org/docs/9.5/static/tutorial-install....

https://docs.mongodb.com/manual/installation/

PostgreSQL tells you "If you are installing a pre-packaged distribution, such as an RPM or Debian package, ignore this chapter and read the packager's instructions instead" whereas MongoDB actually lists specific instructions for each platform (including distro).

It's similar all the way through. They tell you "why" something was done but not necessarily "how" to get something done. And the manual format with chapters simply isn't suited for the web. There is fantastic content there. It just needs someone with a UX hat to structure it in a way to make it easier to use.

I find the documentation very structured, accessible and complete.

The chapter format might not be the most modern way of presenting it, but the actual page-layout is good and i'm coming from google most of the time anyway.

I don't know what you mean by that the "how" isn't there?

I don't feel those links serve your point. They illustrate the difference between good and "good", in the sense I meant in my comment, to me.
From the perspective of a GIS professional, I would add the PostGIS extension for PostgreSQL. The depth of spatial analysis options in PostGIS combined with the reliability and performance of PostgreSQL make a great combination. Throw in the cost savings compared to running MS SQL Server/Oracle + ESRI ArcGIS Server and I'm not sure why more GIS shops don't make the switch (Fear of FOSS, the command line, or having to assemble your own solution?).
I'm not sure why more GIS shops don't make the switch

As another GIS professional I've found that the answer to this question in roughly 100% of the cases is that they have some important application (either third party or in house) that doesn't trivially talk with PostGIS and they don't see the cost saving once they've factored in all the migration costs. So vendor lock-in basically.

This is what I was going to put! Agreed!
Spotify. Very rarely do I run into performance issues or bugs on any platform.
Spotify has been nearly unusable for me ever since Spotify moved to Chromium Embedded.

Something is wrong when I have to wait several seconds so scroll further down a list of song names.

I once random lost my complete library. Above that, there was no way to get it back. Spotify people however did recover my playlist. I do use Linux client though, which is not officially supported.
I got so sick of Spotify randomly taking up 100% of a core that I switched to Apple Music. Yes, I actually found iTunes to be more stable…
I often hear my friends talking shit about the spotify desktop app and web app not working properly. I don't use spotify but it seems like something's not working at least every month or two.
I have to quit the Mac app a few times a week, when it just decides it isn't going to play songs.
ffmpeg and libav
I just started playing around with ffmpeg for a side project of mine. I'm sad because it's C++ (and I didn't write enough C++ in my life to be any good in it) and I was looking around for a good C# wrapper exposing a media player that I can simply use in a desktop app, but everything I found was extremely buggy and laggy.

I'm currently trying to make an exact copy of ffplay.exe (since the source code is available) in C# using an tiny SDL2-C# wrapper and a tiny ffmpeg-C# wrapper, instead of finding a library that does everything. I'm glad to hear that ffmpeg is reliable and solid, I hope I can make it work in C#! (I'll probably put everything up on github if it works)

Absolutely ffmpeg. I guess it's not "stable" in the sense that the fast pace of development sometimes leads to changes in best practices, but damn is it excellent to use.
Disagree on ffmpeg. It certainly gives you a great degree of control, which is great if you know a lot about video formats and codecs and such, but as a casual user my first step for ffmpeg is always googling "ffmpeg convert X to Y" and copy and pasting from Stack Overflow.
Trello Tweetbot Buffer Overcast Pocket Spotify
Bazel has increased reliability, stability, and speed for all of builds/tests at Asana. We no longer need to clean because of incorrect caches.
Omnigraffle is the software that originally convinced me to switch from windows to mac. I love it so much. Great features, simple UI that doesn't fiddle too much version to version and it basically never crashes on me.
I bought Omnigraffle a few versions back but when it was time to upgrade I just couldn't afford it. I would upgrade every year for 25$ if they had it at that price point.
Omniplan is indispensable for me as a project manager. I just wish there was something online as easy/fast to use with support for multiple project managers/projects.
Nice to see somebody else that uses it. I use it for all of my personal organization.
Smartsheet. Or MS Portfolio Manager has a SaaS version as well.
For those Window people, Omnigraffle is basically why there is no Visio for Mac.
Omnigraffle annoyance: it can't load from and save to graphviz dot notation (or even a subset of it). All of the functionality is in the software, but not exposed to the user, and I assume it's a conscious decision by them to lock you into their file format. I evaluate each few years, find the same thing, and then move on. (Would love to be corrected)
pip
Yup. Maybe I need to learn how to use npm better, but I constantly find myself wishing it were more like pip.