As a programmer, it’s pretty wild how much of Windows under the hood has remained completely unchanged. I started writing software synthesizer applications back in the late '90s, using a part of the Win95 API called “winOutX”. The functions are kind of clunky to use but they allow you to programmatically create your own audio buffer arrays filled with whatever sounds you’re up to creating and dump them into the playback stream for seamless audio. This shit has remained in place, working pretty much perfectly, for the last 30 years. It was even there in WinCE/Windows Mobile, which allowed me to write software synthesis applications for early smartphones circa 2005. And it’s still all there today.
I like to rip on MS as much as the next guy (not least for them completely dropping the fucking ball as far as smartphones were concerned), but sometimes their incredibly long-term conservatism can work to your benefit.
Windows, can I run this 25 year old software I just installed?

macOS, can I install this 2 year old program?
No, the architecture is no longer supported in this version of macOS
“no because the dev hasn’t paid us to certify it as safe so you’ll have to jump through 37 hoops in order to allow you to right click, hold options, and click open. THEN we’ll give you an option to install it”
Is this a LibreWolf on Mac reference, because I hate this so much about LibreWolf on Mac lol.
Not so much a librewolf reference as much as a “any app you download from the Internet” reference lol
I’ll have to try installing librewolf when I’m feeling frisky though
I mean, macOS has a lot of issues but the one hoop needed to run any unsigned app is “right-click app icon, click open”.
Sometimes it won’t let you even get to that step without going into the settings and finding a secret security notification that it blocked it from opening
Yeah, and in rare instances, you’ll need to take the app/binary out from the quarantine
I guess that is true, yes. I do think it’s generally a good thing that they’re locking down specific permissions like that though.
Are you still taking about macs? Because that’s Windows.
Is it? The only hoop I can remember jumping through is the (usually) singular UAC popup
Unless you’re Ubisoft and pop up 5-8 of them every time you open Ubisoft connect
Windows will block any software that isn’t popular. Unless the developer pays Microsoft.
I’ve never seen that, and I’ve been using Windows professionally and personally for…ever.
It’s only a thing if you leave smartscreen on. Think it might also only apply to stuff downloaded through Edge, but don’t quote me on that.
I think I’ve seen this before, very rarely though. If I remember correctly you can continue to open it from the popup, right?
“Windows Smartscreen has blocked this app from running”
Yes, you can pull the “more options” thing and run it.
There’s a button to ignore it, and paying Microsoft wouldn’t help anyways, there’s someone else you need to pay for signing keys
John Windows himself…
I wanted to do the cool neofetch thing all the femboys in thigh highs are doing. Shits already installed on mint. My boring ass win98 clone is doing the femboy thing no questions asked.
Hey. The cool transfems in thigh highs are doing it too.
Interesting. Neofetch has ceased development but fastfetch is here to take its place though.
Not gonna lie, having to relearn that muscle memory is gonna be hard lol.
You can always alias it! With my neofetch config, I get nearly identical output with fastfetch so I switched a while back.
My issues are not install, but uninstall. Why do I have so much crap installed? I used it on a project once 7 years ago and haven’t since. Why not uninstall it? It is useful, just not currently. It took less than a minute to install when you installed it the first time and your connection is faster now? But what if the archive goes down or it is retired or obsolete? It is small, keep it!
Turns out lots of small adds up to big.
And yet some linux devs look at me using containers for development like I’m the Demon Lord of Overhead
If you use it to make sure your deployment is sane and that your dev system didn’t have an invisible component that you assumed as a dependency, great. Containers are a great tool for simulating minimalist clean setups and not incurring surprise hidden dependencies.
If your application carries a whole container with it for the user to use and that’s the only way to use the software, that’s going to be annoying. ‘docker style’ for bloat, flatpak/snap depends on the app but sometimes the application functionality is broken by the container boundaries. Admittedly flatpak/snap is frequently acceptable, really depends on if the program has a lot of interoperability features that get broken in the flatpak/snap runtime model.
If your application only is deployable as a pod… I’m almost certainly going to want to avoid it if at all humanly possible. Pods as a self-hosted approach to do what you want, ok, fine and I own all that. If a third party pod is happening, I tend to see some part of it fall over it and no one can figure it out because the application is microserviced into oblivion and no human actually understands the whole flow… It’s possible also to do this with ‘traditional’ application delivery, but a pod is a very high sign that no one even bothered thinking hard about how it should come together and play nice with others.
Turns out lots of small adds up to big.
Nickel and dimed into a dollar I see
Specially for rolling release distros.
I had fun installing everything I thought of just checking out once, including games and stuff (assets tend to be large).
But after a few updates and not actually using most of them, I realised how much load I was putting on the network and removed many of them.
Roller Coaster Tycoon came out in 1999 but I notice it didn’t come preinstalled on Mint. Is my install broken? /s
Sorry, only 25 year old software included. You’re on your own for 27 year old software.
Windows 11 won’t install those 25 year old programs anymore. Wine will.
I’m really sorry to do this, but 25 years ago was 2001.
Now that the painful part is out of the way, 32-bit software from 2001 should work in Windows 11.
Oh cool, let me install this software, what, it won’t install because it’s missing quicktime? Oh it needs directx 8 runtime? That could be a problem. Let’s advance the clock, 2004, that should be fine… What do you mean you can’t run .NET 1.1 applications and so that won’t run?
Ironically, wine is more likely to have a path to easily run those programs under Linux, but if you had a Linux binary from that era you’d likely have a hard time getting that to run, probably harder than the microsoft scenario. So old Windows software is more likely to run under Linux than old Linux software…
I ran into old software (for Windows XP), especially games not working even with compatibility mode used for the install and opening of the app. Now if the publisher or Steam or some party puts a tad bit of effort, then yes, those games can work, although I guess a big part of that is also hardware and driver related if talking about 3D games for instance.
Oh, it should work and it will if you put all the files in the right places yourself by say installing it on wine and copying the changes to the wine system directories over, but starting in Windows 11 running the installer gets a deliberate “this program isn’t meant for this version of Windows” error.
You will run into a lot of old Library issues. Like elf binary missing, lack of 32 bit is starting to become a problem. If you have any old 2.4 kernel dependencies your probably gonna have a problem in Linux
Run the installer in compatibility mode, then run the application in compatibility mode?
Didn’t work. Application doesn’t even need compatibility mode to run. Running the app copied by someone else from their previous Windows 10 computer sorta works but didn’t find files installed to system directories. Windows 11 just deliberately refuses to execute the installer probably based on recognizing the old family of installer programs specifically.
The users wanted a new Linux laptop. I installed LMDE, showed them how to run the installer with wine. It made a menu item. Drag and drop from whatever the cinnamon file manager is doesn’t work, and there was no file association to open the program’s files. I added one that just opens them with wine and lets it figure it out. I also showed them where their wine c drive was.
After a few weeks they wanted to print to pdf as well as their printer from wine and I had them install cups-pdf
My machines and my children’s machines will never boot Windows again.
Good! Not sure how that’s relevant, but good!

