Live data from Hacker News

Software Disenchantment (2018)

tonsky.me

31–40 of 504 posts

Re: Software Disenchantment (2018)

#31
See also: in Good times create weak men [0], the author explains his interpretation as to why. I can't summarize it well. It's centered around a Jonathan Blow talk [1] Preventing the collapse of civilization.

[0] https://tonsky.me/blog/good-times-weak-men/

[1] https://www.youtube.com/watch?v=pW-SOdj4Kkk

Re: Software Disenchantment (2018)

#32
I think people who recognise this have generally been developing from the days where computing resources were scarce (or on mediums now where they need to be efficient). It was a necessecity to implement efficient techniques instead of a nice to have. Nowadays those restrictions have been lifted for the most part.

In this day of "Agile" development, as long as something's working during UAT, that's all that's needed for sales and consumers.

Webdev, IME, is an example where the ecosystem has facilitated bloated websites. I've worked with developers who throw any library they can just for basic things because they don't have a need to try to optimise. The meme of using jQuery for everything when it came out has just been replaced by other frameworks. I find it often depends on developers who really want to work on something and take pride in it vs those who just need something on their CV or got hired by following a few tutorials on the web but not understanding what they wrote (which, to me, signifies a hiring problem in the company). During code reviews, I encourage leads to keep calling up hacky code to a point where the developer will just start writing it properly the first time round. As developers, I feel we should be aware of not creating selfish software which hogs memory from other software or requires huge data downloads for mobile users (whenever doable). Possibly a naive ideal but if it's a byproduct of developing fast software for my end users, I think that's a win-win.

Re: Software Disenchantment (2018)

#33
post #28

I'm so weary of this moral panic we've been having. There are so many other factors to be weighed against efficiency when it comes to making software. There are completely legitimate tradeoffs to be made that sacrifice performance. There are also programmers who write bad code on all dimensions - performance included - out of sheer laziness. But those aren't the primary cause of this hardware "waste". Demanding effic…

Yeah, I really dislike the black and white thinking. The python script example the author gives is a perfect example of what doesn’t need to be made any faster. If you are interested only in execution time, you might as well never write anything in native python.

But on the other hand, a lot of web content does need to be faster. Gmail has somehow gotten so much slower to load over time. And every time I visit a newspaper/magazine website I am aghast at how bloated they are. Does that mean nodejs is inherently bad, no, but it does mean people should try to optimize noticeably terrible performance that actually degrades UX.

Re: Software Disenchantment (2018)

#34
> Jonathan Blow has a language he alone develops for his game that can compile 500k lines per second on his laptop. That’s cold compile, no intermediate caching, no incremental builds. You don’t have to be a genius to write fast programs.

The guy is most definitely at least a genius.

Re: Software Disenchantment (2018)

#35
One thing nobody seems to mention is the environmental cost of inefficient software. All those wasted CPU cycles consume electricity. A single laptop or phone on it's own is insignificant, but there are billions of them. Combine that with the energy wasted shovelling unnecessary crap around the internet, and it adds up to a big CO2 problem that nobody talks about.

Re: Software Disenchantment (2018)

#37
post #10

Everyone is so angry. Isn't this the the world of ubiquitous code and unlimited resources we wanted? Not everything needs to be super efficient. Most things are tuned for production cost and time. Efficient code isn't going anywhere. Relax guys.

I'll relax when I can get through the day without fighting some idiotic organizations excuse for a web form or attention hogging pop ups or, god help me, what else?! We shouldn't have to put up with all this shit. That's the point.

Excellent. What, then, are you doing to make sure this shit doesn't happen?

Are you willing to pay $20 for a phone app, instead of fishing for the free version? Are you willing to pay for websites to get rid of ads? Are you willing to pay $300 for a new OS?

Alternatively, are you willing to ditch capitalism for a system that prioritizes the commons?

It's us. We are creating the incentives for a world that produces this. Unless we change that world, this is what we'll get.

Re: Software Disenchantment (2018)

#38
post #37

Earlier quoted context omitted.

I'll relax when I can get through the day without fighting some idiotic organizations excuse for a web form or attention hogging pop ups or, god help me, what else?! We shouldn't have to put up with all this shit. That's the point.

Excellent. What, then, are you doing to make sure this shit doesn't happen? Are you willing to pay $20 for a phone app, instead of fishing for the free version? Are you willing to pay for websites to get rid of ads? Are you willing to pay $300 for a new OS? Alternatively, are you willing to ditch capitalism for a system that prioritizes the commons? It's us. We are creating the incentives for a world that produces th…

I'd like it if my phone let me install my own software. That would be a pretty big step for me personally. But I'm still stuck on iOS for now.

Re: Software Disenchantment (2018)

#39
post #8

I agree it's all slower and sucks. But I don't think it's solely a technical problem. 1/ What didn't seem to get mentioned was the speed to market. It's far worse to build the right thing no one wants, than to build the crappy thing that some people want a lot. As a result, it makes sense for people to leverage electron--but it has consequences for users down the line. 2/ Because we deal with orders of magnitude with…

Most developers I have known want to work on the new great new thing. They don't want to spend a great deal of time on the project either. Forget about them wanting to dedicate time to software maintenance. Not sexy enough.

Re: Software Disenchantment (2018)

#40
post #28

I'm so weary of this moral panic we've been having. There are so many other factors to be weighed against efficiency when it comes to making software. There are completely legitimate tradeoffs to be made that sacrifice performance. There are also programmers who write bad code on all dimensions - performance included - out of sheer laziness. But those aren't the primary cause of this hardware "waste". Demanding effic…

Yeah, I really dislike the black and white thinking. The python script example the author gives is a perfect example of what doesn’t need to be made any faster. If you are interested only in execution time, you might as well never write anything in native python. But on the other hand, a lot of web content does need to be faster. Gmail has somehow gotten so much slower to load over time. And every time I visit a news…

Sure. But even that probably has more to do with businesses prioritizing features over quality, not programmers lacking character.

Much of it on the web also has to do with how much browsers can do. The number of CSS properties that can be applied, the ways different elements' sizes can automatically influence the layout of other elements, etc. These traits are what make the web such a powerful and attractive platform for user interfaces, but the complexity of the platform is definitely becoming a real issue that deserves attention.

A couple of points:

- NodeJS is server-only and usually has nothing to do with perceived performance of web apps

- The biggest offender of web performance is ads. They dump piles and piles of crappy JavaScript from dozens of different sources that all include their own copies of common libraries and have no incentive not to slow down the page.

- Beyond ads, the bottleneck is usually not even JavaScript, but layout (as in the paragraph above). Web layout is incredibly flexible and incredibly complex. Computing and rendering it all is slow, but it does serve a purpose. Not that it couldn't be improved.

Bad ads are a tragedy of the commons and I don't know what can be done about them unless Google or Facebook decided to throw their weight around to force them to be better.

I do wonder if a new web standard could be developed for using some constrained subset of the layout vocabulary, that would be cheaper and more straightforward to compute. The current version has to remain for backwards compatibility reasons, but it's trying to serve a bunch of different types of cases at once, and therefore doesn't do a great job at any one of them.

Post reply on HN