this post was submitted on 25 Feb 2024
968 points (98.2% liked)

Programmer Humor

32214 readers
22 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 269 points 7 months ago* (last edited 7 months ago) (5 children)

They did it once by mixing meters and feets, and crashed the Mars lander.

Edit: looked it up, wasn't actually meters vs feet, but newton-seconds vs some American eagles per gun unit for force

[–] [email protected] 75 points 7 months ago (2 children)

It's guns per eagle, get it right. What would eagles per gun even be?

[–] Tier1BuildABear 27 points 7 months ago (1 children)

A gun that shoots eagles, obviously

load more comments (1 replies)
[–] blazeknave 14 points 7 months ago (1 children)
[–] infinitepcg 29 points 7 months ago (1 children)

it happened again with the Intuitive Machines lander that landed on the moon last week

[–] pennomi 52 points 7 months ago (2 children)

The Intuitive Machines lander issue was that no one disarmed the safety switch on the laser guidance system. (No, really!) Luckily NASA had a backup system installed that ended up working better anyway.

[–] infinitepcg 27 points 7 months ago* (last edited 7 months ago)

Pretty much the hardware version of && false

[–] [email protected] 13 points 7 months ago

that ended up working better anyway

Not sure if it ended up working better, as it landed with nonzero horizontal velocity. Though I suppose we'll never know how well the original system would have performed...

[–] c0mbatbag3l 21 points 7 months ago (1 children)

Pound-seconds, I believe. Good ol' LM giving imperial numbers to NASA.

load more comments (1 replies)
[–] MooseLad 15 points 7 months ago (1 children)

Hopefully, the transition to metric is soon and I can stop reading this same joke every week.

[–] [email protected] 10 points 7 months ago

Technically the US measurement system is metric since the Mendenhall Order of 1893 reestablished all customary units as conversion factors of metric units. In 1933 the ASA redefined the inch to be exactly 25.4mm, following the lead of the British Standards Institution in 1930 (precision was increasingly important for manufacturing, and the previous value of 25.40005mm had become impractical). The international yard and pound were officially adopted by the US National Bereau of Standards (now NIST) in 1959, the Metric Conversion Act was passed in 1975, and finally EO 12770 (1991) required all agencies of the executive branch to transition to metric units.

So, from one point of view we've been transitioning to metric since 1893 and it's still not done. From another, the inch is just a metric unit as its length is officially defined in millimeters (all customary units are now based on SI units), therefore the conversion is complete.

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

it's an orbiter not a lander

[–] [email protected] 38 points 7 months ago (2 children)

It was intended to be an orbiter.

[–] [email protected] 12 points 7 months ago (1 children)
load more comments (1 replies)
load more comments (1 replies)
[–] [email protected] 78 points 7 months ago (7 children)

If a TODO passes code review, more than one person fucked up.

[–] [email protected] 31 points 7 months ago (2 children)

At my first job after university, we did releases every Friday evening. From 3-5pm, all you would see in the Slack channel was a flurry of everyone committing straight to master (with a bunch of merge conflict commits between). Oh and then we'd release. Fun times.

[–] ShadowCatEXE 16 points 7 months ago

A free for all, late Friday deployment is baffling… We’ve got a strict window of Tuesday-Thursday for releases (unless it’s a critical issue), and a 2-3 day merge freeze to help mitigate unexpected changes.

We’ve got a relatively small team with LOTS of moving parts, so minimizing deployment issues is always top of mind.

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

I literally know multi billion dollar B2C startups doing the same. It's got so toxic that the management regularly fires people and to fill their spots, they offer obscene amounts of money just for starter positions.

load more comments (1 replies)
[–] winky9827b 22 points 7 months ago (1 children)

Eh, then you just get those idiots who avoid using TODO: because it makes the code review "harder".

// This is a broken example.
// Note: remove X before doing Y
[–] [email protected] 10 points 7 months ago

That's no longer a technical process issue but more of a teamcoach/HR kind of issue then. You should be able to assume good intentions from colleagues, imho.

load more comments (5 replies)
[–] [email protected] 77 points 7 months ago (2 children)

I feel like modern compilers would turn their nose up at that shit. "Dead code? Ewww! No way I'm letting that into my syntax tree!"

[–] [email protected] 72 points 7 months ago (2 children)

A lot of IDEs would probably throw a warning about unreachable code.

[–] bus_factor 25 points 7 months ago (1 children)

Golang won't even compile with dead code. Unfortunately that's too strict, you just end up commenting out the whole block instead. At least the commented out code is obvious in review, and some automated checks catch it if you have them.

