41 comments

[ 3.3 ms ] story [ 95.4 ms ] thread
The best UNIX desktops experiences were the ones with vertical integration, where the desktop, vendor tooling and hardware provided a unique experience, instead of yet another UNIX fork.

NeWS, NeXTSTEP, Irix, ...

As for Android and Chrome OS, yeah they might use Linux kernel, which is an implementation detail on Android SDK/NDK official APIs for app developers, and on ChromeOS only exposed via the sandboxed Crostini environment.

Google could switch to another POSIX like kernel and app developers would barely notice, only OEMs and people rooting their devices would.

In a lot of ways macOS is that. It’s a very workable Unix and (I wasn’t watching when), Homebrew has gone from being a PITA even on its home turf to working great on everything from NixOS to WSL2.

But I’m still about one free weekend away from virtualizing Linux on my Macs because you just hit a limit with Yubai or Rectangle or Divvy or whatever.

I want a real tiler, I want rounded corners to fuck off, and I’ll pay a little in sub-pixel hinting to get it.

OS X is still basically NeXTSTEP in many regards.
A fairer characterization would be to say it is in NeXTSTEP’s lineage. Not only had a lot changed by 10.0, but at this point Mac OS X has been under development (and forked into multiple OS projects several times over) more than twice as long as NeXT had existed as an independent entity.
Some ways in how the NeXTSTEP culture prevails in 2024.

Its approach to kernel design, the way drivers are written in a OOP based framework, UNIX is there as bottom layer (certified even) but doesn't get the spotlight, Objective-C (and now Swift) frameworks is all that matters for developers invested into the platform, heavy IDE based development (remember famous Sun vs NeXT 1990's commercial), what cool stuff can be done with OS frameworks (starting with products like Lotus Improv or Web Objects).

This is what I meant, not what NSSomething are still in use.

I gotchu and I understand what you mean, just assisting with clarity because it is more fair to say "Mac OS X has continued the lineage of NeXTSTEP" than it is to say "Mac OS X is basically NeXTSTEP."

Think about everything Mac OS X has or has had which NeXTSTEP has never had. DTrace, HFS+ and then APFS, Quartz replaced Display PostScript, OpenGL and Metal, IOKit replaced DriverKit and is now being functionally replaced (at least in part) by something called Driver Kit, Catalyst, SwiftUI, Quick Look, Spotlight, Safari/WebKit, Keychain, Xcode has replaced both Project Builder and Interface Builder, Core Audio, Core Animation, QuickTime and then QTKit and then AVFoundation, I mean the list goes on. Unicode is everywhere now too, which is neat; NeXTSTEP and Mac OS had their own character encodings.

Carbon was also a significant technology for the first few years, as was the first Rosetta (and we have Rosetta 2 now), and the Classic environment.

So, clarifying more than disagreeing. :)

Only under the hood unfortunately. It would be great to have a desktop OS aimed at professional use again, but everybody has been chasing the needs of the mythical "casual user" in the last few decades (which is basically the tiny cross section of the taste and requirements of all computer users lumped together, but that tiny cross section on its own is useless without being extensible and customizable to the needs of each specific user)
What are the features you’d say are required for “professional” use? I can think of a few things that I’d like to see, such as better keyboard navigation and the return of a spatial finder.

But I think that if you asked ten people that question (especially here), you’d get 11 different opinions. So the only option is something that covers a pretty minimalist overlap.

Mostly things that would hurt security unfortunately, e.g. opening up (maybe even requiring) each UI application to be scriptable and (to some extent at least) controlable from the command line (e.g. going full in on ideas like AppleScript and Automator instead of letting those go stale), getting rid of the stupid notarization requirements and quarantine mode for executables downloaded from the the internet, being able to extend OS features with system-wide plugins (e.g. installing new 'data types'), being able to extend the Finder with new features (similar to how TortoiseSVN integrated into the Windows explorer context menues), provide an official package manager (although Homebrew is mostly good enough).

