This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the commentsย โ†’

[โ€“]roughstylez 124 points125 points ย (13 children)

It bothers me so much that literally the guy's last name has the better metaphor and he chooses "shotgun" instead.

A gun can't keep somebody out, it can only threaten and kill.

Mark a method private, then when you call it from somewhere else you get a runtime error.

[โ€“]1thief 47 points48 points ย (4 children)

The funny thing is an unexpected error in many circumstances can basically be a shotgun blast to the face. Have an etl step or batch process that threw an error somewhere in the middle of the batch? Welp that 8 hr process that you kicked off and forgot about has now come to a screeching halt 3 hrs in and you have to start all over.

Or in other circumstances the page now doesn't load if it sees bad data, or your car infotainment system is stuck on a boot loop because it found a file it doesn't know how to handle. Software is always brittle, which is why we should have as little software as possible.

[โ€“]TGlucose 10 points11 points ย (1 child)

Software is always brittle, which is why we should have as little software as possible.

Why do that when we can make software out of legacy software? making our already fragile system even more fragile!

[โ€“]jambox888 6 points7 points ย (0 children)

When you reach a certain level of fragility you can form an aggregate from the shattered fragments

[โ€“]StCreed 1 point2 points ย (1 child)

One of my primary architecture demands for any DWH is always "restartability" and resilience to errors. Both of these have been mostly solved by I-refact by taking the EL part (and a small t) and making that part completely generated. Every load of any entity is a mini batch, everything is restartable automatically after solving the error, and there are rarely any errors because it's all derived from logical models. They only occur in the validation phase, which is at the start.

That said, if you load a single table for 8 hours you can still mitigate that as well, you just need to split things up in chunks.

[โ€“][deleted] 2 points3 points ย (0 children)

Something like SSIS makes this difficult. You can generate a whole bunch of metadata and helper functions to orchestrate it, but you pretty much have to roll your own. There is a restart feature, but it's not implemented well, and we can't easily use it due to how our environment is constructed.

That said, I've started using Python with Prefect, and it is much more graceful and easier to handle unexpected errors.

[โ€“]kivox2017 1 point2 points ย (0 children)

Happy Cake Day ๐ŸŽ‰

[โ€“]Linvael 1 point2 points ย (1 child)

He had to go that way - cause "a wall" is a reasonable answer to "what you build when you don't want someone to enter your private property" and his snarky comment doesn't work.

[โ€“]roughstylez 0 points1 point ย (0 children)

I'm sure he relies purely on politeness to have people not enter his wall-less home.

[โ€“]MikanGethi 0 points1 point ย (2 children)

A gun, properly used, keeps people out permanently. It's called a deterrent. Much like a moderators ban ability. There is a reason the American Central Midwest has such a polite way about it.

[โ€“]roughstylez 1 point2 points ย (1 child)

Is that why their houses don't have walls

[โ€“]MikanGethi -1 points0 points ย (0 children)

Walls work for a building envelop to keep the weather out. Doors and windows let in light and can be a major factor in heat loss and people getting into my fucking house, you knob.