this post was submitted on 04 Apr 2025
875 points (99.2% liked)

Programmer Humor

22234 readers
618 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 42 comments
sorted by: hot top controversial new old
[–] [email protected] 7 points 1 day ago

Laying in bed thinking about the problem, "oh, that must be it!" Jump excitedly out of bed to work on the problem, "welp, that wasn't it."

[–] [email protected] 28 points 1 day ago (2 children)

"oh it was just a missing semicolon"

[–] [email protected] 9 points 1 day ago (1 children)
[–] [email protected] 2 points 1 day ago* (last edited 2 hours ago)

Even if you're not using one, you should be instinctively looking for a semicolon the moment you get a syntax error unless you're a complete beginner.

[–] [email protected] 50 points 1 day ago (2 children)

so the other day I sat down trying to setup a SSL cert for my self-hosted services

[–] [email protected] 22 points 1 day ago (3 children)

Have you heard of our Lord and Savior, Traefik + ACME issuers?

[–] [email protected] 2 points 11 hours ago

Let's encrypt brother

[–] [email protected] 10 points 1 day ago

Let's Encrypt Expiry Bot just entered the chat.

[–] [email protected] 6 points 1 day ago (2 children)

Does Trafik also allow DNS based challenges with additional certbot plugins, or does it only work by serving a challenge in /.well-known/?

I’ve set up my internal homelab with LE certificates, but if I could get rid of certbot and do this automagically, it’d be nice…

[–] [email protected] 7 points 1 day ago

I have it setup to use DNS challenges through Cloudflare, but it supports different providers as well. I just add the labels to my docker container and voila, I have TLS

[–] [email protected] 4 points 1 day ago (1 children)

Not all dns providers support acme, I've discovered to my recent annoyance. The one I use at work, for instance.

[–] [email protected] 3 points 1 day ago (1 children)

I already use certbot with my DNS provider, so it should generally be supported. And indeed, O found the docs, where all supported providers are listed.

https://doc.traefik.io/traefik/https/acme/#providers

[–] [email protected] 2 points 1 day ago (1 children)

Yeah. For wildcard DNS from letsencrypt, you can't do HTTP validation, only DNS, which involves creating a TXT record.

Your DNS provider needs to run an ACME server, which runs an API that'll add the required TXT records on request.

As I understand it.

[–] [email protected] 1 points 17 hours ago

The DNS provider needs to provide an API, but not an ACME server.

Your server contacts Lets Encrypt and wants a certificate - say for homeserver.example.com. It tells Let's Encrypt to use DNS based authentication. Let's encrypt answers with a challenge code, that you now publish as a txt record with a defined name via your providers API for this (sub)domain. Let's encrypt then checks the TXT record and if it finds the challenge there, it sends you the certificate.

[–] [email protected] 4 points 1 day ago

Might want to check out swag from linuxserver.io

It's a docker/kubernetes container image with a working certbot client in it.

[–] [email protected] 20 points 1 day ago

I don't like being on this picture.

[–] [email protected] 5 points 1 day ago* (last edited 1 day ago)

My friend just finished a couple solid days of debugging where there turned out to be a whole series of problems that looked like one bug, so even though he kept fixing things the app still kept not working. Finally hacked his way out of that jungle into the bright light of day.

[–] [email protected] 38 points 1 day ago
[–] [email protected] 6 points 1 day ago* (last edited 1 day ago) (1 children)

Reminder to all you chaos monkeys: use [Object object] on web forms occasionally for a bit of fun.

Edit: and to remind typescript devs they’re just transpiling to JavaScript

[–] [email protected] 1 points 1 day ago

I shit you not I got that object object response with a 200 status.

[–] [email protected] 4 points 1 day ago* (last edited 1 day ago)

Just later that day? Clearly, comic man doesn't have to cojones to fuck up as badly as I have.

[–] [email protected] 17 points 1 day ago (1 children)

I’ve been trying and failing to fix an email being sent to spam issue since last fucking Monday (with all the SPF, DMARC and DKIM garbage).

I want to die.

[–] [email protected] 14 points 1 day ago

SPF, DMARC and DKIM

Ironically, spam generators are experts EXPERTS in this trash fire of a topic

[–] [email protected] 7 points 1 day ago (3 children)

Aw come on, debugging can be fun. I love the investigative vibe of it. You get to be your favorite detective. You start asking around. You pin the the culprit. You get closer and closer to damning evidence. And then Bam! Fixed. Another mystery solved. Mine’s Columbo.

[–] [email protected] 7 points 1 day ago (1 children)

I love asking,

"What sick fuck thought this was an acceptable solution?"

And a few moments later:

"Oh. It was me."

[–] [email protected] 2 points 1 day ago

Just finished with a refractoring project. I said this a LOT.

[–] [email protected] 5 points 1 day ago

Agreed, for any non-trivial bug I just start dumping text into a word file to track what I'm doing. Like: error messages, values of variables at key places, libraries used, URLs of documentation and background reading and stackoverflow pages looked at, test fixes and their effects, etc. Then if someone asks me wtf I've been doing all day I can easily show them. Also, if I have the same problem a couple months later I can remind myself.

[–] [email protected] 2 points 1 day ago

It's fun when you debug your own code.

[–] [email protected] 13 points 1 day ago

LoL, blue shirt has no persistence. Anger and giving up gets you nowhere.
XKCD #349 - "Success": [Four full-width panels arranged vertically, each with a label for number of hours elapsed, with a title above the stack of panels.];    Title: As a project wears on, standards for success slip lower and lower.;    [Megan is standing behind Cueball, watching him as he sits at a desk working on a desktop computer on the desk.];    Label: 0 hours;    Cueball: Okay, I should be able to dual-boot BSD soon.;    [Cueball is on the floor fiddling with the open tower in front of him. Megan is not shown in the panel, but may be off-panel unless Cueball is talking to himself.];    Label: 6 hours;    Cueball: I'll be happy if I can get the system working like it was when I started.;    [Cueball is standing in front of the computer, which now has a laptop plugged into the tower. Megan is still not shown in the panel, but may be off-panel again.];    Label: 10 hours;    Cueball: Well, the desktop's a lost cause, but I think I can fix the problems the laptop's developed.;    [Cueball and Megan are swimming in the sea; an island and a beach can be seen in the distance.];    Label: 24 hours;    Cueball: If we're lucky, the sharks will stay away until we reach shallow water.;    Megan: If we make it back alive, you're never upgrading anything again.

Title text:40% of OpenBSD installs lead to shark attacks. It's their only standing security issue.

[–] [email protected] 14 points 1 day ago

Who is OP, and how did you get pictures of me last night?

[–] [email protected] 3 points 1 day ago

My favorite so far:

$ gdb -ex 'file /bin/gdb'
run
corrupted double-linked list

Thread 1 "gdb" received signal SIGABRT, Aborted.
[–] [email protected] 2 points 1 day ago (1 children)

Did the coffee mug go through the wall or up is ass?

[–] [email protected] 1 points 1 day ago

Why is he in his undies 😭😭😭

[–] [email protected] 6 points 1 day ago

I would be sad too, if someone broke my PC and smashed my home.

[–] [email protected] 7 points 1 day ago (1 children)

Is he giving himself cigarette burns?

[–] [email protected] 3 points 1 day ago

Wow that's subtle. Good catch

[–] [email protected] 7 points 1 day ago

Sure feels like that sometimes, LOL

[–] [email protected] 5 points 1 day ago

Every single day

[–] [email protected] 3 points 1 day ago
if ([]){
   // I miss common Lisp's detection of empty
}