Live data from Hacker News

Software Disenchantment (2018)

tonsky.me

221–230 of 504 posts

Re: Software Disenchantment (2018)

#221

Excerpt: "An Android system with no apps takes up almost 6 GB. Just think for a second about how obscenely HUGE that number is. What’s in there, HD movies? I guess it’s basically code: kernel, drivers. Some string and resources too, sure, but those can’t be big. So, how many drivers do you need for a phone? Windows 95 was 30MB. Today we have web pages heavier than that! Windows 10 is 4GB, which is 133 times as big. B…

damn. windows 95 was indeed 13 floppy disks. amazing to think about. So what is in these huge downloads? Layers upon layers of virtual machines?

In a way each layer of abstraction could be seen as a virtual machine - a new set of “instructions” implemented via previous layer of instructions.

The analogy holds as long as we don’t cross layers, which is quite often true.

Therefore counting total number of layers is performance-wise quite similar to running this many layers of virtual machines. Of course, you need code for all of these translation layers.

Re: Software Disenchantment (2018)

#222
post #88
post #68

He has a nice follow up which gets to the reasons why https://tonsky.me/blog/good-times-weak-men/ Another take: rewrites and rehashes tend to be bad because they are not exciting for programmers. Everything you re about to write is predictable, nothing looks Clearly better and it just feels forced. First versions of anything are exciting, the possibilities are endless, and even if the choices along the path are subop…

He hints at Electron in the end, but I think the real blame lies on React which has become standard in the past five years. Nobody has any fucking idea what’s going on in their react projects . I work with incredibly bright people and not a single one can explain accurately what happens when you press a button. On the way to solving UI consistency it actually made it impossible for anyone to reason about what’s happe…

I completely agree, here. React has replaced the DOM, and it's pretty fast, pretty efficient when you understand its limitations... but when you start rendering to the canvas or creating SVG animation from within react code, everything is utterly destroyed. Performance is 1/1000 of what the platform provides. I have completely stopped using frameworks in my day-to-day, and moved my company to a simple pattern for updatable, optionally stateful DOM elements. Definitely some headaches, some verbosity, and so forth. But zero tool chain and much better performance, and the performance will improve, month-by-month, forever.

Re: Software Disenchantment (2018)

#223
post #206
post #5

Even quite underpowered phones can boot in ~1-2 seconds if optimized for that. Not everything in the phone will startup in that amount of time (modem, wifi), but it's possible to start to Linux userspace and display fully interactive UI in that amount of time. Even my e-book reader Linux port boots to UI in ~2s. It really is just bloat and lack of care.

To be honest, I have never seen any phone or computer that could boot in about 2 seconds. 6-7 seconds is the absolute minimum I've ever seen, regardless of hardware or OS.

Ever tried installing freeDOS on your computer?

Re: Software Disenchantment (2018)

#224
npm would be a lot better if it flattened out its node-modules. I've seen plenty of structures with multiple identical installs of the same library.

All module folders should be at root level.

Need version 15 and version 16? Yep different folders under the root. Modulename_version, eg somelib_0.1.15 alongside somelib_0.1.16

It would allow clear identification of old versions and much less duplication. Less bloat. No way to have duplicate copies of the same library.

Re: Software Disenchantment (2018)

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

‘poor UI design, accidental inputs’

I use webpages for most of the social networking platforms such as Facebook. I am left handed and scroll with my left thumb (left half of the screen). I have accidentally ‘liked’ people’s posts, sent accidental friend requests only because of this reason.

Guessing along with language selection, it might be helpful to have a selection of hand preference for mobile browsing.

Re: Software Disenchantment (2018)

#226

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 have an underpowered chromebook for testing performance. Some sites actually crash on it. Much of the web is frustrating on it.

Re: Software Disenchantment (2018)

#227

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.

Also limit your network bandwidth to see how your app behaves when the user is on crappy 3g or what not.

Re: Software Disenchantment (2018)

#228
I get really tired of hearing people complain incesently about how inefficient software is. I want it too, but it isn't going to just happen.

Effiency is a selling point that most users don't care much about in most markets. There are efficient browsers out there but everyone uses Chrome because those browsers are inferior to Chrome in many other ways. Ways that are more important to the average browser user.

If there's a market for a more efficient software solution, go make it and get rich. Otherwise, I'm getting sick of the complaining.

Re: Software Disenchantment (2018)

#229
post #88

Earlier quoted context omitted.

He hints at Electron in the end, but I think the real blame lies on React which has become standard in the past five years. Nobody has any fucking idea what’s going on in their react projects . I work with incredibly bright people and not a single one can explain accurately what happens when you press a button. On the way to solving UI consistency it actually made it impossible for anyone to reason about what’s happe…

What is better? Jquery? It comes with its own can of worms and React designers had solid reasoning to migrate away from immediate DOM modification. In general UI is hard. Nice features like compositing, variable width fonts, reflow etc come with the underlying mechanisms that are pretty complicated and once something behaves different to the expectations it might be hard to understand why.

UI is hard because you're using a hyper text language with fewer features than were the standard in the 60s. Then with styling on top of that, then with a scripting language on top of that.

Reading Computer Lib/Dream Machine over the holidays and I wonder where it all went so wrong.

Re: Software Disenchantment (2018)

#230

>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. Th…

25 years since I started learning C++ as a kid, 14 years in industry and feeling like a disappointed old man despite still having the youthful looks to pass for a student!
Post reply on HN