Unix Delenda Est



  • ###Unix Delenda Est

    Guy tries to imagine how a modern operating system would look - while still basing it on CLI. Interesting.


  • Discourse touched me in a no-no place

    @cartman82 said:

    Interesting.

    Not especially. He doesn't seem to give the impression of knowing just how much weight of incumbency he's up against, and just how much code will be required. Without anything close to a plan to make it happen, it's just a pipedream and I've seen too many of those to get excited over another one.

    TempleOS was more interesting as there actually was code there.



  • @cartman82 said:

    Guy tries to imagine how a modern operating system would look - while still basing it on CLI.

    ...

    Why would an OS be "based" on a UI? The entire concept makes no sense.


  • :belt_onion:

    Yeah, it also sounds strangely similar to the KDE's semantic desktop and it was just a disaster. All google searches are people trying to turn it off.



  • @dkf said:

    Not especially. He doesn't seem to give the impression of knowing just how much weight of incumbency he's up against, and just how much code will be required. Without anything close to a plan to make it happen, it's just a pipedream and I've seen too many of those to get excited over another one.

    I presented it as a pipe dream. New OS from scratch is not happening at this point.

    @blakeyrat said:

    Why would an OS be "based" on a UI? The entire concept makes no sense.

    Well all his interaction examples are in CLI. Also, an empty command prompt "looks perfect" in his eyes. It's "exactly what a humane computing environment should look like", says he.

    I wouldn't go that far, but the way he imagined it does seem very nice.


  • Discourse touched me in a no-no place

    @cartman82 said:

    I wouldn't go that far, but the way he imagined it does seem very nice.

    Well, let's look through his points:

    Tagged Filesystem

    Filesystem as database. It's been tried a few times in research OSes and hasn't really stuck. Filesystems really serve a lot of different purposes, and what we've got now is the compromise that gave something workable. (At a high level, there's very little difference between Windows and Unix in this area; hierarchically arranged sequences of bytes work.)

    Data is Typed

    The big problem with types is that different people have wildly different ideas about what they ought to mean. Anyone saying that it's obvious is an ignorant chucklefuck.

    Also, the typesystem would be really hard to get right since installing a new piece of software might induce new types over existing objects, and there would also need to be ways to escape the type straitjacket from time to time.

    At the very least, this is research-level work (and yes, that is despite there having already been research on this). Not production level.

    Data is Immutable

    This one I like; it is his single truly good point. It'll be a while before it is possible in general — right now it's only possible for simple desktop systems — but I think it will come.

    Server First

    This is just the author showing his biases and failing to understand how other people work.

    Decent Shell Language

    Snerk. Or go forth and code it up, then I'll go “snerk” again. :stuck_out_tongue:

    Seriously, the problem with computers is that they're incredibly versatile. (It's one of my favourite kinds of problem, BTW.) Making them do something therefore takes some learning and ideally a mindset that is happy with putting things together logically. Some folks are happy with this, but many aren't. Once you're happy with having systematic-enough thinking in order to program, handling some syntax isn't too hard; the syntax was never the show-stopper problem in the first place (well, not for the last 40 years or so).

    The syntax the author picked for his article would infuriate me. YMMV.

    Reasonably Secure

    This one is just a Motherhood and Apple Pie section. Meh.

    Browsable Executables

    Yet another bit that would be neat if it wasn't for the incomprehensibility of security in general, and for Bad People in practice. I suspect that the problem is that most people are unable to comprehend how permissions can be combined creatively, and descriptions tend to end up either sounding ridiculously innocuous or utterly terrifying. Sometimes both at the same time.

    In short, this section probably still requires real research. I could see a PhD or few in this sort of area, establishing what permissions (and permission groups) are really needed and working out how to describe them to users so that they actually understand the consequences.



  • @dkf said:

    Filesystem as database. It's been tried a few times in research OSes and hasn't really stuck. Filesystems really serve a lot of different purposes, and what we've got now is the compromise that gave something workable. (At a high level, there's very little difference between Windows and Unix in this area; hierarchically arranged sequences of bytes work.)

    Tag based fs would work too.

    Imagine instead of having c:\Program Files\Company\AppName\App.exe
    doing this: App.exe: [C-Disk][Program Files][AppName][Company]

    Using this scheme, you can convert most current file systems into a tag based system. And then, you can go crazy and start adding additional tags.

    I mean, I can see things going wrong if you have multiple folders with the same name in one path. So it would need some refactoring. But this looks really appealing to me.

    Of course, I never actually used this in reality, so I don't see the downsides right now (discoverability?). I'm sure people would hate this system pretty soon too for some reason or another

    @dkf said:

    This is just the author showing his biases and failing to understand how other people work.

    I disagree with this.

    In this client-first world, we are increasingly reliant on various megacorp-controlled fiefdoms for most of our needs. Truly open systems, like email and RSS, are dying out.

    And arguably one of the primary reasons this is so is that setting up any kind of permanent internet presence is HARD. It's hard to get a static IP and configure various routers to DMZ you or pass along traffic and install server software and configure firewall etc.

    His idea to revert this trend is to make it dead simple for ordinary people to have their own servers. In fact, for each PC to be server by default. With IPv6 and fiberoptic internet spreading, this is actually becoming technically feasible.

    Why not have an open standard social sharing protocol, like email or RSS, instead of relying on fucking Facebook?
    .


  • Discourse touched me in a no-no place

    @cartman82 said:

    Using this scheme, you can convert most current file systems into a tag based system.

    Yes, but tags aren't ordered. That is, App.exe: [C-Disk][Program Files][AppName][Company] is identical to App.exe: [Company][Program Files][C-Disk][AppName] is identical to App.exe: [AppName][Company][C-Disk][Program Files].

    They can work, but you've got to completely revise your assumptions. That's the tricky part. ;)

    @cartman82 said:

    His idea to revert this trend is to make it dead simple for ordinary people to have their own servers. In fact, for each PC to be server by default.

    The problem is, as usual, asshats. It's technically quite feasible to host small-scale stuff on home computers (there are services which provide the dynamic DNS remapping). Indeed, they're often far more capable than the majority of (virtual) servers, which are often pretty small individually. Making sure that the systems only do what they are authorised to do is the hard part, and server systems are oriented much more strongly about ensuring that they only do their assigned task. Why don't people run their own email? Because of horrendous levels of abuse. (OTOH, RSS has mostly died because of aggregator services like FB, which is sadder. Except I never really used it in the first place; I guess it wasn't actually as great as some people make it out to be.)

    Servers are also designed to scale up in clusters, but that's where everyone is content to use a service intended for the purpose. And this is orthogonal to the point of the preceding paragraph.



  • @dkf said:

    They can work, but you've got to completely revise your assumptions. That's the tricky part. :wink:

    Yeah, agreed.

    @dkf said:

    The problem is, as usual, asshats.

    Yeah. But maybe, just maybe the whole IPv6 transition + compartmentalizing everything will help us on that front.

    When all your apps are super secure bundles, like on mobile, it's harder to hack in and use other people's hardware for nefarious purposes (spam, botnet). And when every person has their own IPv6 (imagine IPv6 being something like an ID card, instead of everyone hiding behind dynamic IP-s), that puts you personally behind your online actions.

    Kind of scary in terms of anonymity online, but could lead to the new decentralization of internet away from these corporate walled gardens we are stuck with now.


  • mod

    @dkf said:

    RSS has mostly died because of aggregator services like FB

    I still use it extensively. Feedly claims over 15 million users, so I'm not alone in that. It's nice to have a curated read list that you maintain rather than some unseen algorithm.


  • Discourse touched me in a no-no place

    @cartman82 said:

    When all your apps are super secure bundles, like on mobile, it's harder to hack in and use other people's hardware for nefarious purposes (spam, botnet).

    I'm totally not holding my breath on that. If something can be used, it can be abused as well. Close it off at one level and people just invent a new way that you didn't anticipate. It's happened before, it'll happen again.


  • :belt_onion:

    You are describing GMail's tags-based+hierarchy system for emails. Yes tags should work, but who is going to tag every single file? Then you try to automate it and end up reinventing the semantic desktop.



  • @dse said:

    You are describing GMail's tags-based+hierarchy system for emails. Yes tags should work, but who is going to tag every single file? Then you try to automate it and end up reinventing the semantic desktop.

    Who is organizing your directory structure now? OS and software vendors mostly.


  • :belt_onion:

    If the only tags are the OS-provided hierarchy then you are not using the tags. Tags let you cross the hierarchical tree, like in the article you want to tag your pictures to have 2015 and "my cool party" in no particular order. Now do you want the OS to look at picture meta tags and read your emails content to "deduce" those tags too?



  • @dkf said:

    Also, the typesystem would be really hard to get right since installing a new piece of software might induce new types over existing objects

    Oooh, but what if files just specified the type? To remove ambiguity, we'd have a universal, standard, yet extensible list of type codes, and each file would specify such code... and to make sure the data doesn't get lost along the way, we'd encode it in some standard way in a piece of metadata that always moves with the file, like its name...



  • @dse said:

    If the only tags are the OS-provided hierarchy then you are not using the tags.

    I never said all tags are OS-provided.

    Look its like the directories. OS and software vendors provide the basic structure and handle most of the files for you. Then, inside a few special directories (eg. Desktop, My Pictures), you create your own organization for your own stuff.

    The same thing can be done with tag-based FS. Some vendor-installed files are tagged by vendors. Your own documents are tagged by you. It's not all that different when you think about it.



  • Disclaimer: I didn't read his dumb article.

    But none of the stuff dkf mentions requires the development of a new OS from scratch.

    @dkf said:

    Tagged Filesystem

    Easily implemented atop NTFS, and presumably HFS+ and one of the myriad of filesystems available on Linux. All this requires is the attachment of meta-data to files, and re-writing of the search agent. Hell, you could easily do it in Windows in userspace with a couple of Services.

    But you're going to run into the same problem that every other OS that's tried to do something fancy with filesystems has run into: web protocols are based on lowest-common-denominator 1970s Unix files. The instant your file has to go across the web, you either need to encode it in some way, or that meta-data is lost. (Some file formats can carry meta-data with them-- MP3s for example, or Word docs, but there's no global solution here for all possible files.)

    @dkf said:

    Data is Typed

    You mean... like in PowerShell?

    Not only can this be implemented in a CLI environment, it already has been. And it didn't require the development of a new OS, either. (Although the .net libraries on their own are complete enough to form the basis for a quite powerful OS.) Next!

    @dkf said:

    Data is Immutable

    Not entirely sure what this means. If he's talking about keeping a change history of every file/piece of data back to the beginning of time, people are very quickly going to run into the slight issue that disk space isn't infinite. (Keeping a few versions back in the otherwise unused portion of the disk is a great idea though. Maybe a large computer company should implement that. They could call it "ShadowCopy" or "Time Machine" or something...)

    @dkf said:

    Server First

    Every OS since 2001 has been server-first. The last non-server-first OS was Windows ME and MacOS 9.2. Everything since then has been a server OS re-purposed to serve as a home OS. Even on our fucking cell phones. And video game consoles. And car computers.

    If anything, this point is the opposite of what the need in the marketplace is. Although I think OS X and Windows 2000+ have shown that using an OS designed for servers at home seems to be pretty harmless, all-told.

    And a lot of stuff which was a "waste" on a true server OS (for example, driver support for the hot new video cards) has turned out to be a boon a couple years later when it turns out people started using those hot new video cards to do image recognition.

    He's probably just doing server-first because he's fucking lazy. And this way he can get away without thinking about things like drivers for hot new video cards, or having a GUI grandma can use. Lazy.

    @dkf said:

    Decent Shell Language

    Again: doesn't require a new OS. Every OS currently in use can easily run whatever shell language you'd like to invent. They all have hooks for that.

    Replying to dkf:

    @dkf said:

    Once you're happy with having systematic-enough thinking in order to program, handling some syntax isn't too hard; the syntax was never the show-stopper problem in the first place (well, not for the last 40 years or so).

    That's not to say the syntax can't be improved. Vastly, vastly, vastly improved.

    That's also not to say that the assumptions made by the creators in the 70s and 80s still held true in the 90s, much less the 2010s-- for example, that text is far away the most important type of data. Or that integration with a GUI environment (something, BTW, that AppleScript did pretty damned well in 1994) is completely unimportant. Or that fixed-width font is easiest to read. Or that programs should treat the CLI interface as a API. Etc.

    Throwing out those old assumptions might produce something pretty damned amazing. I mean, PowerShell tried, but it obviously didn't hit the marks people wanted as well as it could have.

    @dkf said:

    Reasonably Secure

    Well duh.

    @dkf said:

    Browsable Executables

    I'm not sure what exactly he means by this. If he means that all executables should have a set of scriptable behaviors, and some sort of dictionary that could be used to look them up, well: then we're back to Apple did this back in the early 90s with AppleEvents. Every executable (that implemented AppleEvents) got a "free" scripting API that any other language could use to script its operations. It was and is still a great idea.

    But this guy is gonna fuck it up because he's firmly in the "CLI should be the API" mindset, I can tell already.

    What other things could it mean for an executable to be "browsable"?

    EDIT: maybe he's talking about, like, the Class Browser available for .net DLLs and executables? Where you can dive into the compiled code, and look at all the classes and methods implemented? I don't see how that's even slightly useful to an end-user, though, even a server admin end-user.



  • @cartman82 said:

    In this client-first world, we are increasingly reliant on various megacorp-controlled fiefdoms for most of our needs. Truly open systems, like email and RSS, are dying out.

    And arguably one of the primary reasons this is so is that setting up any kind of permanent internet presence is HARD. It's hard to get a static IP and configure various routers to DMZ you or pass along traffic and install server software and configure firewall etc.

    His idea to revert this trend is to make it dead simple for ordinary people to have their own servers. In fact, for each PC to be server by default. With IPv6 and fiberoptic internet spreading, this is actually becoming technically feasible.

    Why not have an open standard social sharing protocol, like email or RSS, instead of relying on fucking Facebook?

    I truly 100% get what you're saying, but what the fuck does it have to do with writing a new OS from scratch?



  • @Yamikuronue said:

    I still use it extensively.

    Me too.

    Google was stupid to delete Reader. Google Reader was BY FAR the most successful social network they ever developed.

    @Yamikuronue said:

    Feedly

    Fuck that, get on the NewsBlur.



  • @blakeyrat said:

    I truly 100% get what you're saying, but what the fuck does it have to do with writing a new OS from scratch?

    Probably nothing.

    He added that to the list for his dream OS, but didn't specify how are current systems preventing this from being implemented.



  • I don't see how current OSes are preventing ANYTHING on his list from being implemented. The "filesystem is a database" thing might be slow in existing filesystems, but what's stopping him from writing it? Once its proved its worth, we can optimize.



  • @blakeyrat said:

    I don't see how current OSes are preventing ANYTHING on his list from being implemented. The "filesystem is a database" thing might be slow in existing filesystems, but what's stopping him from writing it? Once its proved its worth, we can optimize.

    Probably the same thing that's preventing you from making your Excel for 21st century visual programming tool.

    Time. Money. Laziness. Lack of skill. Life.

    Pick your combination.



  • Fair point. On that note, give me $5 million.

    On the other hand, I'm not claiming I'd need to make a new OS from scratch to implement my strongly-typed Excel with real-time feedback idea.



  • @blakeyrat said:

    Fair point. On that note, give me $5 million.

    Alas, the assets are frozen due to a clerical error. I will need a small advance to cover the bank fees and lawyer's bill. Paypal details are in the PM.



  • @blakeyrat said:

    But you're going to run into the same problem that every other OS that's tried to do something fancy with filesystems has run into: web protocols are based on lowest-common-denominator 1970s Unix files. The instant your file has to go across the web, you either need to encode it in some way, or that meta-data is lost. (Some file formats can carry meta-data with them-- MP3s for example, or Word docs, but there's no global solution here for all possible files.)

    It would be preserved the same way as directory structure is preserved now.

    Either pack it up using tar, zip or whatever, or don't preserve it at all.

    @blakeyrat said:

    You mean... like in PowerShell?
    Not only can this be implemented in a CLI environment, it already has been. And it didn't require the development of a new OS, either. (Although the .net libraries on their own are complete enough to form the basis for a quite powerful OS.) Next!

    Have you tried using PowerShell?

    It's inscrutable. Despite my best effort, I never ever could get into it.

    I needed to script something on Windows and ended up writing fucking batch files.

    @blakeyrat said:

    Not entirely sure what this means. If he's talking about keeping a change history of every file/piece of data back to the beginning of time, people are very quickly going to run into the slight issue that disk space isn't infinite. (Keeping a few versions back in the otherwise unused portion of the disk is a great idea though. Maybe a large computer company should implement that. They could call it "ShadowCopy" or "Time Machine" or something...)

    Hmm, isn't this basically what cloud storage solutions like DropBox or Google Drive are already doing?

    So it's not exactly impossible, but it's frankly unneeded for 99% of files on a typical computer.

    I would like it baked into the FS and enabled on a per directory (or per tag :-)) basis.



  • @cartman82 said:

    I would like it baked into the FS and enabled on a per directory (or per tag :-)) basis.

    ShadowCopy already exists. The technology's there. That's just configuration.


  • Discourse touched me in a no-no place

    @dkf said:

    Filesystem as database. It's been tried a few times in research OSes and hasn't really stuck
    Fuck, Microsoft has tried to make it not suck in Windows for almost 20 years. There's a reason it's been on the feature list for every single early-stage Windows release and never made it to anything a human being ever touched.


  • Dupa

    @cartman82 said:

    Of course, I never actually used this in reality, so I don't see the downsides right now (discoverability?). I'm sure people would hate this system pretty soon too for some reason or another

    I've found this tool, you might find it worth checking out:


  • Winner of the 2016 Presidential Election

    @cartman82 said:

    Tag based fs would work too.

    The problem with tags (when you abolish the hierarchy): If you save a file with the wrong/incomplete metadata, you might never find it again.



  • Trivia: Do you remember that before Google Drive started providing desktop sync clients, the web interface didn't have folders but "Collections" and a given file could belong to any number of those?

    Now "Folders" in current Google Drive are still the same thing. You can check multiple of them when you "Move" a file.

    Of course when you sync that to desktop, it's just copies all the way down, kept in sync by the client.



  • Wait, I thought any remotely modern OS has this concept of "symbolic links". Or hard links.


  • :belt_onion:

    @dkf said:

    Tagged Filesystem

    @dkf said:

    Data is Typed

    @dkf said:

    Data is Immutable

    You want typed immutable data with tags?

    @blakeyrat said:

    Keeping a few versions back in the otherwise unused portion of the disk is a great idea though. Maybe a large computer company should implement that.

    @cartman82 said:

    I would like it baked into the FS and enabled on a per directory (or per tag :-)) basis.

    You and specially blakey should try gitfs.

    :trolleybus: aside I like it ;)



  • @dse said:

    You want typed immutable data with tags?

    You can "type" a post and use "tags" like <body is invalid. It's immutable because the editor times out.



  • Well, I just tried it with a file and dir doesn't list it as a link. Maybe when they wrote the client, XP was still supported, which still supported the FAT filesystem, which doesn't support symlinks. Or maybe because the client is written in Python and that does not make it that easy to maintain symlinks. I don't know.



  • @blakeyrat said:

    Fuck that, get on the NewsBlur.

    What does it have over Feedly, that would make the transition worth it?



  • Well for one thing, NewsBlur was actually a complete product since day one, unlike Feedly which was just a idiot front-end to Google Reader and they had to do a huge crash-course to get it to work after Reader was shut off.

    To be honest, I haven't tried it since then. And God knows NewsBlur isn't perfect. (One thing I miss: the Google Reader screen that would serve you up just literally random-ass RSS entries from their entire database of feeds. NewsBlur has something kind of like that but it only serves up like 25 articles a day instead of infinite.)



  • So, we should use it because sometime in the past it was (or used to be) a better product?



  • @dse said:

    You and specially blakey should try gitfs.

    So it says "Users can now benefit from using a version-controlled environment without having to learn anything new.".

    Farther down the page, there's a section that says "Watch it in action" which shows someone using a command line.

    Who are "users" in the first statement? I guess they're IT people who have a chance of knowing git and the command line? They can't be referring to end users.


  • Discourse touched me in a no-no place

    @Yamikuronue said:

    @dkf said:
    RSS has mostly died because of aggregator services like FB

    I still use it extensively.

    Ditto.

    Feedly claims over 15 million users, so I'm not alone in that. It's nice to have a curated read list that you maintain rather than some unseen algorithm.
    I [couldn't get away with Feedly though][1], I ended up with [TTRSS][2]:

  • Winner of the 2016 Presidential Election

    but why not Thunderbird?



  • I've been using Slick RSS for quite a while.


  • Discourse touched me in a no-no place

    @Arantor said:

    but why not Thunderbird?

    Not sure who you're replying to, but if it's my post, because I want something synced (both in feeds added and what's been read) where-ever I access it from (home, work, pub) and would work reasonably well on mobile. Since it's on my server, I don't have to do anything special to achieve that. Which brings me to..

    @boomzilla said:

    https://chrome.google.com/webstore/detail/slick-rss/ealjoljnibpdkocmldliaoojpgdkcdob?hl=en

    Sync seems to be a popular request in the reviews on that. Mobile version?



  • @PJH said:

    Sync seems to be a popular request in the reviews on that. Mobile version?

    I only use it on desktop.


  • Winner of the 2016 Presidential Election

    There was a certain amount of :trolleybus: in the suggestion, mostly because Chunderbird is not exactly great at handling RSS.


  • Discourse touched me in a no-no place

    @Arantor said:

    mostly because Chunderbird is not exactly great at handling RSS.

    ... ah. Just had a look and see what you mean...



  • GET ON THE NEWSBLUR!

    Body is invalid; try to be a little more descriptive

    I like how they have the correct semi-colon usage there, but didn't bother with a period. Here at Discourse Inc. we get the more complex punctuation correct, but fuck-up the super-simple punctuation even 3-year-olds understand.


  • Discourse touched me in a no-no place

    @blakeyrat said:

    Here at Discourse Inc. we get the more complex punctuation correct, but fuck-up the super-simple punctuation even 3-year-olds understand.

    It's almost like it's some kind of metaphor.



  • @Arantor said:

    but why not Thunderbird?

    "How does Thurnderbird show grumpy cat?!?!"


  • Winner of the 2016 Presidential Election

    Slowly?


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.