E.g. there should be a toggle which says "this is my computer, I want to do with it what I want, and yes, I know the risks and won't sue Apple if things go sideways").

There kind of is. Restart in recovery mode, open a terminal and type `csrutil disable`. Also, there are finder extensions that do what you suggest.
Upvoted for useful information that’s harder than it should be to find.

But “maybe brick my box if my hands shake in a weird mode with weird dots” isn’t what GP meant: those of us who are properly backed up and have great net connections can merrily pull stunts like that but it killed the “customize my Mac” apps and stuff, even to the tune of “same size and format of image, even bounce the hash off a server, just square corners”.

So it’s like “pretty sure I’m not driving to the Apple Store today” to “anyone who disagrees with us about shapes should be treated like malware”. That’s quite a leap.

Right now the hardware is such they can pull that: they bought out all the hot shit TSMC stuff.

But Intel 18a is sitting on people’s desks at least under a black cloth: you have to continue to lead on the fundamentals, and hackers liking your shit is maybe the most important one.

I thing macos sucks for Linux development. There is not enough memory and disk space for virtualization, so you run random scripts from Internet on your main machine. Command line tools are decades old and obsolete...
How is not enough memory or storage a problem of the operating system?
Problem of the macOS licensing model, which mandates excessive margins for bundled memory and storage.
I usually bought a Mac every 1.5 years or so, because I liked being on the cutting edge. However, I am now still rocking a 2021 MacBook Pro 14" because it's still great. In half a year the model is about 3 years old. When I purchased it, it was close to 3000 Euro, and it has 32GB RAM and 1TB SSD.

If I'd sell it, I'd still get between 1000 and 1500 Euro. Let's say for the sake of the argument I get 1200 when it is three years old, then the yearly cost was 600 Euro. Which is... cheap for a tool that I use daily and my income depends on? I mean, if I had to drive by car to work, my yearly cost would be much more than 600 Euro.

I would readily agree that Apple overcharges for memory and SSD, but the amortized cost is not really large.

If you depend on this machine for living... You should have a spare machine. Way to recover data very fast if it breaks.... Way to fix it... It gets expensive pretty fast.

Also if you travel with Mac, you need to carry two laptops. There is no easy way to move NVME drive to new machine like with Pc laptops.

Ehm, why? What you are saying does not make sense at all. I do hourly incremental backups to fast blob storage. If my Mac breaks, I can pick up another one and be back up and running in no time. The other good thing is that it doesn't matter where I buy it or go for repairs, since Apple has great worldwide service.

Besides that I never had a Mac break down when I travel and I've owned MacBooks since 2007 and travelled a lot with them (including years of daily bike rides, including hilly terrain).

My MacBook is one of the products I literally never worry about.

Meanwhile, my Framework laptop from 2021 has twice the RAM and storage, was significantly cheaper, and runs an even more unix-like graphical environment.
But it doesn't have macOS. And that's where we started at: macOS is popular, because it's a great graphical UNIX.
Because the operating system only supports devices with limited memory and storage.

I would love to run macos on my beefy workstation. But MacOS support for AMD Ryzen sucks.

It's not that Mac hardware is only available with limited memory and storage (you can get a MacBook Pro with 128 GB of RAM and 8 TB of storage, or you can get a Mac Pro and throw in a bunch of M.2 drives on PCIe cards), it's just that the pricing on them is ridiculous.
But that’s not a problem of macOS.
It's not a problem of macOS in the strictest sense but we're talking about highly vertically integrated platforms. You don't get macOS without a mac, so it _is_ a macOS problem in that sense.
macOS is great for UNIX, the best development for GNU/Linux is by definition GNU/Linux.

As grey beard never came to my mind that using a Solaris workstation would be great for HP-UX development, as one possible example among many combinations during the UNIX wars.

