Live data from Hacker News

Software Disenchantment (2018)

tonsky.me

341–350 of 504 posts

Re: Software Disenchantment (2018)

#341
post #62

> You’ve probably heard this mantra: “Programmer time is more expensive than computer time.” What it means basically is that we’re wasting computers at an unprecedented scale. Would you buy a car if it eats 100 liters per 100 kilometers? How about 1000 liters? With computers, we do that all the time. The argument is incomplete. The correct question (to maintain the analogy) is: "Would you buy a car if it eats 1000 li…

I work in a support center. We have a web-based ticketing system. Every ~5 minutes, the ticketing system goes down for ~2.5 minutes. Nobody seems to care. It makes me want to chuck my mouse every time.

Re: Software Disenchantment (2018)

#342

Can someone from the quant/HFT world comment on whether these kinds of problems exist in that sector as well? Somehow I imagine that the fierce competitiveness of trading would force people to write better software, but that’s just a theory.

It depends what you mean by better. Obviously, real-time trading systems are going to be optimized to reduce latency, since it directly correlates with profits. One way to do that is to completely bypass certain abstraction layers, use polling instead of events, do more stuff in userland, tune kernels, and so on. This works, but you end up with a really bespoke system that is not particularly elegant.

But you don't have to go to those extremes to have good software performance.

Re: Software Disenchantment (2018)

#343

Earlier quoted context omitted.

Why were you using EDGE if there’s dense 4G coverage in Rome ?

Replace Rome with the German countryside and you'll still just have EDGE. Sites like Hacker News or https://i.reddit.com are still perfectly usable. In contrast to the 'modern' Reddit UI that that takes a couple of seconds to load even on my home WiFi.

> In contrast to the 'modern' Reddit UI that that takes a couple of seconds to load even on my home WiFi.

On my phone it takes about 4-5 seconds to load even on Gbit WiFi. It's so bad I have a conspiracy theory that the pulsing Reddit orb is just on a timer and it's not actually loading anything. More likely it's just horrifically unoptimized I suppose.

Re: Software Disenchantment (2018)

#344

Earlier quoted context omitted.

> Even worse, try using an OS running in a VM for an extended period of time... I do that for most of my hobbyist Linux dev work. It's fine. It can do 4k and everything. It's surely not optimal but it's better than managing dual boot.

Any hints? How are you getting any kind of graphics acceleration? What's your host/guest/hypervisor setup?

I do this the other way around, Ubuntu host and a KVM virtual machine controlled by virt-manager with PCIe passthrough for its own GPU and NVMe boot drive. I enjoy Linux too much for daily use (and rely on it for bulk storage with internal drives mergerfs fused together and backed up with snapraid), but I do a lot of photography and media work so I also rely on Windows. This way, I can use a KVM frame relay like looking-glass to get a latency free almost native performance windows VM inside a Ubuntu host, without the need to dual boot (but since the NVMe drive is just windows, I can always boot into windows if I please)

Re: Software Disenchantment (2018)

#345
Sounds like he wants software to contain AGI, such that it can work out which version of a document you want to keep, and fix it's own errors.

Honestly things were way more sucky years ago. Your Windows computer crashing was just normal in the 90's. Rebooting and reinstalling par for the course. Getting Linux to install with drivers working seemed impossible unless you carefully chose hardware.

Re: Software Disenchantment (2018)

#346

I agree with the author on every point except: >That is not engineering. That’s just lazy programming I don't believe that developers/programmers are all lazy. There are a lot that want to do a good job optimizing their code and making sure it performs well and is future proof as much as possible. I believe that budget limits and pressure from deadlines set by non-technical people forces even the good programmers to…

I believe fully in cutting corners when you know they are being cut. It’s when you are unaware you are cutting corners that you end up with a seriously unrecoverable system.

Re: Software Disenchantment (2018)

#347

To put a finer point on it, software today is absolute garbage. I've been screaming about this for decades. All of this bloated 'shitware' today is the result of it having been written by people who a) have no deeper understanding of what the computer is actually doing; also known as typical Python/Java/etc/etc/etc programmers, and/or b) simply not giving a damn about conservation of resources--as further evidenced b…

Did you notice the subtle contradiction in your post?

> they're more about the foundations of our entire Western 'civilization.'

> talentless 'developers'

It's not talentless developers, it's the foundations of civilization. Capitalism, chasing the $ not the writing of beautiful software. If an Electron app makes me more money (e.g. by getting to market quicker) than a well crafted native app, then the Electron app will be built. See also building construction and why we end up with 60m^2 poorly constructed but funky looking apartments - who to blame. The concrete pourers? The architect? I don't think it is that simple.

Re: Software Disenchantment (2018)

#348

An unpopular but effective short-term solution: Developers ought to use five year old hardware for development and testing tasks. FWIW, my work laptop and mobile phone are both 2015 models and I feel they're completely adequate for running all the software I've written.

Try developing a react application built for IE11. That thing will fly if you ever run it in Chrome or FF (or even Edge)

Re: Software Disenchantment (2018)

#349
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…

The stuff I write I don't think is that bloated, but like most things these days the stuff I write pulls in a bunch of dependencies which in turn pulls in their own dependencies. The result, pretty bloated software.

Writing performant, clean, pure software is super appealing as a developer, so why don't I do something about the bloated software I write? I think a big part of it is it's hard to see the direct benefit from the very large amount of effort I'll have to put in.

Sure I can write that one thing from that one library that I use myself instead of pulling in the whole library. I might be faster, I might end up with a smaller binary, it might be more deterministic because I know exactly what it's doing. But it'll take a long time, might have a lot of bugs and forget about maintaining it. Then end of the day, do the people that use my software care that I put in the effort to do this? They probably won't even notice.

Re: Software Disenchantment (2018)

#350
post #20

> Would you buy a car if it eats 100 liters per 100 kilometers? How about 1000 liters? I think the analogy here is backwards. The better question is "how much would you prioritize a car that used only 0.05 liters per 100km over one that used 0.5? What about one that used only 0.005L?". I'd say that at that point, other factors like comfort, performance, base price, etc. become (relatively) much more important. If bas…

> admittedly feature bloat, ads, tracking, etc. are also a problem, but I think they're mostly orthogonal to under-the-hood performance

I think for webpages it is the opposite: non-orthogonal in most cases.

If you disable your JS/Ad/...-blocker, and go to pages like Reddit, it is definitely slower and the CPU spikes. Even with a blocker, the page still does a thousand things in the first-party scripts (like tracking mouse movements and such) that slow everything down a lot.

Post reply on HN