Live data from Hacker News

Is software abstraction killing civilization? (2021)

datagubbe.se

71–80 of 219 posts

Re: Is software abstraction killing civilization? (2021)

#71
post #53
post #23

Earlier quoted context omitted.

The concept of files and file systems is useful to regular computer users, even when they have no interest in knowing how things work under the hood. The issue is with mobile OSs, and that software companies like their apps to be a walled garden for your data as much as possible, and therefore resist exposing your data as files living in a normal shared file system. Even if you already work with files, they have you…

Which is a better security model in these days of untrusted apps vs the desktop "my screensaver can read my chrome passwords file" model.

Access permissions are orthogonal to having a file system. In fact, mobile apps still use the local file system, they just hide it from the user. And password files should still be encrypted with a master key, e.g. application-private secure enclave key where available.

Re: Is software abstraction killing civilization? (2021)

#72

Earlier quoted context omitted.

Personally I find that Casey presents simple hard facts that rile people up, but at that point they're doing... what? Arguing with facts ? He had a particularly pointed rant about how some ancient developer tools on a 40 MHz computer could keep up with debug single-stepping (repeatedly pressing F10 or whatever), but Visual Studio 2019 a on multi-GHz multi-core monster of a machine can't . It lags behind and is unable…

If I only spoke Arabic or Russian or Chinese, could I write words in my language on those ancient developer tools? Or would I be limited to ASCII characters? If I were blind, could the computer read the interface out to me as I navigated around? If I had motor issues, could I use an assistive device to move my cursor? I'm not saying this excuses everything, but it's easy to point at complexity and say "look how much…

> If I only spoke Arabic or Russian or Chinese, could I write words in my language on those ancient developer tools?

For relevant cases, YES!

NT4 was fully Unicode and supported multiple languages simultaneously, including in the dev tools. Windows and all associated Microsoft software (including VS) has had surprisingly good support for this even back in the late 1990s, possibly earlier. I remember seeing in 2001 an Active Directory domain with mixed English, German, and Japanese identifiers for security groups, OU names, user names, file shares, etc... Similarly, back in 2002 I saw a Windows codebase written by Europeans that used at least two non-English languages for comments.

Note that programming languages in general were ASCII only for "reasons", but the GUI designers had good i18n support. Even the command-line error messages were translated!

Linux on the other hand was far behind on this front until very recently, again, for "reasons". You may be thinking back to your experience of Linux limitations, but other operating systems and platforms of the era were Unicode, including MacOS and Solaris.

None of this matters. UTF8 is not the reason the GUI is slow. Even the UCS16 encoding used by Windows is just 2x as slow, and only for the text, not any other aspect such as filling pixels, manipulating some GUI object model, or responding synchronously vs asynchronously.

Look at it this way: for a screen full of text, ASCII vs Unicode is a difference of 10 KB vs 20 KB in the volume of data stored. The fonts are bigger, sure, but each character takes the same amount of data to render irrespective of "where" in a larger font the glyph comes from!

> If I were blind, could the computer read the interface out to me as I navigated around?

Text-to-speech is an unrelated issue that has no bearing on debugger single-stepping speed. Windows had accessibility APIs since forever, including voice, it was just bad for reasons to do with hardware computing limitations, not a lack of abstractions.

> If I had motor issues, could I use an assistive device to move my cursor?

That's hardware.

> But a lot of today's complexity is for things that are crucial to some subset of users.

And almost all of it was there, you just may not have been aware of it because you were not disabled and did things in English.

Don't confuse a "lack of hardware capacity" or a "lack of developer budget" with the impact that overusing abstractions has caused.

These things were not a question of insufficient abstractions, but insufficient RAM capacity. A modern Unicode library is very similar to a 20-year-old one, except the lookup tables are bigger. The fonts alone are tens of megabytes, far more than the disk capacity of my first four computers... combined.

Today I have a 4.6 Ghz 8-core laptop with 64 GB of memory and I have wait for every app to open. All of them. For minutes sometimes. MINUTES!

None of this has anything to do with accessibility or multi-lingual text rendering.

Re: Is software abstraction killing civilization? (2021)

#73
post #34

Earlier quoted context omitted.

So your rebuttal is that they’re wrong because they’re young and inexperienced? OK, maybe, but what exactly are they wrong about? You haven’t actually added anything to the conversation with this ad hominem attack.

