The Stubbornness of Windows Users

What we've got here is, a total failure to understand the purpose of the device or the OS.

A somewhat long sidebar here, state of the world in desktop operating systems:

  • Windows: Redmond still ships a garbage toy OS which is the bastard child of VMS and MS-DOS, that costs a lot of money, but runs on cheap (but not sub-$200) computers, many of which come in every shape and size. In order to run Windows, you need to have a total lack of aesthetic sense, a willingness to put up with "updates" that brick your computer, a tolerance for Microsoft-Quality™ software ("let's add more buttons to a ribbon bar and ship it!"), and a willingness to use junk hardware that consumes twice as much power as needed and makes noise all the time.
    Slightly positive, the graphics and sound systems work, and you get all the games; if that's all you're after, though, a PS4 or Xbox OnePlus+Ultra/190 (whatever the name is) is a better deal. You can generally browse the web on Windows, and you'll get some viruses and ransomware but it works. Dev tools on Windows are expensive and shitty, so in order to get real dev work done, Redmond now also ships Linux inside Windows. My bias shows, sure: I've never owned a Microsoft product in my life, and I'd eat broken glass before doing so, but I've had to use them in some workplaces. Dire, but minimally functional.

  • Linux: Distros ship a garbage OS for free that runs on garbage computers, including sub-$200 microcontrollers. In order to run Linux, you need to be masochistic, technically educated, not have any need for desktop apps, sound support, graphics support, games (some Steam stuff now works, sometimes, on higher-end machines!). As a server or microcontroller OS, or a very nerdy dev machine (emacs and C), it's adequate and somewhat supported. Only insane people use Linux as a working desktop. I say that as someone who ran it as a working desktop for a decade, and I loathed it.

  • FreeBSD, OpenBSD, NetBSD: Great server OS's, that ship for free and run on slightly more demanding computers. Only the most technical nerds will even know that these exist. Software, you basically write your own or port from other POSIX systems, which half the time is written for broken Linux APIs and so doesn't work right. On the bright side, they have such limited sound and graphics driver support that if you do have compatible hardware, you'll have working sound and graphics. If Mac OS X didn't exist, I'd be using FreeBSD.

  • Haiku (aka BeOS): Seriously, they shipped a working beta, and it seems nice. Great desktop, graphics and sound support if you're on compatible hardware. Down side, minimal software for it, and if you want to write your own the APIs are in C++. Fuck that, no. But… I do like BeOS, probably tolerable as a nerdy dev computer.

  • Mac OS X (or "tacOS", er, "macOS" as they now style it): The last of the UNIX® workstation OS's, that only runs on expensive devices Apple makes (it's possible to "Hackintosh" a garbage computer to run Mac OS X, but half the services won't work; don't do it unless you're nerdier than a FreeBSD user). Everything actually fucking works. Sound has no latency, and always works. Graphics, aside from low-end devices having a shitty Intel GPU, always works; I'm unhappy with them deprecating OpenGL and going with Metal instead of Vulkan, but Vulkan libraries have been ported. It's fine.
    There are games, Elder Scrolls Online and World of Warcraft in particular, and Steam's full of Mac games. Desktop applications on the Mac are adequate to amazing; there's no "you must use this one shitty program because it's all we've got" like GIMP on Linux. As a dev machine, it's unmatched. I don't touch Xcode unless I have to anymore, but that's what you use to make iOS and Mac apps, and it has some good dev tools like Xcode Server.

Of course, I say that, and:

libswiftcore-crash Good job, Apple, ship it.

So, end sidebar, the reason you buy Mac hardware is to run Mac OS X, the least bad hardware/software combination available in this horrible century.

What you'd use a Mac Mini for is what you'd use an iMac for, but cheaper and often hidden away:

  • Switch to the Mac from another OS. Steal the keyboard and screen from your garbage computer. You may need some dongles to convert the cables. Learn how to use a Mac. Buy something better when you need it, and re-sell the Mini, which will still be worth 2/3 or more of the original price.

  • Run a multimedia display. Put a playlist of music, photos, or videos on one or a bunch of LCD panels; you can't do this with a Linux microcontroller like Peter suggests, because their graphics and sound don't work worth a fuck. Just try playing a random folder of media on Linux, you'll throw it through the window. It's worth $800 to not fight with Linux.

  • Run a build farm for Xcode Server. Probably need a mid-priced Mini for this, but speed won't matter much because it's an invisible server. It can't be rack-mounted, because not every workplace has a machine room with racks, they just need a little device in some (well-ventilated) cupboard to support the developers.

  • Streaming audio, video, or other server. Put this in a colo farm with a static IP, and deliver whatever media you want. Your podcast and web site has to live somewhere. Now, you can do that with AWS/EC2 and other shared servers, much cheaper, but you don't control the computer, they mostly run Linux (ugh), and often you've written software for the Mac.
    I have an old Mini at colo that runs Minecraft, some file shares, holds backups, used to run Xcode builds but I don't need that now, sometimes runs one-off networking services I want to try out. I may upgrade to a new one, but my needs aren't quite as heavy on it as they were. Invalidstream is currently run from an old Mac pro, but I think he'd be fine on a higher-end Mini now.

  • Literally any other use that doesn't require using it on the move, or extremely heavy CPU or GPU loads. Not a top-of-the-line gaming, Photoshop, or movie editing device by itself, but an external GPU could put it on par with an iMac, maybe even an iMac Pro for some jobs. Probably not a stage DJ device, there they'd use a MacBook Air or even an iPad, but ideal for sticking in an audio booth and doing podcast recording and mixing. Unlike a garbage computer, you can be in the room with a Mini and not be blasted off the air by the overheating fans and clicking drives, and unlike a MacBook it has enough ports.

