Spyke

Syndicated from the fediverse. Read and engage on the original instance.

View original on lemmy.world

44 replies

kautaureply
lemmy.world

Sure, though having gone through an entire monorepo refactoring of like half a million lines to basically destroy the codebase and switch from vue 2 to vue 3 among other things, it’s also possible to build the new, better designed wall right behind the old one, test like hell against that wall, and then shift that wall in when it’s ready in a planned release, ready for the issues that come because that wall isn’t quite like the old wall

36
nebekerreply
programming.dev

This is a dangerous metaphor. Remove the old wall and it turns out the new beautiful wall was leaning against and supported by it.

I get what you mean, it’s just that the metaphor could support both perspectives.

16
Owlreply
mander.xyz

Build the new wall airgapped from the old one

15

Ah, yes: weaponizing cybersecurity requirements to trick - I mean “motivate” - higher management to do things “right.”

1
Shirashoreply
lemmings.world

Making the new wall is not a money generator. You would be insane if you think suits would waste money to rebuild something when it generated minimal to no additional revenue.

5

True, I'm lucky to work for a company that was half founded by engineers who know the cost of compounding technical debt, which is almost never the case.

8

no one has a budget for that

your whole team is fired, we got ‘Bob’ from India handling this now

5

* For a very specific value of "works". Offer is limited in time. No refunds. Warranty doesn't cover damage caused by the elements, presence, or lack of gravity. Other conditions may apply.

13

"It goes almost all the way to the ceiling. I just need you to connect the last layer into the structure, it should be a 15 minutes work, right? I already settled the deadline with your boss. Tanks; bye."

8
sopuli.xyz

I mean, when you look at old walls made of quarry stone, they kinda look like this and still hold.

55

Developer, smacking wall: "This bad boy ain't going nowhere"

User base, rolling up their trebuchets:

16
Otterreply
lemmy.ca

Also brick walls don't really go through iterative changes, which is an important issue with tech debt.

If the wall works, then it works

A software project will work now, but may not hold up when you need to change something

46
rtxnreply
lemmy.world

Well that's not true. I live in a Soviet era house that had an entire second floor built on top of it. We've had to drill through the brick walls to replace the natural gas pipes with pipes that run outside the walls, we've had to dig under the foundation when we got connected to the city's sewer system (again, Soviet-built), and again when the main water pipe burst and threatened to wash out the foundation. If the load-bearing walls had been constructed to the same "it works" standard as the things we've had to fix, we wouldn't have a house anymore.

16

Agreeing with you, just adding to it.

The same thing happens to any old house, not only soviet ones.

In my city most houses are close to 200 years old. That's well before plumbing going into every flat, well before electricity and well before any of the other cool stuff like central heating, internet and so on.

Most of these houses don't even retain the original apartment layout.

Houses are living things that see a lot of change when they get old enough.

9
lemmy.world

You don't ever HAVE to update software though. That's just the way it's usually done now. It's a choice. Usually updates are made to add more features or monetization or whatever but you could just not do that.

If you look at old video games for example those were released and never updated again. They will still work today too.

12

add more features or monetization or whatever

That "whatever" is doing a lot of work.

Security patches and bug fixes are arguably the most important reason to update.

14
feddit.org

If your a business and the majority of your business customers updates from win 11 to win 12 than you have to update to support win 12 to, to keep the revenue stream running.

6

My thought as well, but those stones were shaped to match each other, reducing the amount of grout needed. It just goes to show the old ways still work, but you have to commit.

8
lemmy.dbzer0.com

With the difference that code actually is easily changeable, if you need to change a wall you actually need to tear it down, get rid of the waste, likely tear everything down that was supported by it, and completely rebuild it with new materials.

If you need to change the foundations of your code, yes, it's not always super easy, but it is actually possible and I've done it before without super big headaches.

It's just not comparable.

-1

It absolutely is, you can partially tear down even a load bearing wall but it's expensive, difficult, and should have been avoided from the start.

Kind of like building a whole infrastructure on spaghetti code.

5
lemmy.pt

Geez, it's like coders are only happy when bashing other people's codes...

What do coders say when they're tasked with continuing some other coder's task? "This is all wrong".

-2

I've rewritten much of my code as needs changed, I call myself an idiot a lot since I've worked on this program nearly a decade and was my first professional software so often change old code I wrote. Though it was more additional at first since I used a lot of code the lead programmer did. Though he duplicated everything as needed for a tiny change ugh. Least I know how not to do it.

5

You reached the end