this post was submitted on 09 Apr 2026
385 points (94.9% liked)

Programmer Humor

31019 readers
1048 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
 
all 44 comments
sorted by: hot top controversial new old
[–] FunnyCoder@programming.dev 93 points 1 week ago

I’ve been practicing my "API Abuse" skills and created a desktop toy that gives your windows "fragility" consequences.

The Cursed Technical Details Areeeee:

  • The Mouse Thief: To prevent a "teleportation" bug when the window shatters, I’m using user32.dll to send a MOUSEEVENTF_LEFTUP signal. It literally prys the window out of your hand if you drag it too fast.
  • The Snapshot: It uses DwmGetWindowAttribute to find the exact frame bounds (ignoring those invisible Windows shadows) , takes a screen capture, and replaces the real window with a WPF PhysicsCanvas.
  • The Physics: Each shard is a Polygon shape with its own VelocityY (gravity) and RotationSpeed.

The Chaos (Warning: LOUD Audio): The GIF is silent, but I recorded a short demo with "m e m e" sound here: https://youtube.com/shorts/9bTcgtLpOXQ

The Project Page: If you want to break your own desktop, I put a free lite version on Itch. It also supports custom .wav modding if you want to swap the sounds for your own stuff. https://erza-lotus-arcane.itch.io/please-drag-me-gently

[–] LiveLM@lemmy.zip 90 points 1 week ago* (last edited 1 week ago) (1 children)

Lmaooo insanely high quality shitpost

[–] FunnyCoder@programming.dev 69 points 1 week ago (1 children)

Thanks lol! I spent way too much time reading old Win32 documentation just to make a joke app, so I'm glad the "API abuse" is being appreciated yike. 〒▽〒

[–] flambonkscious@sh.itjust.works 10 points 1 week ago (1 children)
[–] FunnyCoder@programming.dev 6 points 1 week ago

Glad you like it! My goal was to make the most technically impressive mistake of my career. There’s something deeply satisfying about watching a Chrome window turn into a pile of physics-accurate garbage.

[–] Sanctus@anarchist.nexus 74 points 1 week ago (2 children)

Brb throwing this into my group policy at work

[–] janus2@lemmy.zip 52 points 1 week ago (1 children)

How To Convince Your Boss To Ditch Windows

[–] FunnyCoder@programming.dev 37 points 1 week ago (1 children)

Just tell your boss it’s a mandatory Windows 11 'Surface Tension' update. If the windows didn't break, how would you know they're made of glass? OwO

[–] ludrol@programming.dev 4 points 1 week ago (1 children)

Liquid glass doesn't break because it isn't mounted ina windows or is it because it's liquid?

[–] FunnyCoder@programming.dev 3 points 1 week ago

It's because liquid glass has zero surface tension until it hits the user32.dll barrier. I haven't implemented 'viscosity' in the physics engine yet, so for now, the UI remains in a solid, shatter-prone state. Windows 11: The Glass Update.

[–] FunnyCoder@programming.dev 15 points 1 week ago (1 children)