Windows sucks, but I made some tools 20 yrs ago and they still just run in win11. As they did on all other windows before since…I dunno, 95? Or 3.11?
But anyhow: Windows sucks.
you’re right, but Windows 7 had a space in our hearts, after that it’s all a load of garbage
3.11, 98, 8.1 and 10 were okay too. I was there…3000 years ago.
I’m still on Windows 3.11 because I demand an edition for Workgroups and nothing else has it in the name!
Depends on the program. I’ve got a handful of that old on CDs that still install fine. Checked when I was backing them up to ISO. There’s little bits of weirdness and unintended behavior while running them now, but they still install and run to a fairly acceptable degree.
That experience varies wildly though. Wine tends to handle things better and more consistently.
I’ve tried getting Windows XP games to run both in windows 7/10/11 and wine with little success. However, I have gotten them to work in Windows XP virtual machines.
“Old tools” does not mean obsolete or bad. It means tested, hardened, and reliable. And crucially, probably runs in a couple megabytes of memory, which you might need if the cost of RAM suddenly quintuples for no reason.
B-but don’t you want AI in vi?
AI in vim is actually often convenient.
:set aiCool, now it will keep track of my indentation.
Now sometimes that gets in the way, and while you can:
:set noaiUsually it’s best for me to:
:set pasteAnd that’s my take on the utility of AI in vim. (that is what you meant right, there isn’t some other AI people are thinking of right?)
You can almost hear the legacy programmers screaming about Haskel and C from here. /j
Windows: can’t run SETUP.EXE as it is a 32 bit program
Nope, can’t find this ancient version of libc!
You can still compile it against the modern version.
And if it’s static linked it will either run or you can ask Linus to murder someone for you.
Hmm I’ll email Linus
If I may, is there a way to quickly and easily have a disposable/revertible environment for building? For Fedora specifically. It’s annoying to install a whole suite of packages because I need them just this once and then either manually delete the ones I didn’t manually install before and actually need or just live with a whole bunch of devel packages that’ll never be used again
Distrobox might be the easiest way. If you use a custom HOME directory you can even keep the build artefacts isolated.
You can use docker for that. I think there are even some tools to make it easier to use for that use case, but I just use plain docker for it
I was trying to compile the first version of SuperTuxKart just for fun, how naive I were… Nowadays it’s like translating ancient runes and good luck finding those ancient libraries
Helps that if they aren’t installed, they will be aliased to the opensource equivalent.
I am looking at you
cc. I should NOT have been able to follow a programming book that old so smoothly when I knew nothing about computers at the time.Initial release of
ddwas for Unix in 1974 and it’s still updated for use in modern systems.I used it just the other day and it was already installed.
WIndows will install it. Running it correctly… different story.
We have a 22 year old version of RedHat 4. It works fine and is reliable but has problems with out dated security.
xdotoolis not already installed, and also will not work 🙄It does work but if you’re using Wayland, it won’t. But one would be rather silly to expect an X11/Xlib tool to work without X11.
Yeah, I wouldn’t expect it to work, so I wouldn’t expect a meme to imply that Linux has great backwards compatibility, when things change somewhat rapidly in mainstream Linux, making it quite hard to maintain.
X11 isn’t Linux… Linux is excellent for backwards compatibility. Can’t say the same about userspace though.
You’re right! And yet it doesn’t really matter that much, does it?
Yes, it does. Not only for servers, but every single application that wasn’t written for X11 specifically continues to just work. Which is the vast majority.
Would you enjoy trying to explain this to your grandma or other stereotypically tech-un-savvy relative after you got her to install Ubuntu and something she was able to do before stopped working after an update?
You’re interested in backwards compatibility on servers, and in backwards compatibility for a subset of applications. Cool. Convenient for you! Recognise that there’s more to it than that, that when people meme about how awesome Linux is compared to Windows, focusing on servers and non-graphical applications isn’t good enough.
Not backwards compatibility. Straight up compatibility.
and yes, I wouldn’t mind. I enjoy explaining things.
The meme isn’t implying great backward compatibility. It’s implying great tool maintenance and availability.
I’m going to miss
xdotool(andwmctrl) when my distro eventually ditches X11.I don’t use them often, but I do use them, and their functionality is nice to have.
There are partial replacements out there, but last I checked, they were very weak approximations.
what do those do? I run x11 but never knowingly used them
They allow the user to script changes to, and pull information from, windows in the window manager. Like read, if not also set, a window’s title, change a window’s dimensions, move it around, send it to a different desktop, send keypresses, bring a window to the foreground, etc. etc.
Basically, anything the user can do with the mouse, keyboard or window manager via the GUI, and a little more besides, can be automated.
The two commands work slightly differently to each other and one can often do something the other can’t.
As an example, I have a script that resizes the active window to a 4:3 ratio at full vertical height on my 16:9 monitor. I’ve then bound that script to a keypress in the window manager. It’s a lot like having something halfway between window mode and maximised mode.
Couldn’t I do that with the mouse? Sure. But with the script I don’t have to gauge by eye and spend multiple mouse clicks and movements trying to get it just right.
That sounds absolutely amazing and something that I’m definitely going to be looking up when I go on my desktop later. Thank you for informing me
Be aware that a lot of distros will be switching from X11 to Wayland at some point in the not-too-distant future and these ancient tools will not work there.
People have tried to write equivalents (
ydotoolis one I’m aware of), but Wayland has intentionally been written to make doing such things difficult, for “security” reasons.I will be grumpy until I can make my scripts work again, but that’s for future me to deal with.
Yeah, sadly, I’m aware. I know that Wayland is making its rounds. I’m not looking forward to it. I try it every once in a while to see if it’s gotten better, but so far, every time I’ve tried, I have artifacting and tearing, which just doesn’t happen on X11


