Also I couldn't find the authors age but judging by the fact they say they still use an Amiga they're probably at least in their 40s(unless they're a huge retro fan)

Also talked about C64's, like they lived through it. That brings them into their 50's. I got the feeling they've been at it a long time.

Re: Is software abstraction killing civilization? (2021)

#74
post #27

I think JavaScript on the server and React and these things has really made the web a mess of software development compared to how little stuff it actually does. I know for a fact a bunch of kids now do not even know that HTML is what gets rendered in the browser. They think that React is itself what browsers render. Not to mention the absolute idiot of a CEO of Vercel who thinks React is the Linux kernel of developm…

> They think that React is itself what browsers render My kingdom for native JSX in the browser. That would be awesome . Something similar to how we have WebGL and Canvas, but for pure JavaScript UI without the extra step of DOM reconciliation. There’s a small (and growing) cohort of people working on rendering React Native directly on canvas or webgl (I think). Supposedly gives you super smooth UX, but I haven’t kno…

The lengths that some JS developers go to avoid writing HTML is unbelievable.

JSX is one of those technologies that was clever for what it was, but should have never caught on. Adding another layer of abstraction on top of JSX is the type of behavior at the root of the civilizational collapse argument.

Just because you can doesn't mean you should.

Re: Is software abstraction killing civilization? (2021)

#75

I teach the systems class at Montana State, where we go from transistors up to a real computing system, and I have students that don't understand what a file system really is when they start my class I agree that blow is wrong on some details, but I really think we need to be thinking hard around a NAND-to-Tetris style education that starts in high school for our technical students. I use "outdated" models like Littl…

I learned computer architecture using MIPS when MIPS were actually used in things. It was nice then, and is nice now.

I spend a lot of my free time decompiling MIPS assembly and small functions can be decompiled to matching C by “hand” without need other tools.

Re: Is software abstraction killing civilization? (2021)

#76
This is a very interesting take but there is an underlying issue to software. An abstraction that isn't at the software libraries/system level: managerialism. The processualizing of all the things.

Rudyard Lynch has a provocative interesting take on it.

Re: Is software abstraction killing civilization? (2021)

#77
post #23

Earlier quoted context omitted.

The concept of files and file systems is useful to regular computer users, even when they have no interest in knowing how things work under the hood. The issue is with mobile OSs, and that software companies like their apps to be a walled garden for your data as much as possible, and therefore resist exposing your data as files living in a normal shared file system. Even if you already work with files, they have you…

In the name of low effort, tangential, golden era HN comments: the decision to hide file format extensions on windows (and maybe other OSs) sucks soooo much. The point about mobile devices breaking the desktop metaphor and file system norms is really interesting. Higher quality discussion question: Files, buffers,file systems, file explorers, and window managers seem like useful abstractions to me for the human compu…

Hiding file name extensions is a bad default, but at least it’s just two clicks in the Explorer ribbon to permanently unhide them: https://static1.howtogeekimages.com/wordpress/wp-content/upl... (Well, it’s now three clicks in Windows 11 it seems.)

Re: Is software abstraction killing civilization? (2021)

#78

No it’s not. Software is killing the US and not because it abstracts low level stuff. It’s because it abstracts reality in such a way that the US is becoming a nation of software engineers ignorant of even how to build the stuff it programs. We’ve moved up the stack and moving up the stack requires people knowledgeable about the bottom. One can’t exist without the other so the world isn’t getting destroyed. China is…

You realize that the US is still designing the most advanced processors and technology. Now if you argued that the US has forgotten how to manufacture anything, I would agree with you.

No. Taiwan and Korea are on par for design.

Re: Is software abstraction killing civilization? (2021)

#79
post #23

I teach the systems class at Montana State, where we go from transistors up to a real computing system, and I have students that don't understand what a file system really is when they start my class I agree that blow is wrong on some details, but I really think we need to be thinking hard around a NAND-to-Tetris style education that starts in high school for our technical students. I use "outdated" models like Littl…

The concept of files and file systems is useful to regular computer users, even when they have no interest in knowing how things work under the hood. The issue is with mobile OSs, and that software companies like their apps to be a walled garden for your data as much as possible, and therefore resist exposing your data as files living in a normal shared file system. Even if you already work with files, they have you…

Files and directories are just one of many possible abstractions for storing data. You have files and directories. Directories contain files and directories. Your whole device is one big directory. Files are identified by name. There's absolutely no reason to think this is the best possible model.

Here's another: Your device contains a bunch of photos and videos. Photos are identified by looking at them. Videos are identified by a still image, or by playing the video within the video chooser.

Here's another: Your device contains a bunch of apps. Apps can organize their own data however they see fit.

... Microsoft's OLE really was the most well-integrated document-centric desktop we ever got, wasn't it?

Re: Is software abstraction killing civilization? (2021)

#80
There are certainly plenty of issues with the modern software landscape, and I do think too much abstraction is a problem. Yet, the opposite extreme is also bad, and people overly romanticize the past. Not only were crashes and reboots problems, not only did Amiga and such have compatibility problems between hardware versions, but even systems that strove for compatibility suffered from incompatibilities.

The fact is, even on the most unreliable modern system (Windows 11) my computer is far more reliable than any computer I had before about 2010. It can also run software written for Windows 95. That’s a very good run. A computer being usable day to day is better than one that isn’t.

Post reply on HN