This article just keeps repeating the two concepts of Unix technology and Unix ideas but doesn't clarify what they mean by either. The links, seemingly complaining about iOS or Android, don't really seem to clarify. It seems many want Unix technology or ideas to be about what Unix meant in the 70s and 80s and don't have much interest in moving things forward from that plateau. (To be clear, I think all the major oper…
I agree, PowerShell does the same thing better. And I'm disappointed that things have stagnated so much. I mean, cool, a commandline is an useful concept that sometimes fits a given task excellently well. But why in the hell are we still emulating a VT100? How is a modern Linux console sticking to a 50 year old level of functionality? And why are we scripting in something as painful as Bash?
Unix is both a technology and an idea
31–40 of 97 posts
Re: Unix is both a technology and an idea
#32Android 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…
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, then isn't the Unix model of "a file is just a bag of bytes in a hierarchical namespace" the cause of his problem? It explicitly rejects having standard formats and the result is every application having to bring its own, with all the resultant opaqueness and reinvented wheels
Re: Unix is both a technology and an idea
#33Those 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…
> and cloud infrastructure nowadays focus on other stacks, instead of being yet another UNIX clone could you elaborate? I was under the impression, that most clouds heavily rely on unix, both for host and guest systems (and containers)
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 of C and C++ with their direct dependency on POSIX related APIs.
Taken to the extreme, on serveless workloads, you can even upload the code, and it get magically transformed into a deployment, mostly using managed languages that are OS agnostic.
At the end of the day, if those type-1 hypervisors are self-contained, or need a guest OS as management node, is completly transparent to the managed runtime workloads.
Re: Unix is both a technology and an idea
#34Earlier quoted context omitted.
What's often lost in a simple review of the history is that in modern times certain elements of the Unix philosophy [1] have become more important than ever. In fact as technology becomes more pervasive I would argue that the ideas it encapsulates are no longer only relevant to computer architecture, they're now relevant to the survival of a free and open society. This isn't just about how to build the best widget an…
The principles are good, the implementation sadly is not. Plain data streams have outstayed their welcome. Pretty much nothing but the classic old Unix tools communicates with plain text streams. Smarter, new commandline tools tend to provide at least JSON, but there's plenty that don't and that makes them absolutely painful to reuse. I've written large amounts of code that amount to running a process, parsing its ou…
Also some influences from AmigaDOS and IBM's REXX.
Re: Unix is both a technology and an idea
#35This article just keeps repeating the two concepts of Unix technology and Unix ideas but doesn't clarify what they mean by either. The links, seemingly complaining about iOS or Android, don't really seem to clarify. It seems many want Unix technology or ideas to be about what Unix meant in the 70s and 80s and don't have much interest in moving things forward from that plateau. (To be clear, I think all the major oper…
I agree, PowerShell does the same thing better. And I'm disappointed that things have stagnated so much. I mean, cool, a commandline is an useful concept that sometimes fits a given task excellently well. But why in the hell are we still emulating a VT100? How is a modern Linux console sticking to a 50 year old level of functionality? And why are we scripting in something as painful as Bash?
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 in the terminal - it would probably be different if every Windows application - including all UI applications - would expose their internals as "PowerShell-scriptable objects", then we could probably get an actual productivity jump by glueing small, specialised UI apps together - this was a central idea in the last days of the Amiga which didn't make the jump to other platforms before its demise).
Same for the concept of a hierarchical filesystem. Sure, there may be better ideas floating around, but when confronted with reality they are usually not so much better than the "good enough" status quo that current operating systems have arrived at.
TL;DR: long-term incremental progress usually beats revolutionary ideas that are poorly executed.
Re: Unix is both a technology and an idea
#36Those 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…
I wonder how much of the hate Windows gets is simply because Windows has nothing to do with Unix's bloodlines and heritage. Aside from cursory accomodations like the Microsoft POSIX Subsystem (what we would in theory call Windows Subsystem for POSIX if it existed today), that is.
Re: Unix is both a technology and an idea
#37Those 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…
Re: Unix is both a technology and an idea
#38Earlier quoted context omitted.
> and cloud infrastructure nowadays focus on other stacks, instead of being yet another UNIX clone could you elaborate? I was under the impression, that most clouds heavily rely on unix, both for host and guest systems (and containers)
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…
...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 anything do to with the C and C++ standards)
Re: Unix is both a technology and an idea
#39Earlier quoted context omitted.
I agree, PowerShell does the same thing better. And I'm disappointed that things have stagnated so much. I mean, cool, a commandline is an useful concept that sometimes fits a given task excellently well. But why in the hell are we still emulating a VT100? How is a modern Linux console sticking to a 50 year old level of functionality? And why are we scripting in something as painful as Bash?
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…
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 do you make sure that your parsing doesn't get confused by the presence of an unexpected = or :? How do you deal with that maybe some certificates have extensions?Oh, we actually have commands that do that sort of thing, GPG does it.
$ gpg --with-colons --list-keys \
--with-fingerprint --with-fingerprint wk@gnupg.org
pub:f:1024:17:6C7EE1B8621CC013:899817715:1055898235::m:::scESC:
fpr:::::::::ECAF7590EB3443B5C7CF3ACB6C7EE1B8621CC013:
uid:f::::::::Werner Koch :
uid:f::::::::Werner Koch :
sub:f:1536:16:06AD222CADF6A6E1:919537416:1036177416:::::e:
fpr:::::::::CF8BCC4B18DE08FCD8A1615906AD222CADF6A6E1:
sub:r:1536:20:5CE086B5B5A18FF4:899817788:1025961788:::::esc:
fpr:::::::::AB059359A3B81F410FCFF97F5CE086B5B5A18FF4:
And it's awful. It's colon separated, so I'm not sure what happens if somebody puts one in their name. And you have to count fields. And it's completely non-extensible, good luck inserting an extra column. But hey, you can parse that with AWK.Re: Unix is both a technology and an idea
#40Earlier quoted context omitted.
I agree, PowerShell does the same thing better. And I'm disappointed that things have stagnated so much. I mean, cool, a commandline is an useful concept that sometimes fits a given task excellently well. But why in the hell are we still emulating a VT100? How is a modern Linux console sticking to a 50 year old level of functionality? And why are we scripting in something as painful as Bash?
Terminals are a central idea affecting Unix process control and hierarchy, and signal delivery. Emulating them was the easier decision that didn't require any changes to the rest of the system. You introduce a virtual terminal device and the rest stays the same. We are still trapped in those basic abstractions of the 1970s without even noticing them, building shiny stuff on top.
But why are we in 2023, and people are still coming up with fancier versions of "top" that try to draw graphs in text? Every modern computer boots to a graphical console. Every terminal emulator in a GUI runs in a graphical environment. Wouldn't be be much nicer and much less awkward to actually use pixels?