The culture of reaching out to macOS for doing GNU/Linux only proves the point of how broken GNU/Linux desktop still happens to be, which Microsoft was quite clever to capitalise on with WSL.

I was going to write very long answer. But I am drunk, my English is very bad, and do not care. So here are just a few key points:

* can I run Xfce or other WM on MacOS if its unix? On FreeBSD it is not o problem. I do not care about Mac native WM. Unix is about choice, I do not feel like that on Mac.

* It is not 1990tie. Everyone uses virtualization, even development for Solaris.

* Look at ollama install instructions. It expects you to pipe random URL into your shell and execute it. It asks for sudo password! How many MacOS users will do that on their only laptop, because they can not afford any extra RAM for virtualization or separate machine?! It is like doing random hookups at bar without condom!

* I do not care about operating system. For my it is a just a launcher for VirtualBox where I do my work. I need a lot of cheap RAM and SSD space for my workflow. Windows machine can do that, MacOS not (10000 USD machine does not count).

* GNU/Linux is so 2000. Many people run stack that has no GNU whatsoever. MacOS is very premium machine for this type of 1990ties mentality (single personal machine).

* Look into QubeOS I have machine for emails, browser, debuging... Machine where I can see production data has no access to Internet at all. Machine that can modify github repos is paranoidly locked down... I have a few physical machines on separate network to test random opensource stuff. It would cost probably million USD to replicate that on MacOS network eccosystem!

* I do not care about hardware. My laptop with 8TB SSD and 64GB RAM costs less than 1000 USD. Sometimes I just donate it to someone while traveling, not to carry extra two kilos (I replace RAM sticks and NVME disks). I got 10 of those on sale for 400 USD!

Does Homebrew not mess up permissions on a multiuser system anymore? (haven’t checked for a while, using MacPorts)
Sad part is to know how many great ideas have been crushed by circumstance or bad decisions. Just imagine all the cool stuff we could have today if companies like SGI and Be had survived. Even Sun was giving the world things like ZFS and OpenSolaris before Oracle killed it.
Has Oracle killed it, or everyone else that didn't care for Sun's assets leaving Oracle as the only bidder left?

How much responsibility carries Google by torpedoing Sun with Android, IBM for withdrawing their offer, everyone else for not caring?

Yeah, even when Sun made Solaris open source, not a lot of people cared. It spawned a small number of derivative distributions, but it barely got any traction. By that the time Sun open sourced Solaris Linux had long won the server market and the small FLOSS desktop niche.
I'm still using a Unix desktop, it's called FreeBSD, and it's awesome.

The article doesn't mention the shameful lawsuit against Berkley Software Design and the University of California over some alleged UNIX code in the BSD source.

https://en.wikipedia.org/wiki/UNIX_System_Laboratories,_Inc.....

"Of the 18,000 files in the Berkeley distribution, only three had to be removed and 70 modified to show USL copyright notices. A further condition of the settlement was that USL would not file further lawsuits against users and distributors of the upcoming 4.4BSD-Lite release."

After 5 years running FreeBSD and Xfce on my laptop I cannot imagine using anything else. I have a few Windows machines in the house and I am always flabbergasted how slow, ad-ridden and convoluted they are. To each his own, of course, but Unix desktop is absolutely freaking awesome today.
Indeed! I've been using the same setup for 20 years - FreeBSD + XFCE, and I love it. I toyed around with different window managers and desktop environments, but I think the developers of XFCE and I have the same philosophy. If it's not broken, don't fix it.

Not much has changed how I use my computer network over the last two decades, only small improvements, and the introduction of ZFS(a game changer).

While in my corporate job I am forced to use Windows, and for every year that passes, somehow it has gotten worse. The start menu was replaced by some horror show. The settings I used to easily change in the control panel in the Windows NT/2000/XP era are now all over the place, and always changing. And now recently, I have to go through the Microsoft app store to download software for my HP printer??

