Hacker News new | ask | show | jobs
by weland 4532 days ago
I know OpenBSD's reputation is primarily security, but I use it for a different reason. It's simple, stable, and doesn't break.

Back when I was in high school and I had a lot of free time and all that, the various incarnations of Linux were a delight. Even after that, I still went with it out of inertia and spent many evenings tweaking Gentoo.

I eventually just goddamn gave up. I got sick of every upgrade breaking something in my system and then especially got sick of deciding between figuring out how to use wpa_supplicant and installing NetworkManager which screws up my network settings as soon as I plug in the Ethernet cable while I'm still on my wireless. In a flight of rage I thought ok, I've had enough of this crap, and went the OpenBSD route.

Seriously, it has all the nice parts of Plan 9 while still actually being able to run all the tools I need. I still have Linux and Windows boxes for the odd tools that don't work on anything else (I do embedded systems for a living, and there's a lot of vendor lockdown there), but for my day-to-day workstation, I found nothing better.

5 comments

Similar story. Signed up to post this :)

In 2009, our development team lost a whole 10 hours to a degraded Linux mdadm RAID1 that wouldn't rebuild due to an obscure error after a digger severed our power and internet connection. No internet access as power came up first so no access to online help. mdadm is buggy. Documentation sucks. Error messages suck. Only recourse was a full restore from tape which took a long time. This was the last straw after over a decade of dealing with this crap from network dropouts, laziness, half-arsed features, distro wars, politics and churn.

Some previous Unix experience in the late 1990s with OpenBSD on an old SparcStation 5 (the only thing that would run on that machine nicely) jumped into my mind on the way home. It had that warm, fuzzy, well-engineered, well-documented feeling about it, like an old HP RPN calculator. Got home, downloaded it and installed it on my laptop, replacing Ubuntu.

4 years down the line: one happy person with the same laptop running 5.4 still with that warm, fuzzy, well-engineered, well-documented feeling.

Not once has it let me down. Not for a minute in the 4000+ hours I've been using it. It just works.

And OpenBSD has the best-written man pages in all of Unix.

When I got thrown in the deep end with Solaris, many years ago, I'd read the Solaris man page for the options, but first I'd read the OpenBSD man page to work out what the hell the command was for and why.

Yes, that's an important point. The Linux manpages are a joke, they're half useless almost all the time.
The most offensive man pages are GNU project pages that effectively say, "for real documentation read the info page". Which, as someone that can never remember how to use info, is frustrating and just serves to piss me off...my first thought is "and a big fuck you to you, too". And then I look it up online so I don't have to read how to use info before I can read how to use the command I was looking for docs on.

I don't know if this is common practice anymore...I don't remember the last time I saw a defective man page like this, but I still remember it with great anger. I love GNU, but I hate the kind of condescension it takes to try to force someone to use a different tool because you believe it to be superior to the standard tool (when it's really not; I find info pages to be obtuse to create, and difficult to read).

GNU's stance on man pages is entirely correct! For real documentation, read the info page, but you rarely want real documentation, you just want a quick example or the command-line invocation syntax, or what a particular argument does. And 99% of the time, that will be in a man page.

The problem lies when you want to find something 1% of the time, and it's here that man pages become sprawling unindexed messes. For example, take a look at the man pages for perl or zsh: you'll have no chance finding anything, as those programs are so large that they need a wealth of documentation to go into them. At the same time, the info page for ls contains the things you rarely need to see such as exactly how things are sorted or the minute details of timestamp formatting. If this were all in the man page, you'd complain that you couldn't find anything in it.

I don't know, I always found the perl and zsh man pages to be rather pleasant. They were sprawling, sure, but having long ago given up on brevity, they have no fear of meticulously describing how a feature or flag works. And they're just man pages, so you don't need to read the manual-for-the-manual first like I always find myself doing when I'm forced to use info.
I was like you once, then I learned you could do e.g.: info coreutils|less

Now I no longer have anger management issues

Wow, thanks for the tip. I will never have to use info again!
Well that sure is handy. Hopefully I'll remember that next time.
Info pages are hypertext, and because of that they are better suited for a complete manual for a complex program than man pages.

But we have other hypertext formats available. It'd be better if GNU started using some format that everybody already usees and knows how to write.

This fundamentally goes against the Unix philosophy though which is to provide small well-defined parts from which you can construct a complete solution from.

If you need a complex manual for a complex program, something is wrong.

"GNU's Not Unix."
info pages are yet another artifact of RMS's sad devotion to ITS and other dead environments.
This was my impression as well after using OpenBSD, and when I pointed that out a while back on HN, it was pointed out that the core linux manpages have gotten much, much better in many cases[1]. In that respect, it may be another example of the GP comment.

1: My go-to example was always ifconfig, but linux's manpage for ip(8) really isn't that bad, as is actually the linux equivalent. Quality probably varies quite a bit based on the package that supplies the utility though, while OpenBSD's quality is fairly universal.

I wonder where the best place to report manpage bugs to is - for things like the builtin commands that may not have a single upstream. Does Ubuntu pull in a manpage update from Fedora? What about the other way around?
If it is a GNU utility, the man page usually contains a bug report link. AFAICT GNU is the upstream for all their documentation.
What parts of Plan 9 are you referring to?
Only subjective, but technical ones. Simplicity and stability of well-integrated userspace tools, sane defaults, good portability.
"...and installing NetworkManager which screws up my network settings as soon as I plug in the Ethernet cable while I'm still on my wireless."

Any bug numbers? I'm not seeing that on Debian Wheezy or CentOS.

But I have just ordered a CD set to try this OpenBSD to see what all the fuss is about and to learn something.

It's like you are me, from a couple years ago.