Ask HN: What boring and utterly reliable technologies would you recommend?

15 points by prmph ↗ HN
Seems like the tech landscape is littered with products and technologies that promise a lot but barely work, from messy and fragile languages and SDKs, to IDEs that are buggy as hell, etc. Some products start out well but then are enshittified.

Every one in a while I come across a stable piece of tech is rock solid and delivers what it promises for years. It is "boring" in that it works well without a fuss. These are the technologies that will never let you down, in which you can invest building a business or for personal use.

Some of the boring/reliable tech I've been impressed with:

(1) PostgreSQL database (probably the most solid piece of technology I've had the pleasure to use)

(2) Email via IMAP (well supported by most email providers, simple to setup, just works)

(3) Macbooks (the hardware, not necessarily the MacOS running on them)

What's your list?

31 comments

[ 3.0 ms ] story [ 66.2 ms ] thread
Technologies that seem like they are solid but don't really deliver, very disappointingly:

- Linux (It's very much not as stable as one might think if you are daily driving it, pointer drivers for most distros are shit, packages are unstable, etc)

- Ocaml (tooling is atrocious, community is splintered and a mess)

Why do you think Linux doesn't deliver? And what is deliver mean in this context?
The promise of Linux is a rock solid stable OS that puts you in control and is free (as in open). It delivers on the open and control promises, the rest not so much
I suppose I missed the memo. I recall Linux being a Unix like POSIX compatible Operating System Kernel. Not a Rock Solid Stable Os.
Which distro are you using currently? Have you tried Debian, RHEL or FreeBSD?
I’m using Debian with KDE Plasma. Its the best setup for me so far, and yet there are still some issues.
I am not a big fan of Linux and it has its share of problems, but your comment just shows severly misunderstandings.

1.) Linux is rock stable as a server/embedded os, given the right distribution (Debian, RHEL) 2.) On the desktop Linux sucks (but sucks IMHO much less than the commercial competition), still, it is common knowledge that KDE and its applicacations have lots of problems with stability. KDE is not Linux, it is just a community desktop environment. 3.) Debian is not a good desktop operating system, unless you know what you are doing, which is also widely known within the community.

If you want to use a Linux on the desktop, use Ubuntu with Gnome or Fedora with Gnome and see if your experience is better. Xfce is another solid choice with high stability, especially compared to KDE, but that Gnome has payed developers and Xfce has not, is quite obvious.

I have quite a bit of experience with Linux, and I know what I'm talking about.

> Linux is rock stable as a server/embedded os, given the right distribution (Debian, RHEL) 2.)

Well, yes I was mostly referring to using Linux as a desktop, but that is not to say Linux as a server is without problems. For example, I installed openSUSE to use on a server, but it could not recognize the WiFi card no matter what I did. It also kept forgetting many network configuration settings. I finally gave up on it after failing to install some important tools on it. Also, when you have to update packages, it is risky.

> On the desktop Linux sucks (but sucks IMHO much less than the commercial competition)

My (and many other's) experience has been different. Most Linux desktops are very unpolished (I hate Xfce and Gnome). I am unable to remap keys properly, the mouse/touch drivers are wonky, the UI is un-intuitive, and more. KDE has been the best I have used, but even it has many issues.

> KDE is not Linux, it is just a community desktop environment.

I know this. But unless you want me to interact with the kernel directly, the DE is still an important part of the experience of using Linux.

> Debian is not a good desktop operating system, unless you know what you are doing, which is also widely known within the community.

I had to move to Debian because of many issues and the bloat with Ubuntu. I use it as both server and for development. Trust me, I have tried many other distros, which only technical masochists could be OK with IMO.

*BSD, Tk, Sh, IRC, FTP, plain text, musl.
oranges, wood stoves, bungee cords, magnets, stretch wrap
ducktape, zipties, ripcord ... FTW
Rivets have been good to me lately
(comment deleted)
Nothing like em either. I have a dear memory of them...
... what do you do with the oranges?
Prolog — a fine piece of kit from yesteryear. I advocate for it for logic and constraint programming use cases which abound.
.NET Framework + C# fits the bill. Twenty years old, but still feels clean, modern, and reliable as it continues to evolve in a coherent manner.
Would you be able to share any pointers to an introduction to .NET Framework, that is fairly recent, but is still "boring"? The official docs seem to push Razor/Blazor and that feels too cutting edge for my interest.

In my opinion, it's hard to identify the best entrypoint to modern "boring" C# because of all the different subsystems: Core, Framework, ASP, etc

.NET Framework should not be used for new projects unless absolutely necessary (IIRC MS Office Add-ins use it) because it is legacy, has (relatively) poor performance and will not receive any new features.

C# and .NET (6/7/8) is what you may be looking for. The entrypoint for that would be the basics[0] (just pick in the left column whatever strikes your fancy, the official docs are good) and then if you are interested in back-end dev - ASP.NET Core[1].

[0] https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csha...

[1] https://learn.microsoft.com/en-us/aspnet/core/fundamentals/m...

The rough overview of terms you have mentioned is as follows:

.NET (6+) - the platform almost everything runs on, like OpenJDK but encompasses the standard library and certain nuget packages as well

ASP.NET Core - main .NET's web framework for developing web applications like LOB CRUDs, gRPC-based microservices, etc. Doesn't really have alternatives that offer comparable performance/features ratio

EF Core - main .NET's ORM framework, its popular alternative is Dapper which is more hands-on and focused on writing SQL code directly

Notable mention: .NET Core used to be the name for .NET Core 1.x, 2.x, and 3.x version but was later on rebranded to just .NET. The version 4 was skipped to avoid confusion with .NET Framework 4.x which will live on forever by the nature of being included with Windows.

Doh, you're absolutely correct. I started with .NET back in 2003, so there's still quite a bit of baggage mixed in with the .NET team's terrible naming history.

I would personally recommend .NET for backend work, as MS track record of UI frameworks is rather suspect. For the main project I currently support, using .NET 6 API and a React frontend (+EF Core to access a Postgres database). Works beautifully.

Postgres is certainly the top of the list (and has been for a decade).

Outside of that I think there are a few ways you can split boring.

* Reliable + Around forever -> Erlang. (But its different enough from what most know that you may not find it boring to learn)

* Reliable + Around forever + boring to hire for -> Java, C#

* Reliable + Around forever + so simple its boring -> Go, HTTP, REST

* Reliable + Around forever + reduce the need to learn anything else -> Javascript, CSS, HTML, linux, vim, emacs,

> * Reliable + Around forever + reduce the need to learn anything else -> Javascript, CSS, HTML, linux, vim, emacs,

Javascript doesn't belong anywhere near the same paragraph as "reliable", IMO. It changes so much every couple years. Even if you don't use frameworks, new Ecmascript versions introduce big changes.

It might be backward compatible with older JS code to some degree, but companies don't code that way. The ecosystem as a whole is very much about chasing the bleeding edge at the cost of reliability and stability.