Live data from Hacker News

Software Disenchantment (2018)

tonsky.me

171–180 of 504 posts

Re: Software Disenchantment (2018)

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

A single dropped can on the grass is a small impact. Everyone dropping their litter everywhere, because "a piece of litter doesn't matter" is a large impact. I can deal with a 1 second delay to run a script. I can deal with a 20 second delay to launch a large program. I resent dealing with hundreds of 1 second lags every day for tasks which didn't used to have any lags ten years ago.

That is a really good analogy.

In the same way that recycling was meant to fix the environment (and garbage now sits in warehouses), millions of objects get mass produced and chucked onto the memory heap, in the hope that garbage collection will fix it.

Re: Software Disenchantment (2018)

#172
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.

Ok but why ? And what can we do to improve things? Promote maintenance, but I think one of the issues is that you can show something new, it's much more difficult to show that something could have changed (failure, difficulty to grow), but didn't.

Re: Software Disenchantment (2018)

#173
>I’ve been programming for 15 years now. Recently, our industry’s lack of care for efficiency, simplicity, and excellence started really getting to me, to the point of me getting depressed by my own career and IT in general.

You and me both buddy! 11 years here, you are not alone in this!

What I found helped me take my mind of this nagging feeling is to bring in a tool that is like a razer sharp brand new scalpel. That was Nim. It's readable, small, fast, and spits out tiny statically compiled binaries.

Find your scalpel and slice and dice. Back to basics. Purity.

Re: Software Disenchantment (2018)

#174
post #47
post #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.

I hear that argument very frequently and I don’t buy it. Think about all the gas that is saved because people don’t have to drive to the library, all the plane trips saved by video conferencing, all the photo film, all the sheets of paper in file cabinets, all the letters being sent as emails, all the mail order catalogues, ... you get the idea. Does anybody know of a comprehensive study on this?

It's not either-or. I don't buy the argument that if we didn't shovel garbage that we call "software" today, we wouldn't have equivalent but better software at all. It's a multi-agent problem, and a lot of it is driven by business dysfunction, not even actual complexity or programmer laziness.

In my - perhaps limited - work experience, there's enough slack in the process of software development that I don't buy the "time to market" argument all that much.

Re: Software Disenchantment (2018)

#175
Great article. Author makes some really good points. Surely the big tech firms have skunk works projects going on to rebuild the problem areas? Microsoft. Google. Facebook. Amazon. Netflix. They all must have decent sized R&D departments? Perhaps an independent, very public, curated list that points out areas that desperately need work would be helpful. Name and shame so-to-speak, would prod them to move in the right direction on the areas that need work the most.

Re: Software Disenchantment (2018)

#176

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.

I remember a story about an electronic musician who preferred to mix his songs with earbuds/headphones instead of with a high-end megabucks studio sound system. His reasoning was basically, “that’s how my fans will listen to my music, so I need to make sure it sounds good to them.”

I can’t remember who it was, but the idea always stuck with me.

Anyway, I agree that we should test our applications with the same hardware (and internet speed) of our average user. Very few people use a computer as good as a software engineer’s. :)

Re: Software Disenchantment (2018)

#177
Some valid and useful points wrapped up in a pile of failure to do even trivial research (e.g. Google Play Services isn't what the author thinks, the iOS 'nothing changed' hand-wave) and the sensibility of someone walking around an art show saying "I could do that, better." The author could bear introduction to Chesteron's Fence, if nothing else, and a review of their apparent GitHub profile points to, perhaps, needing some time spent in the land of embedded systems to understand why a phone doesn't just boot in 1s.

Re: Software Disenchantment (2018)

#178

Long ago I watched a documentary about the early Apple days, when management was encouraging their developers to reduce boot times by 10 seconds. The argument was that 10 seconds multiplied by the number of boot sequences would result in saving many human lives worth of time. Edit: found a link with the same story: https://www.folklore.org/StoryView.py?story=Saving_Lives.txt The software world needs more of this kind…

I wish more companies thought like this in general. I often think about the nature of the work I'm doing as a developer and wonder if it's making society better off as a whole. The answer is usually a resounding no.

Re: Software Disenchantment (2018)

#179

Earlier quoted context omitted.

I'm suggesting that you take an existing system and build up a corpus of request/response pairs. Then you use the LSTM to build a prediction model so that given a request it will tell you that the current production system will produce the following sql statement and this http response. Once the LSTM's output is indistinguishable from your current production system , for all use cases, then you replace the production…

The main idea being that for a given input the output really is 100% predictable [..] I think it would be super fast once you got it working. I imagine it would be fast, then you realise you've made a static content caching layer out of a neural network and replace it with Varnish cache and it would be hyper fast.

I don't think a caching layer would work. One example would be an online mortgage estimator. You input the loan amount, interest rate, length of loan etc. all as http input parameters. I'm suggesting that the LSTM can eventually figure out that those variables are being used by the application code to go in to a formula. That application code and its formula would all be replaced by the LSTM.

I just don't know how you can achieve that with static cache ... only if somebody else requested that exact mortgage calculation before and it is still in the cache.

Also, my idea of the "given input" from the earlier comment would have to include results of sql queries that would form the entire input to the LSTM.

But honestly I think over trained auto encoders can be used as hash maps. That would be an application more in line with what I think you are saying.

Re: Software Disenchantment (2018)

#180
post #78

> And then there’s bloat. Web apps could open up to 10 times faster if you just simply blocked all ads. Google begs everyone to stop shooting themselves in the foot with the AMP initiative—a technology solution to a problem that doesn’t need any technology, just a little bit of common sense. If you remove bloat, the web becomes crazy fast. How smart do you have to be to understand that? If you "simply blocked all ads…

> If you "simply blocked all ads" the people making the pages wouldn't have the income which they maintain the pages with. That's how we get deliberately slow pages, articles split over multiple page loads, image slideshows and deliberately slow pages (because time spent on your site is time not spent on the competing websites). On the other hand we have pages like HN, paid for(?) using other means and built to be pe…

People should just vote with their pockets for a better user experience, IMO.

How? How can I vote with my pocket for old.reddit.com instead of new reddit UI? How can I vote for another site which is different, when the main draw of Reddit is the number of people on there?

How can I vote for an instant messenger which works the way I want, when the people I talk to aren't using it because the people they talk to aren't using it?

How can I pay for a faster Windows 10 where the start menu works every time I press the start button and updates install in the time it takes to copy the data to SSD and no longer? That option isn't on the market.

Post reply on HN