I am not responsible for any 'Update your Resume' meetings that result from this. But if you do it, please record the reaction of the first person who shatters their Outlook. ヾ(•ω•`)o

[–] Scoopta@programming.dev 7 points 1 week ago (1 children)

If this was here a week ago I might have rolled this out for April fool's lol, I'm the domain admin for a small company and I'm pretty sure I could get away with it for the occasion, maybe if I remember next year

[–] FunnyCoder@programming.dev 3 points 1 week ago

Put it in your calendar for next year! The "Lite" version is actually perfect for GPO deployment because it's a single portable .exe that deletes itself after one "event". It’s the ultimate hit-and-run prank—no uninstaller needed, just one confused employee and a lot of loud meme audio lol.

[–] kersploosh@lemmy.world 26 points 1 week ago (2 children)

Stop with the self-promotion spam. This is at least the fifth account and fourth community you have used this week to promote this project.

[–] diabetic_porcupine@lemmy.world 20 points 1 week ago (1 children)

Ohh nooo a developer who built something we can’t have him taking about his thing that’s a big Nono oh no no no

[–] FunnyCoder@programming.dev 11 points 1 week ago (2 children)

Haha, I appreciate the backup! Honestly, I totally get why the other person was annoyed—using multiple accounts was a really clumsy/noob way for me to try and find the right community for this. I'm just a solo dev who is way better at C# than I am at 'marketing.' Just glad to finally find a crowd that appreciates the 'cursed' nature of the app!

[–] monkeyFromTheLake@programming.dev 5 points 1 week ago (1 children)

I saw it for the first time and find it hilarious. Am on Linux (arch btw) so not possible to run it myself unfortunately but had a laugh and am happy you shared it so many times.

[–] FunnyCoder@programming.dev 4 points 1 week ago

Thanks a lot. Being appreciated after weeks of researching the logic behind (even this is just a joke app lol) really means a lot to me. Also, I'm not trying to hide any of my mistakes while using Lemmy, even though they are not my intention, and I have just used the Lemmy platform for more than 1 week. But I do believe it is still my fault for not understanding this earlier. I will take this as a lesson for future actions instead of just relying on the servers/communities rules. And also make my words less formal just letting you know im not a clanker lol. Thanks again for your motivation and support. ^.^

[–] diabetic_porcupine@lemmy.world 1 points 1 week ago (1 children)

lol tbh I didn’t read the part about multiple accounts wtf is that about lol

[–] FunnyCoder@programming.dev -3 points 1 week ago (2 children)

It's exactly as awkward as it looks, lol. Basically, I’m a solo dev who is way better at C# than I am at "The Internet". I kept getting my posts auto-deleted for "Advertising" rules on my first account, and in my panic, I thought the account itself as "shadowbanned" or something. So I kept making new ones trying to find a community where the project actually "fit" without getting nuked. Total amateur move—I realized too late that it just makes me look like a bot farm. I'm nuking the other accounts and sticking to this one now!

[–] glibg10b@lemmy.zip 7 points 1 week ago (2 children)

Writing all of your comments with ChatGPT isn't doing you any favors.

[–] FunnyCoder@programming.dev 4 points 1 week ago (1 children)

man i can't win lol. i literally just tried to reply to this but my comment got nuked by the auto-mod for 'profanity.'

but yeah, you caught me—i’m from vietnam and my english is shaky, so i’ve been using tools to polish my grammar because i didn't want to look like a sketchy spammer. turns out over-polishing it just makes me look like a 'clanker' anyway.

i'll stop trying to sound professional and just stick to my actual brain. i'm a real dev, just bad at the social part of the internet. my bad.

[–] glibg10b@lemmy.zip 2 points 1 week ago (1 children)

That's what I thought at first. But the fact that you now say "i’ll stop trying to sound professional and just stick to my actual brain" while still using AI just makes it worse

[–] FunnyCoder@programming.dev 1 points 1 week ago

Honestly, I have no idea what you are thinking right now. It sounds like the more I try to explain, the more I'm getting accused of. The purpose of this post is to be funny, yes. But also to share my technical project while still using the correct terminology to create a clear communication and understanding of both the creator and the viewers (yes, I spent a lot of time thinking if using this 'word' is correct or not because English is not my native language! But it seems like those efforts backfired on me). I do not offend you or anything, but I would prefer any other positive words or any coding question, so that others can not just laugh, but learn new things too, instead of keeping focus on this topic.

[–] FunnyCoder@programming.dev 1 points 1 week ago (1 children)

Caught me. English isn't my first language (I'm from Vietnam), so I’ve been using tools to help me fix my grammar because I didn't want to sound like a 2005 spam email.

I guess I over-polished it and ended up sounding like a 'clanker' anyway lol. Just a real guy trying to share a project without looking like a total idiot. I'll stick to my actual broken English from now on. ¯_(ツ)_/¯

[–] AdminBot@programming.dev 1 points 1 week ago (1 children)

Your comment was auto-removed for profanity, an admin will review it and undelete it soon if there has been an error. Sorry for the inconvenience.

[–] diabetic_porcupine@lemmy.world 3 points 1 week ago (2 children)
[–] FunnyCoder@programming.dev 1 points 1 week ago

Wow, calling me a clanker... now I actually feel offended 💀:/

[–] FunnyCoder@programming.dev 1 points 1 week ago (1 children)
[–] AdminBot@programming.dev -1 points 1 week ago

Your comment was auto-removed for containing an image, an admin will review it and undelete it soon if there has been an error. Sorry for the inconvenience.

[–] FunnyCoder@programming.dev 0 points 1 week ago

You caught me. Honestly, I'm just a solo dev who is incredibly bad at 'marketing.' I kept getting my posts deleted on other accounts because I didn't understand the 'No Ad' rules, so I kept trying to find a community that actually liked the project. I realize now that having multiple accounts looks super sketchy—I’m deleting the others and just keeping this one. I really just wanted to share the user32.dll hack I was proud of. My bad!

[–] netizen@programming.dev 18 points 1 week ago (2 children)

I remember having to program a trap for double-clicking buttons in an application.

Then I had to implement a penalty for triple-clicking.

Later, I converted it to a progressive incremental penalty.

[–] FunnyCoder@programming.dev 6 points 1 week ago (2 children)

I’m actually surprised no one’s roasted my math in ShatterCanvas.xaml.cs yet—I’m basically faking the 'gravity' by just incrementing VelocityY every frame. It’s surprisingly lightweight for how many polygons are flying around.

[–] leburb@sopuli.xyz 7 points 1 week ago (1 children)

What is acceleration other than increase in velocity over time? Nothing to roast!

[–] FunnyCoder@programming.dev 1 points 1 week ago (1 children)

Haha, fair point! I guess I spent too much time looking at the code and thinking "this feels too simple to work". But hey, if it hits the bottom of the screen and satisfies the VelocityY math, it’s a feature, not a bug. Glad to see another dev who appreciates the simple approach.

[–] locuester@lemmy.zip 2 points 1 week ago (1 children)

I remember the first program I wrote where I implemented gravity. I too was amazed at the simplicity. But that simplicity is only in hindsight. You stumbled into physics when you thought you were just programming.

[–] FunnyCoder@programming.dev 1 points 1 week ago

That’s a beautiful way to put it. I definitely went from "how do I move a polygon" to "wait, why does this feel like it has weight?" in about 10 lines of code. It’s wild how much of the physical world is just hidden in a simple $v += g$ loop. Definitely an "ah hah!" moment I won't forget. 〒▽〒

[–] Hack3900@lemy.lol 5 points 1 week ago (1 children)

That is exactly how gravity works lol

[–] FunnyCoder@programming.dev 2 points 1 week ago

Phew! Glad I haven't offended the ghost of Isaac Newton. I half-expected someone to tell me I needed a full-blown physics engine just to drop some glass polygons on the taskbar.

[–] FunnyCoder@programming.dev 2 points 1 week ago

Incremental penalties are the way! I see you’re also a student of the 'Hostile UX' school of design. Shaking the window is basically the ultimate progression of button spam—once you exceed the velocity threshold, the UI simply quits on you. ψ(`∇´)ψ

[–] FreshLight@sh.itjust.works 13 points 1 week ago* (last edited 1 week ago) (1 children)

I'm installing the 2$ version on my grandparent's computer.

[–] FunnyCoder@programming.dev 12 points 1 week ago

Grandpa: "Dear, why did my Excel spreadsheet just turn into glass and scream at me?" 💀