Most of those tasks require it to be small, quiet, and still attractive if it is visible.

The $799 base model is for only the most minimal uses. For $1,599, you can get:

3.2GHz 6‑core 8th‑generation Intel Core i7 (Turbo Boost up to 4.6GHz)
8GB 2666MHz DDR4
Intel UHD Graphics 630
512GB SSD storage
10 Gigabit Ethernet (Nbase-T Ethernet with support for 1Gb, 2.5Gb, 5Gb, and 10Gb Ethernet using RJ‑45 connector)

That seems like a reasonable Mac workstation, if it had more RAM. +$200 to get 16GB RAM is OK, +$600 to get 32GB RAM is overpriced, +$1400 for 64GB is "bend over and squeal like a pig". You can get 64GB of the same RAM for under $500, and there's a Snazzy Labs RAM Upgrade Tutorial and Teardown; the disassembly doesn't look fun, but worth doing if you're going to use it as a server. A casual user can live on somewhat less RAM with the Apple RAM tax.

lain-s1e3-open navi

Windows and Linux users, people who've only used garbage computers, are confused by Apple's attitude on pricing, upgrades, and repairs because they've never thought about non-garbage computing.

Apple doesn't price based on hardware costs (except for RAM, which they tax 50-300% over cost), but on where it fits in a Portability/Power chart, starting at $1000, because you're buying "machine that runs Mac OS X", not "random collection of parts that does not run Mac OS X". You'll never see Apple micro-adjust prices day to day as part prices or exchange rates change, because it has nothing to do with that.

If you want to upgrade an Apple device, other than RAM in some models, you sell it at a high resale value and buy a better one. Garbage computers are useless in a couple years, cost more to replace parts than they're worth, and have no resale value at all.

If you want to repair an Apple device, it's either free for as long as your AppleCare lasts, or $100 in most cases. Don't keep open containers of liquid on your desk (*), don't abuse your expensive hardware, and the repair isn't a problem (notably, the same guy at Snazzy Labs fucked up his iMac Pro and Apple unsurprisingly told him to go piss up a rope).

*: I wanted to link in the atp.fm episodes where John warns about this, and then gets to say "I told you so", but I can't find them with obvious keywords.

Minimally Competent Linux Apps

Yesterday's question and the Linux user response bugs me:

"because they are writing actually useful software, and not bells-and-frippery bullshit."
@dgold

That's just a horrific anti-user attitude. I want nothing but suffering for the developers & maintainers of Linux, but the poor bastards using it are still people, and people deserve software that doesn't suck.

So I duckduckwent for some clickbait and picked out some non-system apps.

Sources:

