Recent submissions

Comment · 28 days ago
I think there is a class of programs where globals are not so terrible. In particular, one-shot programs that do a task and then exit (like `ls`, `cp`, etc).

You may also notice that some of these utilities will allocate memory, then never free it. They just let the OS handle that on program shutdown. That is also generally not recommended in arbitrary code. But again, it's fine for a one-and-done sort of program.

For these cases, the whole program is essentially one function call, and the global namespace is essentially the "body" of that function (hand waving a bit).

It's all a bit subjective, of course (:

Comment · 6 months ago
The Lua source code is also a masterclass in C, I recommend it to anyone learning that language. It's big enough to be an involved implementation, but small and focused and well-organized enough to (at least roughly) understand what's going on at the various layers. It's a very solidly-written mass of portable C, with only minor exceptions.
Comment · 7 months ago
Comment · 8 months ago
Partly what I mentioned above: a higher rate of development "churn" — incorporating new systems or technology before it's well-baked or well-integrated with the rest of the OS, only to be replaced a few years later with something else. The kerfuffle over WireGuard in FreeBSD 13 (ultimately backing it out of that release) is, I think, one recent-ish example of the FreeBSD devs taking a stance to demand a certain quality bar for such things.

Another aspect for me is documentation. I've been disheartened recently by how some faster-paced changes to the FreeBSD ports system aren't well-documented, so 'man ports' and the handbook are a bit out-of-sync with reality. Being able to read the handbook and the manpages to get an accurate education on the OS has always felt right to me, and the Linux ecosystem doesn't do it nearly as well, I feel.

I think generally it's a cathedral-vs-bazaar sort of difference. I hope FreeBSD stays more cathedral-y than Linux.

Comment · 8 months ago
> FreeBSD was perfectly fine but it didn't do anything I needed that Linux didn't already do.

I broadly agree, even as a FreeBSD fan myself; things have converged a lot over the decades. But still, I generally feel that while you can get the same work done in both, FreeBSD does things better (and/or cleaner, more elegant, etc) in many cases.

The overall feeling of system cohesion makes me happier to use it, from small things like Ctrl-T producing meaningful output for all the base OS tools, to larger and more amorphous things like having greater confidence core systems won't change too quickly over time (eg: FreeBSD's relatively stable sound support, versus Linux's alsa/pulse/pipewire/..., similar for event APIs, and more).

Though I totally feel your pain about latest-and-greatest hardware driver support. Has gotten better since the '90s, but that gap will probably always be there due to the different development philosophies.

I hope FreeBSD never gets too "Linux-y"; it occupies it's own nice spot in the spectrum of available options.

Comment · 9 months ago
Why must you attack me personally like this?! ⠀(:
Comment · 9 months ago
Comment · 9 months ago
Comment · 1 year ago
I'm reminded of that scene from A Beautiful Mind where someone asks him if he still has his hallucinations. He looks over and sees the fake people still there, and says "Oh no, they're not gone. Maybe they'll never be." And they still would drag him into things again, but he has learned to ignore them and not get pulled in.

So it is with internal demons sometimes, I find. You learn to recognize them, rather than expunge them.

Comment · 1 year ago
Comment · 1 year ago
Comment · 1 year ago
This seems fairly culture-dependent, from my experience.

For instance, I've noticed a distinct difference in how sarcasm is received in the Northeast US vs the West Coast. What you described feels more Northeast-y to me (I'm sure it varies by other segments and sub-sub-cultures, too).

There's the saying: "If an Irish person calls you 'asshole,' it means they think you're a friend. If they call you 'friend' it means they think you're an asshole."

Not just for the Irish though, I don't think (:

Comment · 1 year ago
Comment · 1 year ago
Speaking as someone who has made their own game engine for their indie game: it really depends on the game, and on the developer's personality and goals. I think you're probably right for the majority of cases, since the majority of games people want to make are reasonably well-served by general-purpose game engines.

But part of the thing that attracted me to the game I'm making is that it would be hard to make in a standard cookie-cutter way. The novelty of the systems involved is part of the appeal, both to me and (ideally) to my customers. If/when I get some of those (:

Comment · 1 year ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton