Live data from Hacker News

Unix is both a technology and an idea

utcc.utoronto.ca

41–50 of 97 posts

Re: Unix is both a technology and an idea

#41
IMO, all technology in the computer space are ideas. Unix is one that is intentional about it. I view creating a different software program as a "technological argument". Ultimately, almost everything a computer is is a set of agreements (or a standard, a special type of agreement). A programming language is one, the ISAs of the popular CPU companies are one (and the fact that they are popular), all the way to the interfaces of software.

Re: Unix is both a technology and an idea

#42
The issue with "Unix", both as a technology and as an idea, is that has remained substantially incomplete. It never developed the next layer(s) that would help embrace all users, not just the technical ones. The fact that the project/ideology/mindset is old does not mean it is rounded, finished and fulfilled.

"Unix" missed the popularization of compute not once but twice, first with the infamous "linux desktop", then with the mobile revolution.

There does not seem to be a technical reason why this "completion" has not happened. The history of computing is idiosyncratic, very far from exploring the phase space of possibilities, let alone converging on optimal ones. Random economic and regulatory/political constructs helped fill the gap in all the abominable ways that dominate today's landscape.

Yet Unix 2.0 - the human-centered version is just a finite number of keystrokes away...

Re: Unix is both a technology and an idea

#43
post #18
post #16

Earlier quoted context omitted.

Well you can ssh to an Android phone through the USB developer tools, and you get a bunch of Unix commands like ls, df, etc. Anyway what's wrong about Unix is that it assumes that users need to be protected from each other (good) but installed binaries can be somehow trusted (bad). We're in the internet age now where we download so many executable code that we need better sandboxing, as part of the OS.

After enabling the developer mode, and using tools regular users never get to see.

so what? Regular users (whatever they are) don't know or care that a mac is unix under there somewhere.

At moments like these i feel the loss of the nokia N900 that was glibc, gtk+ linux all the way down and up. Best phone I ever owned by a margin. Also arguably not a machine owned by apple/goog/samsung/etc whose purpose is surveillance of the schmuck (me) who just paid for it.

Re: Unix is both a technology and an idea

#44

Earlier quoted context omitted.

