this post was submitted on 28 Jan 2026
419 points (95.2% liked)

Programmer Humor

28824 readers
1544 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old

And this is...bad? Or do you mean it's lying?

[–] ChickenLadyLovesLife@lemmy.world 15 points 5 hours ago (1 children)

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.

[–] CeeBee_Eh@lemmy.world 3 points 3 hours ago (1 children)

It sounds like the app you wrote is doing 99% of the work. And I'm guessing it was written in C, which means it's an x86 binary and could theoretically run on any x86 system.

Modern Windows actually has a lot of problems running older software. In some cases, the only way to get those applications working again is using Wine on Linux.

[–] ChickenLadyLovesLife@lemmy.world 6 points 3 hours ago (1 children)

It was originally written as a C DLL utilized by a Visual Basic front end. The C DLL used the Win95 API, though, so it wouldn't have worked on anything but Windows 95 and onwards. I subsequently ported the entire thing to C# but still using the same API to do the actual playing of the audio (I experimented with using DirectSound instead but that was really not appropriate for an application doing its own audio mixing). Now I'm working on an iOS version and I couldn't give two fucks about Windows at this point.

[–] CeeBee_Eh@lemmy.world 2 points 2 hours ago (1 children)

it wouldn't have worked on anything but Windows 95 and onwards

I know what you mean. All I was saying is that the binary would execute on an x86 processor regardless of the OS. Now the OS knowing what to do with it is another matter.

This is actually what Wine does, it's a translation layer that intercepts the Win APIs and converts it to a Linux API and vice versa. The actual binary runs on the processor just the same.

[–] ChickenLadyLovesLife@lemmy.world 1 points 19 minutes ago

I wonder if my old app circa 2000 would actually run on Linux/Wine. One of my projects for this winter is to install Linux on one of my Windows laptops. I'll have to give the old app a try.

[–] dejected_warp_core@lemmy.world 47 points 6 hours ago* (last edited 6 hours ago) (1 children)

Windows, can I run this 25 year old software I just installed?

[–] Turret3857@infosec.pub 3 points 3 hours ago

hello windows 8

[–] codingitwrong@lemmy.zip 116 points 11 hours ago (1 children)

macOS, can I install this 2 year old program?

No, the architecture is no longer supported in this version of macOS

[–] Ironfacebuster@lemmy.world 70 points 10 hours ago (10 children)

"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"

[–] mintiefresh@piefed.ca 14 points 8 hours ago (1 children)

Is this a LibreWolf on Mac reference, because I hate this so much about LibreWolf on Mac lol.

[–] Ironfacebuster@lemmy.world 8 points 5 hours ago

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

[–] TrickDacy@lemmy.world 7 points 10 hours ago (1 children)

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".

[–] Ironfacebuster@lemmy.world 15 points 9 hours ago (2 children)

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

[–] MrLLM@ani.social 7 points 9 hours ago

Yeah, and in rare instances, you’ll need to take the app/binary out from the quarantine

load more comments (1 replies)
load more comments (8 replies)
[–] hissingmeerkat@sh.itjust.works 165 points 14 hours ago (10 children)

Windows 11 won't install those 25 year old programs anymore. Wine will.

[–] TheRealKuni@piefed.social 85 points 13 hours ago* (last edited 13 hours ago) (6 children)

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.

[–] jj4211@lemmy.world 4 points 5 hours ago

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...

[–] korte7@lemmy.world 3 points 4 hours ago

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.

[–] hissingmeerkat@sh.itjust.works 41 points 12 hours ago (3 children)

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.

load more comments (3 replies)
load more comments (3 replies)
load more comments (9 replies)
[–] SillyDude@lemmy.zip 21 points 10 hours ago (2 children)

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.

[–] apotheotic@beehaw.org 8 points 8 hours ago

Hey. The cool transfems in thigh highs are doing it too.

[–] TrickDacy@lemmy.world 11 points 10 hours ago (2 children)

Interesting. Neofetch has ceased development but fastfetch is here to take its place though.

load more comments (2 replies)
[–] mycodesucks@lemmy.world 30 points 11 hours ago (2 children)

"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.

[–] fibojoly@sh.itjust.works 7 points 8 hours ago (2 children)

B-but don't you want AI in vi?

[–] jj4211@lemmy.world 5 points 5 hours ago

AI in vim is actually often convenient.

:set ai

Cool, now it will keep track of my indentation.

Now sometimes that gets in the way, and while you can:

:set noai

Usually it's best for me to:

:set paste

And 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?)

load more comments (1 replies)
[–] collapse_already@lemmy.ml 9 points 10 hours ago (3 children)

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.

[–] nek0d3r@lemmy.dbzer0.com 2 points 7 hours ago (1 children)

And yet some linux devs look at me using containers for development like I'm the Demon Lord of Overhead

[–] jj4211@lemmy.world 2 points 5 hours ago (1 children)

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.

[–] nek0d3r@lemmy.dbzer0.com 1 points 3 hours ago* (last edited 3 hours ago) (1 children)

Yeah, all of mine are usually just there to spit out binaries to use locally and alert me to any new dependencies slipping by. I once worked at a company that would ship web apps with databases that only ran in a container so that they could make each layer of its image a migration. It made CI take upwards of 40 minutes for just regular PR builds.

And then there's people who are just allergic to containers. If you want me to work on your C project, I'm not leaving dev libraries lying around or wondering why something works on my system and not on others. I'm building a Dockerfile that has only what should be needed to build and feeding make through a container and volume binding the output.

Edit: I hate flatpak and snap so much actually lol. Most of the Dockerfiles I write are just building apps from source that don't distribute any other way. I'll even accept AppImages, but if you make me use flatpak, I will not hesitate to start building from source.

[–] jj4211@lemmy.world 1 points 1 hour ago

What i find funny are people building golang binaries without cgo and still wrapping them in full distro containers. Your binary uses nothing from the container and still it gets packaged that way...

Seen so many developers incur a huge headache trying to figure out overly complicated container setup when they could just run their already static binary without any drama...

load more comments (2 replies)
[–] CreamyJalapenoSauce@piefed.social 9 points 10 hours ago (1 children)

Roller Coaster Tycoon came out in 1999 but I notice it didn't come preinstalled on Mint. Is my install broken? /s

[–] Alexstarfire@lemmy.world 11 points 10 hours ago

Sorry, only 25 year old software included. You're on your own for 27 year old software.

[–] isVeryLoud@lemmy.ca 45 points 14 hours ago (2 children)

Nope, can't find this ancient version of libc!

[–] jj4211@lemmy.world 1 points 5 hours ago

It's funny because that's true that an old Linux binary is likely to have issues under Linux, but an similarly old Windows application might work better under Wine on Linux than modern Windows.

libc is actually relatively less likely, glibc is awfully conservative about changes, but there are a maze of likely service and library dependencies that were abandoned or didn't regard backwards compatibility with the same importance.

[–] ViatorOmnium@piefed.social 37 points 13 hours ago (5 children)

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.

[–] isVeryLoud@lemmy.ca 24 points 13 hours ago

Hmm I'll email Linus

load more comments (4 replies)
load more comments
view more: next ›