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
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
If a TODO passes code review, more than one person fucked up.
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.
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.
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.
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
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!"
A lot of IDEs would probably throw a warning about unreachable code.
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.
implying that any developer actually reads warnings
most of my (rust) projects have zero (or maybe 1-2) warnings, unless I'm in the middle of working on a feature
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*.
🤢 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.
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.
That's when you add #![deny(bad_code)], making sure that nobody notices.
Guess what? Flight Software usually uses ancient proprietary compilers for specialized hardware running an RTOS, rip 😢
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?!
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,
I did the same thing with "DO NOT MERGE" back in the day. Saved some people who didn't even know about the check.
Dude looks like Hank and Dale had a baby.
Isn't this pretty much what happened with the LIDAR on the most recent commercial moon lander?
Yes but it was a physical switch
B-b-but it clearly says right there in the todo, that's good enough, r-r-right?!
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.
That requires someone to look at that section in the IDE. If it doesn't block the merge, it doesn't do shit.
If anyone is interested there is a wonderful walk about one of the apollo flight computers
Anyone know the artist? Saw another one by them a couple days ago about brute force protection.
They still have those control desks in modern missions?
For NASA, similar desk layout, but it does look more modernized.
https://images-assets.nasa.gov/image/KSC-20181107-PH_BOE01_0002/KSC-20181107-PH_BOE01_0002~large.jpg
On the one hand: kind of sad since this isn't too far removed from some workplaces. The hardware and furniture could be sourced from any number of places.
On the other: hot damn. We can get the same kit NASA uses at home. Welcome to the future.
top 50 comments