Because the UNIX terminal model is mostly "good enough" (and with a recent incarnation like zsh plus Fish-style autosuggestion-plugin the user experience is very different from a plain VT100 terminal from the 70's). PowerShell isn't such a big revolution in user experience that it justifies switching IMHO (and FWIW I don't agree that objects are better than a plain text stream, at least not when the whole thing stops…

Powershell is immensely better. It takes what Unix promises and delivers it, without all the pain. Eg: C:\Windows> (Get-AuthenticodeSignature .\explorer.exe).SignerCertificate.Subject CN=Microsoft Windows, O=Microsoft Corporation, L=Redmond, S=Washington, C=US C:\Windows> Think of doing that in classic Unix. How does that command output a tree shaped structure, where items have sub-items? How do you parse that? How d…

Point taken, but there's nothing prohibiting commands from outputting their data in a different text format that's better suited for tree-like data (like JSON), and another set of minimal commands which processes JSON-formatted data - easy extensibility by the user is also part of the "UNIX philosophy".

That's also the point where I'd reach for Python or Deno/TS to write such command line tools, because both Bash and C are not really well suited for text processing - and neither are the traditional UNIX tools like sed or awk IMHO.

Re: Unix is both a technology and an idea

#45
post #3

Android is a great NEGATIVE example of the Unix philosophy! The code is based on the Linux kernel, which might make you think it's Unix, but isn't Unix [1] An OS is where 3 things meet: code, data, and people. AKA apps, files, and users. AKA CPU, storage, and networking when viewed from hardware (in the old days, you'd have terminals and serial ports, not Internet) I'd argue that (if you take away the historical "hai…

I'm having trouble understanding what he's criticising in that Mastodon post If he's saying he doesn't have sufficient OS access rights to his files, surely the existence of a "Files App" (aka a file explorer, hardly new) disproves his claim. Android also has multiple-choice file associations just like a desktop OS If he's complaining that the formats are opaque, or that we keep reinventing very similar CRUD apps, th…

The files app doesn't give access to all the files, just the ones it's allowed to see (or at least that's been my experience).

Re: Unix is both a technology and an idea

#46
post #33

Earlier quoted context omitted.

First, Azure runs on Windows, using Azure Host OS at the lowest layer. https://techcommunity.microsoft.com/t5/windows-os-platform-b... Secondly, unless you are doing classical VM deployments, the only thing we care about are type 1 hypervisors. If the language runtimes are running directly on top of a type-1 hypervisor, some kind of container, or bare metal, it is mostly irrelevant for most languages, with exception…

> with exception of C and C++ with their direct dependency on POSIX related APIs ...why would POSIX be special if the POSIX layer is statically linked with the application and would just be a translation layer to anything that lies below? Same way MUSL works on Linux as alternative C library which bypasses glibc and instead directly uses syscalls to talk to Linux. (also technically the POSIX standard doesn't have any…

The POSIX standard definitely has something to do with C standards:

> Parts of the ISO/IEC 9899:1999 standard (hereinafter referred to as the ISO C standard) are referenced to describe requirements also mandated by this volume of POSIX.1-2017. Some functions and headers included within this volume of POSIX.1-2017 have a version in the ISO C standard; in this case CX markings are added as appropriate to show where the ISO C standard has been extended (see Codes). Any conflict between this volume of POSIX.1-2017 and the ISO C standard is unintentional.

Re: Unix is both a technology and an idea

#47
post #46

Earlier quoted context omitted.

> with exception of C and C++ with their direct dependency on POSIX related APIs ...why would POSIX be special if the POSIX layer is statically linked with the application and would just be a translation layer to anything that lies below? Same way MUSL works on Linux as alternative C library which bypasses glibc and instead directly uses syscalls to talk to Linux. (also technically the POSIX standard doesn't have any…

The POSIX standard definitely has something to do with C standards: > Parts of the ISO/IEC 9899:1999 standard (hereinafter referred to as the ISO C standard) are referenced to describe requirements also mandated by this volume of POSIX.1-2017. Some functions and headers included within this volume of POSIX.1-2017 have a version in the ISO C standard; in this case CX markings are added as appropriate to show where the…

Well ok, the two standards are overlapping where it makes sense, I stand corrected there.

But nothing prevents me from writing C or C++ programs on Windows which don't have a single POSIX (or even libc call) in them, but exclusively use Windows system DLL calls - and those are still entirely valid C or C++ programs (although I'm aware that the situation is muddy for some libc calls which some compilers treat like builtins, e.g. memset and memcpy).

Re: Unix is both a technology and an idea

#48

Earlier quoted context omitted.

Powershell is immensely better. It takes what Unix promises and delivers it, without all the pain. Eg: C:\Windows> (Get-AuthenticodeSignature .\explorer.exe).SignerCertificate.Subject CN=Microsoft Windows, O=Microsoft Corporation, L=Redmond, S=Washington, C=US C:\Windows> Think of doing that in classic Unix. How does that command output a tree shaped structure, where items have sub-items? How do you parse that? How d…

Point taken, but there's nothing prohibiting commands from outputting their data in a different text format that's better suited for tree-like data (like JSON), and another set of minimal commands which processes JSON-formatted data - easy extensibility by the user is also part of the "UNIX philosophy". That's also the point where I'd reach for Python or Deno/TS to write such command line tools, because both Bash and…

JSON would be better, true, but PowerShell actually has objects, so dates are actually dates and not just a string containing a date. So you can actually do timezone conversions and calculations on what you get directly, rather than having to feed the date string into a parser.

But yeah, JSON would be a good start. But for some reason there seems to be little interest even in that. Wouldn't it be nice to have `df --json` or `mount --json`?

And that makes me sad, because the system could be so much better if it moved forward a bit instead of being stuck in the 80s.

Re: Unix is both a technology and an idea

#49
post #12

Those that keep trying to make a point of Android being UNIX, never really shipped anything on the Play Store. Yes, it uses the Linux kernel, and several components born on the Linux world and that is about it. Only Google and OEM partners get to see that layer, and those that root their devices. Nothing on the Android userspace, the Java and Kotlin frameworks, or the NDK official APIs have anything to do with Linux…

Doesn't Termux count? I literally develop software on my phone with it.

It's a system inside a system shipped as an app, isolated from other apps and with no integrations with the wider operating system. It's not far from WSL or a VM.

Re: Unix is both a technology and an idea

#50
post #4

If we analyze the computational complexity of software architectures the way we do regular algorithms, we see that UNIX was much more efficient than previous OSes/approaches. It's demonstrated in this short video: https://www.youtube.com/watch?v=3Ea3pkTCYx4

That is a great video. If Google is the new Multics and the cloud is the new mainframe, does that mean that AI is the new Unix? AI is the command line?
Post reply on HN