Live data from Hacker News

Software design gets worse before it gets better

tidyfirst.substack.com

111–120 of 145 posts

Re: Software design gets worse before it gets better

#111
post #71

Earlier quoted context omitted.

It seems the other way around: x11 got worse and worse, then wayland happened (wayland core).

In what way did X11 get worse and worse? It's one of the most stable protocols in use - outliving HTTP, IIRC. It didn't change - our expectations did. Sure, there are incremental improvements to be made, and incremental improvements that have been made, all of which are optional and therefore couldn't have made it worse.

x11 is absurdely gigantic and dirty compared to core wayland.

We can implement an alternative of a real-life wayland compositor reasonably. A real-life alternative xserver+window manager is not on the same order of magnitude in terms of work.

That reason alone is enough, but if you dig a bit deeper you'll find more reasons to drop x11: you don't need external libs, code is static, x11 bazillion of libs is an abomination of ABIs, much better emphasis on interfaces being optional, etc. For us, wayland is not planned obsolescence, we mean core wayland from a few years ago. We am expecting sabotage by toxic people pouring tons of interfaces in "core" (like they are doing for vulkan3D sabotage... and what they did for x11).

We am still running native x11, only because we run the steam client and only because of that (like 32bits support code).

We are expected to write our own wayland compositor (linux dmabuf, plain and simple C99), then we will have to suffer xwayland for the sake of that horrible steam client, because we have a sin: we play native (#noproton) elf/linux games.

Re: Software design gets worse before it gets better

#112
post #47

Earlier quoted context omitted.

Because Wayland is worse than X11. Unfortunately, it is true that sometimes after your software design gets worse it gets better, but other times after it gets worse it gets worse. It's not correct to assume that something will get better just because it is currently worse.

Wayland went for minmalism because one can always add things later. Unfortunately, making additions in a multi-desktop environment turned out to be kinda difficult. In a way, the quality of the design (and implementation) is fine, but the quantity of features is insufficient and limited by social issues. It's basically the opposite problem of systemd.

wayland annoys the toxic people, because it is currently favoring easy alternative implementations.

It won't last, probably.

Those toxic people usually always get their way into "core", pouring tons and tons of interfaces and dirty everything, viciously adding "features" to provoke some level of planned obsolescences over some few years cycles.

Pure evil.

Re: Software design gets worse before it gets better

#114
post #104

Earlier quoted context omitted.

At a business, all of these - a good engineer/architect has to find the right balance.

Different engineers can have different interpretations of "right balance" -- and many of them may be correct. Which makes "better" again ambiguous.

Ambiguous only in the sense that it doesn’t always mean exactly the same. The direction of better on a graph is always in the same direction though, even if the point isn’t at the same x,y coordinate.

Re: Software design gets worse before it gets better

#115
post #110
post #104

Earlier quoted context omitted.

Different engineers can have different interpretations of "right balance" -- and many of them may be correct. Which makes "better" again ambiguous.

I think this is actually addressed in the article: > The key question for the designer is, “What would the system’s structure need to be so that would be no harder to implement than necessary?” (It’s a bit surprising when designers don’t ask this question, instead simply asking, “What should the design look like?”—for what purpose?) During my career, I have been in many situations where the SW architects tried to ans…

I have concluded that smaller is better and straightforward is better. I think it’s easier to scale up a small system than to maintain a complex system that was built for scale from the ground up but usually got some things wrong because the requirements at the time weren’t clear.

But in the end there is never a clear answer. I am happy when people can explain what the positives and also the drawbacks of a design are. Pointing at “best practice” without explaining pros and cons is usually a big red flag.

Re: Software design gets worse before it gets better

#116

Earlier quoted context omitted.

Wayland went for minmalism because one can always add things later. Unfortunately, making additions in a multi-desktop environment turned out to be kinda difficult. In a way, the quality of the design (and implementation) is fine, but the quantity of features is insufficient and limited by social issues. It's basically the opposite problem of systemd.

wayland annoys the toxic people, because it is currently favoring easy alternative implementations. It won't last, probably. Those toxic people usually always get their way into "core", pouring tons and tons of interfaces and dirty everything, viciously adding "features" to provoke some level of planned obsolescences over some few years cycles. Pure evil.

I'm not sure who you are being sarcastic about in the end, but yes, Wayland is indeed clean and simple enough to not particularly discourage alternative implementations.

Re: Software design gets worse before it gets better

#117

What is "better software" though? On one hand you have guys like the OpenBSD team that work on Mostly Boring Things and making serious inroads at improving software quality of Mostly Boring Components that power the hidden bits of the Internet that go relatively unnoticed. On the other hand, you have "improvements" from Apple and everyone else that involve an ever-changing shell game of moving around UI widgets perpe…

> I've been around since the beginnings of the WWW Ditto. > I haven't gotten stupider; the software has become more difficult to use. I can't speak for you, but I'm becoming less interested in new shiny in a lot of things beyond UI widgets. There's a reason why we olds have a reputation of falling behind, and it's not because engineers and inventors explicitly make things that only young people can learn.

it's not because engineers and inventors explicitly make things that only young people can learn

Are you sure? Replace "young" with "inexperienced" and that's exactly what I see in most new software: the focus is on the broadest userbase possible, which is entry-level products and UIs. Nobody's focusing on making expert tooling, everything is geared towards the lowest common denominator -- because supposedly that's where the money is.

Re: Software design gets worse before it gets better

#119

Earlier quoted context omitted.

And on the flip side, a sufficient abundance of resources and/or lack of predators mean non-optimal species can procreate, and thus find other local optima.

In terms of evolution, the fitness of a species is defined by its ability to reproduce. In the circumstances you describe, selection pressure exists for the species that can reproduce the fastest. Predators or resource constraints are not a requirement for evolution.

> In the circumstances you describe, selection pressure exists for the species that can reproduce the fastest.

My point was there's no pressure without constraints. A faster-reproducing species will only apply a pressure if starts exhausting a resource or similar.

Re: Software design gets worse before it gets better

#120

Earlier quoted context omitted.

I've gotten two raises in my entire tech career for actually staying at a company, and at one of them I was laid off six months later anyway. At this point any company that doesn't want me to eventually job hop will need to have an advancement structure laid out from day 1.

A good dev I worked with was promoted to senior, due to a vacancy. They were an improvement on the decent abilities of the person who left. The CTO confided in me one day, around six months to a year after the promotion, that the dev deserved a fat salary raise because they were doing well with their new responsibilities -- but the CTO was worried that promoted dev would expect that kind of pay raise again in the fut…

I think about this mismatch quite often and the pay issue is sometimes debated well on HN. Mostly it is people complaining about fair wages like /r/antiwork.

I wish we had a balanced discussion from both sides (Company founder/owners and employees). The issue is complex and outliers are often used as status quo.

Post reply on HN