this post was submitted on 12 May 2024
20 points (95.5% liked)

Programmer Humor

32508 readers
666 users here now

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

Rules:

founded 5 years ago
MODERATORS
 
top 18 comments
sorted by: hot top controversial new old
[–] Emma_Gold_Man@lemmy.dbzer0.com 4 points 6 months ago

That wasn't luck - it was best practice backup strategy.

[–] eletes@sh.itjust.works 3 points 6 months ago (3 children)

Holy fuck whoever was in charge of setting up that disaster recovery needs a million dollar bonus. I get that they're managing $80B and this should all be standard but people usually don't listen to IT and take DR seriously. And even if you do set it up, are you going back to check that your backups are functioning properly and have alarms for when it messes up

[–] TechNerdWizard42@lemmy.world 3 points 6 months ago

Absolutely.

But something tells me they will at most get a recognition award printed from MSWord and a pizza party day at their local office.

[–] Tryptaminev@lemm.ee 3 points 6 months ago

Friendly reminder to every CEO that this could have been a situation where a disgruntled employee accidentally fucks up the off site backup too.

[–] UxyIVrljPeRl@lemmy.world 1 points 6 months ago (1 children)

Time to update my off site cold backup(private)

[–] UnRelatedBurner@sh.itjust.works 1 points 6 months ago

can I get a copy if I ask very nicely?

[–] prof@infosec.pub 2 points 6 months ago (2 children)

Meme is funny, but that exception used as flow control hurts.

[–] snekmuffin@lemmy.dbzer0.com 2 points 6 months ago (2 children)

Tbf python guidelines encourage it over if/else in cases like this. "Easier to ask for forgiveness than for permission" or something along the lines

[–] lseif@sopuli.xyz 3 points 6 months ago (1 children)
[–] snekmuffin@lemmy.dbzer0.com 1 points 6 months ago

Truers, just mentioning it

[–] bjornsno@lemm.ee 2 points 6 months ago (3 children)

Day 598 of asking for a way to tell which functions throw exceptions in Python so I can know when to wrap in try catch. Seems to me that every other language has this, but when I've asked for at least a linter that can tell me I'm calling a function that throws, the general answer has been "why would you want that?"

How am I supposed to ask for forgiveness if it's impossible to know that I'm doing something risky in the first place?

[–] sqw@lemmy.sdf.org 1 points 6 months ago

cant practically anything throw an exception given the right (sometimes extremely remotely possible) circumstances?

[–] ScreaminOctopus@sh.itjust.works 1 points 6 months ago

Yeah, for this reason I would pretty much never encourage exceptions in Python over some other form of error handling. It's so frustrating when called code throws some random exceptions that are completely undocumented. This is one of the few things Java got (sort of) right

[–] crispy_kilt@feddit.de 0 points 6 months ago (1 children)
[–] bjornsno@lemm.ee 1 points 6 months ago (1 children)

Respectfully, no. Rust is great for some things and Python is great for other things. Switching to rust is not a solution to missing exception linting in another language.

[–] crispy_kilt@feddit.de 1 points 6 months ago

Check it out anyways

[–] wizardbeard@lemmy.dbzer0.com 0 points 6 months ago (1 children)

Still hurts, but sometimes it's the only option.

If you're trying to confirm things like account existence/deletion, there's often no "account exists" function to return true or false. You just have to figure out the specific exception thrown and catch that specific one.

The worst are libraries that don't give specific exceptions, so you have to catch all exceptions then do extra work to tell what the specific situation is. Does the account not exist, or is the system unreachable?

[–] prof@infosec.pub 1 points 6 months ago

Yeah, I had a similar case with some authentication middleware I used that was part of a library.

It would always throw an exception when a user wasn't authenticated instead of just giving me some flag I could check.

Wouldn't have done it that way, but it was okay for an API controller.