I've had similar experiences with Linux, where things are changing for no good reason. One day, ifconfig was replaced with ip????

While in FreeBSD, it's the same old configuration files as it always was. There is one thing I miss though, and that is functioning bluetooth. The wifi is not the best, but I get by using wifibox, a tiny virtual linux machine with pci passthrough for my wifi network interface.

Despite this, I still prefer FreeBSD over any other operating system. OpenBSD is great, too.

With the BSDs, I am in control of my hardware, not some profit driven mega corporation.

end rant

Yeah, this covers my feeling pretty well. Just navigating the Control Panel in Windows 10 and, especially, 11, is an exercise in sadomasochism. I think 7 was the last sane version for me. Generally, the feeling is that you no longer own your computer. The user interface is a bazaar with a circus. Everything's walled by default to keep you inside the garden. Default Windows settings make sense for a granny who has never ever used a computer before.

With FreeBSD I think I've started with Gnome 2, tried some tiling WMs like dwm (which are pretty cool!) but found myself finally at home with Xfce and Plank. It just gets the stuff done. An old FreeBSD computer feels much faster and responsive than newer machines running Windows or MacOS. With BSD I have to choose the hardware to fit the OS, and not vice versa, so, yeah, it's sort of an asana to run one, but once you get it, it feels good.

I like Linux too, but found FreeBSD to be more coherent and better documented, and I'm ready to sacrifice some hardware compatibility for that. If there were no BSDs I'd probably be running Debian. I also didn't like the shift to ip and systemd, but that's just conservative me. Stuff changes in FreeBSD too, but at a slower pace. Love OpenBSD for its purity, too.

What I currently don't like in FreeBSD is that you have to keep up with its release schedule. It's not that bad, but once in a while you have to do the major version upgrade. While it has never broke on me (I still run the same install I did originally 5 years ago), sometimes some things change unexpectedly as third party packages get forcefully upgraded. And if you don't upgrade you loose the ability to install binary packages eventually, as nobody maintains them for older FreeBSD versions, or you need to create your own repository. I don't think this concept works well for a desktop user, but what you gonna do - the resources are limited. I am very grateful to all the developers and folks maintaining the repository.

Share your sentiments about Windows, but I'm curious about what the benefits of FreeBSD are over GNU/Linux. How is the hardware compatibility?
Sorry, I think I've just responded on this in the thread above.
That lawsuit proves that had AT&T been allowed to sell UNIX from day one, history would have taken a different course, and C might not have been relevant outside Bell Labs.
(comment deleted)
I use UNIX desktop daily since 19 years and its great.

Details:

- https://vermaden.wordpress.com/freebsd-desktop/

Been a long-time lurker of your blog. Some of the best FreeBSD content out there, imo, thank you for putting it out there.

Despite never being able to fully commit to a BSD over Linux/MacOS (due to hardware compatibility, lack of Linux containerization support, and now being fully invested in Nix) I appreciate the core values of the FreeBSD project.

At one point, I got Docker up and running on FreeBSD with Lima[0]. At this point, I’d be really curious how well Nix does on [Free,Open]BSD — I think I’d switch if I knew Nix was rock solid.

Regardless, thanks for your blog — it’s invaluable to anyone getting into FreeBSD. :)

[0] https://heywoodlh.io/freebsd-docker-2022

I discovered that, almost without noticing it, I had been using LinuxMint MATE for about a dozen years. Even when I install a Debian system, I use the MATE desktop with that also.

Before Linux, I was using Solaris as my daily driver. That was good too.

There are many reasons Windows beat Unix.

Windows didn't beat UNIX. Linux beat UNIX. The rise of the Linux-based internet was what killed both UNIX and Windows servers.

seems bizarre Ubuntu is not mentioned ... its the 800 pound elephant in the room ... to me its the path of least resistance for server side developers ... especially when kicking tires of endless repos on a daily basis