Hacker News new | ask | show | jobs
by drewg123 1756 days ago
I remember installing it in 92 or 93 when I was in grad school via a big pile of floppies. It was liberating to turn an otherwise useless PC into something more or less equivalent to a sparcstation. I was a huge linux fan and evangelized for it everywhere.

A few years later, I was acting as a sysadmin, and wanted to replace some aging DECstations with PCs running Linux. The prototype machine was great, except for how terrible NFS performance was. The kicker was xdvi would take minutes to render a page of a document. The DECstations would take seconds, even though they were ~10% as fast as the PC running Linux. I realized the problem was that Linux NFS didn't do any client side caching, and xdvi walked around byte-by-byte in the font files.

I met Linus at the '94 Boston USENIX and asked about NFS file caching. He told me he didn't care about NFS, and didn't think it would ever get fixed. The interaction was unpleasant and left a very bad taste in my mouth.

I then went to the FreeBSD BOF, where they were professional (Justin Gibbs was wearing a button down shirt and giving a power-point presentation). They assured me that FreeBSD cached NFS just like any other filesystem.

When I returned from the conference, I installed FreeBSD on the test PC and sure enough, it rendered the xdvi pages instantly.

Its amazing how that one experience shaped my life. I used and hacked on FreeBSD for years later when I worked on OS research. I helped port FreeBSD to the DEC Alpha and became a committer in the late 90s, and have contributed ever since. These days I get paid by my employer to make FreeBSD as fast as possible for our workloads, and get to do cool stuff like building what I suspect is the world's fastest web server in terms of absolute bandwidth.

4 comments

> I met Linus at the '94 Boston USENIX and asked about NFS file caching. He told me he didn't care about NFS, and didn't think it would ever get fixed. The interaction was unpleasant and left a very bad taste in my mouth.

Linus has always been blunt about which things he cares about and which things he doesn't and I can certainly see him not caring about NFS. I'm sure he would say it really has no business being in the kernel in the first place, but ultimately I assume he's fine with it as long as that part of the tree is somebody else's responsibility and it doesn't interfere with the rest of the kernel. That's really how Linux kernel development works: people work on what they care about and Linus' only real job for decades now is to veto the bad stuff.

I'd love to be using FreeBSD more, but I have to stick with Linux because things like docker, wireguard, and hardware support always hit Linux first and I'm more of an end-user than a hacker.

> I'm sure he would say it really has no business being in the kernel in the first place,

... Actually, why is it in-kernel? Just performance reasons?

> things like docker, wireguard, and hardware support always hit Linux first

FWIW, they do eventually get there; we should see docker on runj some time in the medium future, wireguard works fine in userspace and will be in the kernel soon, and hardware support is hit-or-miss but it's okay in my experience (although obviously that's very variable by person/machine).

Funny to see FreeBSD promoted, and Linux taken down a notch in the top comment on a thread for an article celebrating 30 years of Linux...well, funny, if a bit unexpected...
I think it might be the the underdog or obscurity element, but pro-BSD (anti-Linux) comments are frequently upvoted here. More unusual I think would be to see one criticizing one of the free BSDs relative to Linux, surely?

Some prominent Linux developers and interactions in person or on mailing lists can be nasty, rude, even bullying. There are also a great deal of very nice people, and in the middle are a lot of people who can get frustrated or upset at times when discussions become robust, but are not inherently mean.

Exactly the same for the BSDs. The free BSDs have famously fragmented into several major groups, in some cases due to quite toxic conflicts including by some prominent members and leaders. BSDs are not objectively better than Linux in that regard.

Same old same old?

It's a big part of the history. Linux has been compared to its competitors all along after all.

I remember FreeBSD being ever present all along. Ultimately, Linux won on many fronts, the biggest one maybe the vast hardware/driver support.

I've used both extensively in the 90's and early 2000's, both on the server and workstation side. Ultimately settling 100% on Linux around 2004-5.

Still, competition on this space is very healthy. Who wants an OS monoculture?

Oh, FreeBSD. I remember using the 5.x branch as my sole OS. It was a bit rough, but in the end not that much different from linux these days. Maybe a bit slower, but I did not cared. It survived everything I've done to it for several years, including me nuking the whole ports tree in /var on accident. :) So, how is it these days compared to Linux as a Desktop? With the current privacy-violating course of action at Apple and Microsoft I often feel like I have to prepare my retreat in advance.
I run it on my desktop, and have for the last 6 years, and for ~10 years previous to that (had a few years running Ubuntu in the mid 2000s)

The good parts are ZFS and ZFS boot environments, and general stability.

The bad parts are updating ports/packages because in terms of ports/packages, FreeBSD is a "rolling release" distro, meaning that upgrades are often "interesting". I'd vastly prefer if it were more like Debian/Ubuntu/RHEL and had a fixed base set of 3rd party software, with a "ppa" like mechanism to get the latest version of only what you need. However, there is just not enough manpower to support that.

I cope with it by running the -stable quarterly packages on my -current desktop, and so I deal with upgrade pain only a few times a year, not every time I update my system. I've also switched to running Linux firefox via the linux jails project. This is nice, because I can apt-get update && apt-get upgrade the linux stuff, and have most of what I want upgraded (web facing stuff like firefox) without touching the native ports/packages.

And now is it hardware-wise on desktop hardware? Things like sound and sleep, does it work these days?
Unrelated: How do you measure the speedup of various your improvements in the web server you are working on e.g., what do you think about the SpeedUpTest protocol? https://hal.inria.fr/hal-00764454/file/Speedup-Test-Article-...
I generally run nstat [0] and look for increases in network bandwidth, and/or decreases in CPU utilization and memory bandwidth. 380Gb/s is better than 240Gb/s :)

[0] https://cgit.freebsd.org/ports/plain/net-mgmt/nstat/pkg-desc...