I'm going to mark these X for Cross-Platform, L for Linux-only, or NL for Not on Linux, and a completely biased first impression (unless I've used it) star rating:

  • X ★★★☆☆: VLC Media Player: Generally quite awful but it works, sometimes the only thing that does on random torrented videos.
  • X ★★★☆☆: Firefox: Meh. The Meh of browsers, leftover squeezings from the corpse of Netscape/Mozilla. The old rendering engine was good, but then the web moved on, and the new engine struggles to keep up. But not unusable.
  • X ★☆☆☆☆: GIMP: Now you're just being mean, Techradar. Nobody deserves to be GIMPed, and it may be against the Geneva Conventions.
  • X ★★☆☆☆: Deluge actually looks kind of decent for a generic torrent client. Hate those stock GNOME(?) toolbar icons.
  • X ★★☆☆☆: Thunderbird: Oh, I remember that. I briefly used it between mutt on BSD, and Apple Mail once I trusted the Mac. I'm sure it's as annoying to use as ever, but it works.
  • X ★☆☆☆☆: LibreOffice: "Because libre is free, man" (tokes). Sure, it barely opens Office documents and often corrupts them, and its feature set is spartan to nonexistent, and it looks like ass, but… uh… I guess it's all you got on Linux? Microsoft Office now runs on Mac, iOS, and Android, so maybe you could run the Android Office instead?
  • X ★★★☆☆: Pidgin: I think this is developed first on Windows, and then they also have a Gtk+ port that runs on Mac & Linux. There's just kind of an antiseptic, joyless smell to Windows software even with a filthy pigeon mascot.
  • X ★★☆☆☆: Audacity: Hideously ugly, impossibly awkward, but often the only audio editor that solves quick editing of multi-track WAVs. I loathe Audacity but use it a couple times a week.
  • X ★★★★☆: Chrome: Competent Google behemoth browser, if there was no Safari I guess I'd use Chrome. Instead it's my Flash-running trash silo.
  • X ☆☆☆☆☆: Copay: I don't consider Ponzi scams legitimate software. How do intelligent people fall for this shit?
  • X ★☆☆☆☆: Fucking Skype: Fucking Skype, can you hear me? Can… Can you hear me calling? Shit everyone hang up and call back in. No, now you sound like a robot, too. FUCKING SKYPE.
  • L ★★☆☆☆: Corebird: No shit, a Linux-only, Gtk+ Twitter client. Supposedly full-featured, at least until Twitter shuts off the API. I hate the big buttons and the weird padding and text boxes that don't fill all horizontal space, it's simultaneously claustrophobic and agoraphobic, which is amazebad. Icon is a bird with its brain exposed like Hannibal Lector is about to scoop it out. I… This is a work of comedy genius, or insanity. But kudos, Linux guys, on your first app.
  • L ★★★☆☆: Evince: Like Preview on Mac, a thing you don't realize is even software. Which is about as high praise as you're gonna get.
  • X ★★☆☆☆: Clementine: I've tried this on the Mac during one of my fits of temper at iTunes. It's functional but not as nice as iTunes (!!!), but for Linux I'm sure it's intolerable since they can't play music without it stuttering or being interrupted, because Linus is an incompetent bozo who doesn't realize real-time audio matters. Also hasn't had an official release or news in 2 years, tho the github repo shows more recent activity. Have fun compiling and running from HEAD!
  • NL: Dropbox: Linuxhint tells people to use Dropbox website despite having no Linux app. That may be the saddest thing I've seen all day, and I just watched a TV show where a man saw two of his sons shot dead, and then he was shot dead and his other son is in prison now. This is the weeping song
  • L ★★★★☆: Cumulus QT: Real-time weather in a nice UI. No web site, just a github repo, but seriously, the first good thing I've seen in this entire mess.
  • X ★★★★★: Krita: A cross-platform but really excellent paint program, somewhat in the style of Fractal Design Painter or any of those. I wasn't even aware it ran on Linux, it's been around in the Mac & Windows world for a while. Doesn't really replace Photoshop/GIMP/Acorn/GraphicConverter for pixel-fucking, but for painting on the computer it's quite good.
  • X ★★☆☆☆: OpenShot: Video editor, awful generic UI and more GNOME icons, and I've heard it described as slower than paint drying, but not my kind of thing to even evaluate.

So that was a parade of mostly the shittiest cross-platform apps ever, that I wouldn't allow on my computer. A couple are respectable. It looks like Cumulus and maybe some GNOME people are the only decent desktop devs on Linux? There are good cross-platform apps not listed, so I suspect "Linux users have no aesthetic sense" is a big part of this, no recognition for even trying.

I'm not going to attempt this for Windows, ain't enough whiskey in the world for that.

Remember OpenMoko?

Mickey's Story (to be read with Brian's Song playing)

Lessons: Linux & GTK+ are terrible, hardware guys making decisions without design & software direction are terrible, open doesn't help if you run a shitty stack. I ♥️ Python, but not in a kernel.

That puck phone was the ugliest thing in the world, and it couldn't reliably make or receive phone calls, which in 2007 would've been feature #1 in a phone.

The design mockups are hilarious, Photoshop without any connection to shippable code.

And the Commodore PET sucked.

You Have Updates

WordPress just told me I have a bunch of updates, so I pushed the button, at my convenience. iPhone has a bunch of updates, but I certainly don't have autoupdate turned on, I'll look at those when I feel like it.

I don't understand how people put up with their software deciding to "update" on them without permission.

Mac is insistent with the "updates waiting" dialog, but you can tell it to fuck off indefinitely.

Linux is like a broken car you have to go dumpster-diving to find new parts for.

But Windows breaks into your home to change your shit around. Just no.

Installers

Indie game dev leads you to some dark and terrible places.

I so miss the App Store being an endless payout slot machine without spending $10M on advertising, and miss the 6-figure jobs for fixing peoples' apps because nobody knew Objective-C (even less know it now, but they're stupidly trying to rewrite code they don't understand into Swift, which will break again in 6 months).

Now I'm a poor but honest pixel farmer, forced to shovel shit to get to market.

Making a Mac binary for Reaper's Crypt was trivial (on a Mac, probably impossible elsewhere), and produced 1 file: "Reaper's Crypt.app" (a Mac application bundle, hiding all the mess so you don't see it).

Making a Linux binary was not much harder, and produced 17 files and directories, with libraries and data scattered all over, with the binary sitting in the middle where nobody could see it. So I'll have to make a little script to go launch that untidy mess. When I did Linux, there were at least 3 standards for icons, and by now I'm sure there are 13 more, so they get a raw image file.

Making a Windows binary required me to install WINE with MacPorts, which took hours, and the binary is in the middle of a similar mess of 20 files and directories. So for this I need an installer to make a .msi file, which nobody I know has done this decade; I think I have a handle on this. But now I don't know if I need 32-bit "win32" or 64-bit "win32" (what.); there's no fat binaries in Windows, so it's one or the other.

I am not Hercules, and these Augean stables are filthy.