load more comments (1 replies)
[–] Pyroglyph 13 points 7 months ago (1 children)

implying that any developer actually reads warnings

[–] [email protected] 14 points 7 months ago* (last edited 7 months ago) (1 children)

most of my (rust) projects have zero (or maybe 1-2) warnings, unless I'm in the middle of working on a feature

[–] micka190 24 points 7 months ago (7 children)

First thing I do on my projects is enable warnings as errors and increase my warning levels when reasonable.

Unfortunately, the same can't be said on the projects I work on at work. Drives me crazy that we get likes 300+ warnings whenever we run the app and that we can't change it because "they're just warnings*.

[–] Alexstarfire 8 points 7 months ago (1 children)

🤢 Good lord.

Though, I say that as I was basically forced to accept code that was using something marked deprecated because it was unreasonable to refactoring the code in that project. And I know we're never going to change it unless it stops working. 😭 At least I marked it as an issue on the review.

[–] micka190 9 points 7 months ago

Oh yeah, I'm genuinely about to hand-in my resignation as soon as I find another job over this kind of shit. I keep being told that the business is really trying to clean-up its act when it comes to coding practices, but they keep putting some of the most incompetent people I've ever worked with in charge of shit (because they do promotions based on years of experience instead of actual actionable experience). It's awful.

[–] [email protected] 7 points 7 months ago

That's when you add #![deny(bad_code)], making sure that nobody notices.

load more comments (5 replies)
[–] [email protected] 12 points 7 months ago (1 children)

Guess what? Flight Software usually uses ancient proprietary compilers for specialized hardware running an RTOS, rip 😢

[–] [email protected] 6 points 7 months ago (2 children)

Woah woah WOAH WOAH.

So you're saying software for the Artemis landers aren't being built with the latest TypeScript compiler and running on a canary version of v8?!

load more comments (2 replies)
[–] [email protected] 58 points 7 months ago (2 children)

At my workplace, we have a lint rule that reports an error if @nocommit is anywhere in the file, plus a commit hook that blocks all commits with @nocommit anywhere in them. It works well and has saved me a few times.

Works pretty well, except the lint rule and its associated tests have to do something like "@no"+"commit" to avoid triggering it,

[–] bus_factor 15 points 7 months ago

I did the same thing with "DO NOT MERGE" back in the day. Saved some people who didn't even know about the check.

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

In a lot of modern work flows this is incompatible with the development pattern.

For example, at my job we have to roll a test release through CI that we then have to deploy to a test kubernetes cluster. You can't even do that if the build is failing because of linting issues.

[–] [email protected] 10 points 7 months ago* (last edited 7 months ago) (2 children)

The test release shouldn't have anything marked with @nocommit though... The idea is that you use it to mark code that is only temporary local debugging code that should never be committed.

load more comments (2 replies)
[–] EdibleFriend 19 points 7 months ago (3 children)

Dude looks like Hank and Dale had a baby.

[–] [email protected] 10 points 7 months ago
load more comments (2 replies)
[–] [email protected] 16 points 7 months ago (1 children)

Isn't this pretty much what happened with the LIDAR on the most recent commercial moon lander?

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

Yes but it was a physical switch

load more comments (1 replies)
[–] [email protected] 15 points 7 months ago (1 children)

B-b-but it clearly says right there in the todo, that's good enough, r-r-right?!

[–] [email protected] 17 points 7 months ago (8 children)

I mean, my IDE highlights all the TODO's in yellow. I don't know how we could possibly make it any less error prone.

[–] bus_factor 8 points 7 months ago (2 children)

That requires someone to look at that section in the IDE. If it doesn't block the merge, it doesn't do shit.

load more comments (2 replies)
load more comments (7 replies)
[–] RedditWanderer 12 points 7 months ago (1 children)

If anyone is interested there is a wonderful walk about one of the apollo flight computers

load more comments (1 replies)
[–] [email protected] 11 points 7 months ago

This got a lot of compression over less than a couple of hours!

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

Anyone know the artist? Saw another one by them a couple days ago about brute force protection.

[–] [email protected] 9 points 7 months ago* (last edited 7 months ago)

The source is a user on Reddit: https://www.reddit.com/r/ProgrammerHumor/comments/1ayuh4b/comment/krx0p8h/ There are a few more on their profile.

Thanks Google lens

[–] [email protected] 7 points 7 months ago

git blame

Naomi Nagata

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

They still have those control desks in modern missions?

[–] droans 14 points 7 months ago (2 children)
load more comments (2 replies)
load more comments
view more: next ›