5 ms·
If "good code" == "useful code", then yes. People forget that good engineering isn't "the strongest bridge", but the cheapest bridge that just barely won't fai
by xnx 7mo ago
If "good code" == "useful code", then yes.
People forget that good engineering isn't "the strongest bridge", but the cheapest bridge that just barely won't fail under conditions.
- siriusastrebe 7mo agoWhat would happen if we made bridges to last as long as possible, to withstand natural disasters and require minimal maintenance? What if we built things that are meant to last? Would the world be better for it?
- recursive 7mo agoDevil's advocate here. Maybe we'd all forget how to build bridges in the next thousand years, after bridging all the bridg-able spans.
- DeathArrow 7mo agoWhat if instead of one bridge we build three, so more people can cross the river?
- siriusastrebe 7mo agoAnd if your one bridge survived as long as, or longer than three bridges?
- pixl97 7mo agoThen you still have traffic issues and no one is happy.
- fiedzia 7mo ago> What if we built things that are meant to last? Would the world be better for it? You'd have a better bridge, at the expense of other things, like hospitals or roads. If people choose good-enough bridges, that shows there is something else they value more.
- siriusastrebe 7mo agoOnce the good-enough bridge deteriorates and we have to spend more money maintaining or replacing it Don't we end up just spending the same? Just now we're left with a crappy bridge.
- nisegami 7mo agoBut we also got roads and hospitals.
- pixl97 7mo agoDepends how much the infrastructure and needs around it changes.
- cm11 7mo agoCertainly, "enough" is doing a lot of work and things get blurry, but I think "good enough" is meant to capture some of that. Over building is also a problem. It isn't strictly true that building longer lived things is cheaper over time either, it obviously depends on the specific things getting compared. And if you go 100 years rather than 25 years, you'll have fewer chances to adjust and optimize for changes to the context, new technology, changing goals, or more efficient (including cost saving) methods. Obviously, there's a way to do both poorly too. We can make expensive things that don't last. I think a large chunk of gripes about things that don't last are really about (1) not getting the upside of the tradeoff, cheaper (in both senses) more flexible solutions, and (2) just getting bad quality period.
- Ekaros 7mo agoIt might very well be that building and maintaining a bridge for 100 years costs three or four times as much as building and maintaining one that last 50 years. If demolition costs are not same as cost of bridge well in long run replacing the bridge ever 50 years is cheaper. On whole it is entirely reasonable optimisation problem. What is the best lifespan of single bridge over desired total lifespan.
- SchemaLoad 7mo ago"Good enough" bridges still last 50+ years. We could design a bridge to last 200 years but we won't even know if the design we have today will even be needed in 200 years. Maybe by then we all use trains in underground tunnels.
- GarnetFloride 7mo agoLook up Roman concrete. There are 2000 year old bridges and aqueducts still in use. We only recently figured out how to reproduce Roman concrete. We’d have more but a lot were blown up during WWII.
- bombela 7mo agoThere is nothing special about roman concrete compared to moderns concrete. Modern concrete is much better The difference is that they didn't have rebar. And so they built gravity stable structures. Heavy and costly as fuck. A modern steel and concrete structure is much lighter and much cheaper to produce. It does mean a nodern structure doesn't last as long but also the roman stuff we see is what survived the test of time, not what crumbled.
- darkwater 7mo agoWe have modern architecture crumbling already less than 100 years after it has been built. I know engineering is about tradeoffs but we should also acknowledge that, as a society, we are so much used to put direct economic cost as the main and sometimes only metric.
- bluGill 7mo agoYou would be very unhappy if you had to live in a house as built 100 years ago. Back then electric lights were rare. even if you had them the wiring wasn't up to running modern life. my house is only 50 years old and it shows signs of the major remodel 30 years ago, and there are still a lot of things that a newer house would all do different that I sometimes miss.
- GarnetFloride 7mo agoI've lived in a 100 year old house and and in a brand new house, they both had issues. That also both had advantages too. Oddly the older house had a better designed kitchen. Our lives change over time and our housing has to adjust to that too.
- blast 7mo ago> the cheapest bridge that just barely won't fail That can't be right? What about safety factors
- StevenWaterman 7mo agoSafety factors exist because without them, bridges fall down
- irishcoffee 7mo agoThat isn't how safety factors work... The person you're responding to is correct. I encourage you to look it up!
- StevenWaterman 7mo agoSafety factors account for uncertainty. Uncertainty the quality of materials, of workmanship, of unaccounted-for sources of error. Uncertainty in whether the maximum load in the spec will actually be followed. Without a safety factor, that uncertainty means that, some of the time, some of your bridge will fall down
- irishcoffee 7mo agoA safety factor of 1.0 means “the structural integrity of this construct will meet the expectations of intended use with no issues.” A safety factor of 1.7 means “if this construct is used in a way that is 70% more abusive than anticipated, the structural integrity should remain in tact.” You’re hand-waving enough here that you have the luxury of agreeing or disagreeing with me, well-played. Your initial response was glib and not terribly productive.
- StevenWaterman 7mo agoThis thread started because of "the cheapest bridge that just barely won't fail" My point was that safety factors are a part of this. A safety factor of 1.0, designing bridges so that they can perfectly withstand the expectations of intended use, means that some unacceptable % of those bridges will fall down in practice. In other words, it's true that you can explain safety factors as: > Assuming perfect construction, and no defects, under designed maximum load, make sure that this bridge really stays up by a wide margin But that misses the point of why we use safety factors. Nobody is paying for a bridge to really stay up by a wide margin. Because there's no material difference between a bridge that stays up, and a bridge that really stays up, right up until the point that the weaker one falls down due to inevitable over-loading or defects in construction / materials.
- gizmo686 7mo agoEngineers don't build the cheapest bridge that just barely won't fail. They build the cheapest bridge that satisfies thousands of pages of regulatory requirements maintained and enforced by dozens of different government entities. Those regulations range from safety, to aesthetic, to environmental, to economic, to arcane. Left to their own devices, engineers would build the cheapest bridge they could sell that hopefully won't collapse. And no care for the impact on any stakeholder other than the one paying them.
- CodeMage 7mo ago> Left to their own devices, engineers would build the cheapest bridge they could sell that hopefully won't collapse. I don't know any real (i.e. non-software) engineers, but I would love to ask them whether what you said is true. For years now, I've been convinced that we should've stuck with calling ourselves "software developers", rather than trying to crib the respectability of engineering without understanding what makes that discipline respectable. Our toxic little industry would benefit a lot from looking at other fields, like medicine, and taking steps to become more responsible for the outcomes of our work.
- chuckadams 7mo agoCivil engineers are licensed and carry insurance. When software developers have similar requirements, then I'll call them engineers. In some fields like avionics, the certification regime is a good proxy for licensing -- I think we could extend the "engineer" title to those developers too. Such a world still has room for unlicensed developers too -- I'd certainly be among them.
- CodeMage 7mo ago> Such a world still has room for unlicensed developers too -- I'd certainly be among them. Sign me up. When I started programming as a 7 year old kid, it wasn't because I dreamed of spending my days on endless meetings and documents. But hey, 40 years later, I'm working as a senior "engineer" and with that comes a heavy emphasis on project management. Sure, you're expected to know how to solve interesting technical challenges, but that's more of a nice-to-have. It's nowhere near important as being able to make a project look successful despite the fact that the middle management convinced the senior "leadership" to do that project out of sheer ambition and without bringing on board the people who actually talk to the users, so now you're stuck without clear requirements, without a clear way to measure success, and with accumulating tech debt gumming up the works while your boss works with various "stakeholders" to "pivot" over and over so he doesn't have to go to the senior leadership to explain why we're delaying launch again. And what I'm describing is one of the best places I've ever worked at across more than 25 years of my professional career. Hell, I'm lucky that senior "engineer" is what they call a "terminal" position here, i.e. I'm allowed to settle in it without having to work towards a promotion. From what I've been told, there are places where you have to get to be a staff engineer or they'll eventually let you go. I don't know about anyone else, but I find the whole situation fucking insane.
- bitwize 7mo agoUm, ackshually, real civil/structural engineers—at least, those in the global north—design bridges, roads, and buildings with huge tolerances (multiple times the expected loads) because unexpected shit happens and you don't want to suffer catastrophic failure when conditions are just outside of your typical use case and have a Tacoma Narrows Bridge type situation on your hands.
- kube-system 7mo agoWe might be arguing semantics, but safety margins aren't considered 'overbuilding' but part of the bare minimum requirements for a bridge to stand. They aren't there "just in case" they are there because it is known for a fact that bridges in the real world will experience degradation and overloading. If you build a bridge that is rated to carry 100k lbs of weight, and you build it to hold 100k lbs, you didn't build it to barely meet spec -- you under built it -- because overloading is a known condition that does happen to bridges.
- nzeid 7mo agoI'd describe that as passable engineering. Good engineering is building the strongest bridge within budget and time.