So I decided to try to update part of my toolchain...
-
This post is deleted!
-
@Gąska said in So I decided to try to update part of my toolchain...:
Putting the discussion of filesystems aside for a moment - that sounds like a giant pile of WTFs. What if some server fails? Is the entire company unable to build until replacement arrives?
It's no problem, just plop another server in its place with the same name and copy of the files, and it's fine!
-
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
Putting the discussion of filesystems aside for a moment - that sounds like a giant pile of WTFs. What if some server fails? Is the entire company unable to build until replacement arrives?
It's no problem, just plop another server in its place with the same name and copy of the files, and it's fine!
What part of "until replacement arrives" do you not understand?
-
@Gąska I'll admit I'm going off of memory, but to my knowledge Shadow Copy is essentially a copy-on-write mechanism used most often in the case of backup, and is the equivalent of a snapshot in time of the file in question.
I might be conflating this with some other thing, but I'm about 61 percent sure this function fulfills the backup and restore built-in functionality.
-
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@levicki said in So I decided to try to update part of my toolchain...:
In short, you would backup a file by using file manager Backup option and you would restore it using Restore option. Why would you want to do that complicated dance routine with many steps when system could do it for you in two steps?
Which is why it's a commonly used feature of all filesystems since they've supported that for a while now....
Not in the form we're talking about.
What form are you looking for? I'm confused now.
Instant backup of a single file right there in the context menu, working out of the box with no setup necessary.
Just because Microsoft deemed it unnecessary to have a one-click create-shadow-copy function, doesn't mean it can't be done.
You have your answer why it's not being used.
Not really. Or are you insinuating that the literal only reason why we're not using this magic new filesystem is that $Deity hasn't made it yet?
This, and backward compatibility. Even if someone made it, it would take near-infinite time to port everything over.
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@levicki said in So I decided to try to update part of my toolchain...:
In short, you would backup a file by using file manager Backup option and you would restore it using Restore option. Why would you want to do that complicated dance routine with many steps when system could do it for you in two steps?
Which is why it's a commonly used feature of all filesystems since they've supported that for a while now....
Not in the form we're talking about.
What form are you looking for? I'm confused now.
Instant backup of a single file right there in the context menu, working out of the box with no setup necessary.
Just because Microsoft deemed it unnecessary to have a one-click create-shadow-copy function, doesn't mean it can't be done.
You have your answer why it's not being used.
Not really. Or are you insinuating that the literal only reason why we're not using this magic new filesystem is that $Deity hasn't made it yet?
This, and backward compatibility.
Eh, don't worry about it. The software breaks with spaces in name all the time. Any attempt at compatibility would have no visible effects to just keeping the original system, no?
-
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@levicki said in So I decided to try to update part of my toolchain...:
In short, you would backup a file by using file manager Backup option and you would restore it using Restore option. Why would you want to do that complicated dance routine with many steps when system could do it for you in two steps?
Which is why it's a commonly used feature of all filesystems since they've supported that for a while now....
Not in the form we're talking about.
What form are you looking for? I'm confused now.
Instant backup of a single file right there in the context menu, working out of the box with no setup necessary.
Just because Microsoft deemed it unnecessary to have a one-click create-shadow-copy function, doesn't mean it can't be done.
You have your answer why it's not being used.
Not really. Or are you insinuating that the literal only reason why we're not using this magic new filesystem is that $Deity hasn't made it yet?
This, and backward compatibility.
Eh, don't worry about it.
I don't. The entire discussion is under assumption that we don't care at all about backward compatibility. This makes it completely impractical in real life (at least until the next revolution - see some number of posts above), but it allows us to talk about it at all. Because discussing ideas is useful even when they don't have immediate practical use. See: almost every field of mathematics back when it was just invented.
-
@Gąska said in So I decided to try to update part of my toolchain...:
There are no paths but there are still directories which can contain other directories.
How is a directory that contains another directory not a path?
-
@Gąska said in So I decided to try to update part of my toolchain...:
Like modules that can have submodules, and each submodule can have its own submodules
This is exactly what I deal with 40 hours a week (when I'm not reading TDWTF). And those submodules may be layered dozens of layers deep.
-
@Gąska said in So I decided to try to update part of my toolchain...:
What if some server fails? Is the entire company unable to build until replacement arrives?
No, but presumably any projects that use those specific tools are unable to build until IT restores to another server and tells the rest of the machines to mount
/tool/foo/bar
fromfileserv2
instead offileserv1
.FWIW, it appears each of the dozens of machines in our server farm has its own copy of
/tool/foo/bar
on a local disk. Almost everything else is served from a single server, which I'm sure must be a cluster, because it's providing hundreds of TB of storage.
-
@Gąska said in So I decided to try to update part of my toolchain...:
@dcon with 128 bits, you can generate million new IDs every femtosecond, and by the time the Sun becomes a white dwarf, you'd still have a good chunk of unused IDs left. For in-partition file identifier, 128 bits really is enough for everybody.
But but but I want a database that describes every atom of every celestial object in every galaxy!
Also, if you're generating them at random, you'll run into problems around 264.
-
@HardwareGeek said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
There are no paths but there are still directories which can contain other directories.
How is a directory that contains another directory not a path?
Path is made by concatenating individual filenames/IDs to form a new identifier that's used to access some file. When you don't concatenate names/IDs, you don't have a path. And with system-unique IDs for all files, you don't need concatenation - you start with a directory, you query its content, and the result comes in form of file IDs that are ready to use immediately, without having to connect them with the parent ID first. So you have hierarchical directories, but don't have paths.
-
@boomzilla said in So I decided to try to update part of my toolchain...:
@dkf said in So I decided to try to update part of my toolchain...:
@pie_flavor said in So I decided to try to update part of my toolchain...:
The OS assigns a GUID when the file arrives.
The simple mechanism is to use a pair: a filesystem ID (which can be computed at creation from a reasonable RNG) and a local ID that's only unique within the FS. You could pretend that the whole ID is the concatenation of these, or that you have a tuple: I don't care which.
I'm having a lot of fun watching people recreate what's essentially identical to a normal directory structure except with incomprehensible random sequences of characters.
I'm quite satisfied that since my thread has served its purpose, it's now become home to an intellectual circlejerk.
-
@levicki said in So I decided to try to update part of my toolchain...:
The reason why people made a copy of a file, modified said copy, and then overwrote the original was that filesystems were inherently unreliable because they were not transacted and media was much less reliable than today. There is absolutely no need to do it that way now yet people cling to it.
Um. He's not talking about file corruption from the system. He's talking about
vim filename
OMFG I destroyed the file trying to exit! In other words, normal, allowed user edits. NOTHING in your new filesystem can prevent that.
-
@HardwareGeek said in So I decided to try to update part of my toolchain...:
FWIW, it appears each of the dozens of machines in our server farm has its own copy of
/tool/foo/bar
on a local disk. Almost everything else is served from a single server, which I'm sure must be a cluster, because it's providing hundreds of TB of storage.That's quite a different picture from what I thought initially. And depending on what exactly is being replicated on every server vs. only kept in cluster, it might actually be perfectly sensible.
-
@levicki said in So I decided to try to update part of my toolchain...:
If all of them attached their
Notes.docx
to their emails and you saved those files to your local drive... oh wait, you could not save them all to the same folder because having identical filenames is not supported.Which means you would either:
- End up creating 42 folders and saving each file into separate folder.
- Save 42 files using Save As each time manually specifying different name.
- Let the mail program deal with it by saving files with auto-rename on conflict
Notes.docx
,Notes (1).docx
, ...Notes (11).docx
, etc.
- Let the user save each attachment with a unique and descriptive name, e.g.
Notes - John Doe.docx
. - Or let the requester instruct the senders to put their own damn names into their respective attachment file names.
I don't see what's so hard about this. Office workers all over the world seem to have managed to work around this problem.
-
@boomzilla said in So I decided to try to update part of my toolchain...:
Never used it. Hopefully never will.
This is how I feel when people ask me to explain something about Java.
-
@Groaner said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@dcon with 128 bits, you can generate million new IDs every femtosecond, and by the time the Sun becomes a white dwarf, you'd still have a good chunk of unused IDs left. For in-partition file identifier, 128 bits really is enough for everybody.
But but but I want a database that describes every atom of every celestial object in every galaxy!
That's why I said "for in-partition file identifier". Specifically to avoid stupid comments like this.
Also, if you're generating them at random, you'll run into problems around 264.
And the problem wouldn't be 128 bits - the problem would be doing things at random.
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska you forgot "badly written programs can never use hierarchical layout for files, because there is no path!"
There are no paths but there are still directories which can contain other directories. Your hierarchies will be fine.
-
Also
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
you wouldn't believe how people here reacted the last time I proposed UID-only filesystem
Something tells me that's an extremely small slice of the picture...
@Tsaukpaetra have you changed your mind yet?
-
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
We've had such a nice, technical discussion full of insightful points and good faith arguments. But then the
modstrolls came and ruined everything.Yeah, what's the latest on the ogre project thing? It's been a while...
I'm more or less up and running on VS2017 and 1.11 (and the latest and greatest I could find for everything else) for the core project.
Ogitor is still on 1.9, and will stay that way until I can find or get a Qt 4.x to build with VS2017, but this is a much less pressing issue as the binary persistence formats haven't changed between 1.9 and 1.11.
I'm about to get back on the project backlog, but first I may have to do some tweaking as I upgraded Bullet and physics engines are quirky beasts. But there aren't really any major bugs left.
-
@Gąska said in So I decided to try to update part of my toolchain...:
Also
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
you wouldn't believe how people here reacted the last time I proposed UID-only filesystem
Something tells me that's an extremely small slice of the picture...
@Tsaukpaetra have you changed your mind yet?
Not really, no.
-
@Tsaukpaetra I guess there's no point pestering you any more about it if you consider 90% to be extremely small part.
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra I guess there's no point pestering you any more about it if you consider 90% to be extremely small part.
90 percent of what? You've lost me again.
-
@Tsaukpaetra 90% of what was being discussed here and triggered the usual reactions from the usual suspects. Or as you put it in the post I quoted, "the picture".
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra 90% of what was being discussed here and triggered the usual reactions from the usual suspects. Or as you put it in the post I quoted, "the picture".
Ah, you seem to have misinterpreted what I said. But that's fine. I don't really care either way, people can circlejerk and whizbang and reeeee all they want on the Internet.
-
@Tsaukpaetra we seem to be in perpetual cycle of mutual misunderstanding caused by at least one of us not even trying to understand the other and not bothering to clarify themselves.
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra we seem to be in perpetual cycle of mutual misunderstanding caused by at least one of us not even trying to understand the other and not bothering to clarify themselves.
I blame indifference on the part of at least one of us.
-
@Tsaukpaetra sometimes, I wish indifferent people would just stop stirring shit on every occasion.
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra sometimes, I wish indifferent people would just stop stirring shit on every occasion.
What's the fun in that? Without stirred shit or aired laundry this place almost literally would not exist.
-
@Tsaukpaetra quite the opposite - it would gain a whole new life if people stopped being such assholes.
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra quite the opposite - it would gain a whole new life if people stopped being such assholes.
I have my doubts, but feel free to prove me wrong. I'd love that.
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra quite the opposite - it would gain a whole new life if people stopped being such assholes.
I have to say, your Blakeyrat emulator is working pretty well.
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra quite the opposite - it would gain a whole new life if people stopped being such assholes.
And my life would be so much easier without all those pesky users, but here we are.
A question though. What do you think of UWP, in relation to your goal of a system that does not allow shit software to B*****m all over the rest of the system?
After all, it is the most aggressively pushed replacement to the most popular (and abused) system currently.
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra quite the opposite - it would gain a whole new life if people stopped being such assholes.
No.
-
@acrow said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra quite the opposite - it would gain a whole new life if people stopped being such assholes.
And my life would be so much easier without all those pesky users, but here we are.
The difference is, we need users.
A question though. What do you think of UWP, in relation to your goal of a system that does not allow shit software to B*****m all over the rest of the system?
After all, it is the most aggressively pushed replacement to the most popular (and abused) system currently.Architecturally, it was a step in the right direction. But they fucked up many things on the way. First, they've put big limitations in what you can do with UWP apps - half of WinAPI doesn't work, including things like runtime code generation, which is an absolute deal breaker for web browsers, bytecode-based programming stacks, and other kinds of applications that need JIT. And their obsession with unifying desktops with smartphones has done more harm than good. Also, they made distributing apps outside Windows Store very obnoxious, basically guaranteeing it will never catch on for real (unlike Windows, smartphone app stores didn't have to compete against what they've had before). And of course, all the other bad decisions they've made with Windows 8 have killed UWP on the marketing front.
-
@loopback0 said in So I decided to try to update part of my toolchain...:
I believe the next step is calling this a Civilised Filesystem™.
Pathnames are Not Welcome Here.
-
@Gąska said in So I decided to try to update part of my toolchain...:
The difference is, we need users.
And users want to name files. They actually like doing it. Many of the more advanced users like grouping their files together in various ways, especially when they have a lot of files. And that stuff starts to leak through. You can try to organise things in a more arbitrary fashion by tagged collections and so on, but that's actually beyond what almost all users will understand (except for the more talented of programmers). Let's face it, your ideas are all well and good but really haven't proved that they're going to catch on at all, and there's evidence to suggest that they won't.
-
@dkf said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
The difference is, we need users.
And users want to name files.
And no one is talking about taking that away.
They actually like doing it.
Actually, most people don't.
Many of the more advanced users like grouping their files together in various ways, especially when they have a lot of files.
And no one is talking about taking that away.
You can try to organise things in a more arbitrary fashion by tagged collections and so on, but that's actually beyond what almost all users will understand (except for the more talented of programmers).
Explains why Gmail was such a failure. Oh wait.
Let's face it, your ideas are all well and good
Thanks! Glad to know you also see what an utter mess the concept of file paths has caused and what a great improvement it would be to get rid of it. I'm pleasantly surprised!
but really haven't proved that they're going to catch on at all, and there's evidence to suggest that they won't.
I thought I made it very clear that I don't actually want to implement any of this, exactly because it'll never catch on? (Though it's not for the reasons you stated - the only real problem is backward compatibility.)
-
@Gąska said in So I decided to try to update part of my toolchain...:
@acrow said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra quite the opposite - it would gain a whole new life if people stopped being such assholes.
And my life would be so much easier without all those pesky users, but here we are.
The difference is, we need users.
A question though. What do you think of UWP, in relation to your goal of a system that does not allow shit software to B*****m all over the rest of the system?
After all, it is the most aggressively pushed replacement to the most popular (and abused) system currently.Architecturally, it was a step in the right direction. But they fucked up many things on the way. First, they've put big limitations in what you can do with UWP apps - half of WinAPI doesn't work, including things like runtime code generation, which is an absolute deal breaker for web browsers, bytecode-based programming stacks, and other kinds of applications that need JIT. And their obsession with unifying desktops with smartphones has done more harm than good. Also, they made distributing apps outside Windows Store very obnoxious, basically guaranteeing it will never catch on for real (unlike Windows, smartphone app stores didn't have to compete against what they've had before). And of course, all the other bad decisions they've made with Windows 8 have killed UWP on the marketing front.
I knew about the API limitations. But I was looking more for your take on their handling of the program files, user files, and access thereto. Care to expand on that?
-
@acrow I haven't really looked at that in depth (never made any UWP apps so never had to), so I'd have to read up on that first.
-
@levicki said in So I decided to try to update part of my toolchain...:
@boomzilla Which means you didn't understand that nobody wanted UIDs to be user visible here and that files would still have names but instead of path they would consist of tags (which you could display hierarchically as a tree if you so desire). Just removing recursive lookup for traversing directory tree would greatly simplify and speed up things, not to mention keeping those tags in database tables which are indexed and fast to search with the option to create views into filesystem with predefined search tags.
Which means you didn't understand my post that you were simply reinventing what we already have but making it more complicated.
-
@Gąska said in So I decided to try to update part of my toolchain...:
@boomzilla said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@boomzilla said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@boomzilla said in So I decided to try to update part of my toolchain...:
In any case, the idea that modern filesystems are fundamentally broken is laughable.
The only laughable thing is your irrational fear of new ideas.
No one is afraid here. I already said that you guys were funny. That's not the same as scary. You could look it up.
Being innovative is funny. K.
Have you been to the Internet of Shit or the Dumb Things Being Crowdfunded threads?
Many times. And I've had a good laugh there. Because there was something actually wrong with those projects and I could tell you exactly what is wrong with them in one simple sentence.
Like this?
@boomzilla said in So I decided to try to update part of my toolchain...:
I'm having a lot of fun watching people recreate what's essentially identical to a normal directory structure except with incomprehensible random sequences of characters.
Like this, except I'd prefer something that's actually true.
Hmm...are you actually in @tart_savor's world?
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
And I'd like to introduce you to the concept of reading what people have posted before commenting on it. Because clearly you didn't.
Ain't nobody got time for that!
He'd save even more time by getting the fuck out of this topic!
And miss all the free entertainment?
-
@boomzilla said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@boomzilla said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@boomzilla said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@boomzilla said in So I decided to try to update part of my toolchain...:
In any case, the idea that modern filesystems are fundamentally broken is laughable.
The only laughable thing is your irrational fear of new ideas.
No one is afraid here. I already said that you guys were funny. That's not the same as scary. You could look it up.
Being innovative is funny. K.
Have you been to the Internet of Shit or the Dumb Things Being Crowdfunded threads?
Many times. And I've had a good laugh there. Because there was something actually wrong with those projects and I could tell you exactly what is wrong with them in one simple sentence.
Like this?
@boomzilla said in So I decided to try to update part of my toolchain...:
I'm having a lot of fun watching people recreate what's essentially identical to a normal directory structure except with incomprehensible random sequences of characters.
Like this, except I'd prefer something that's actually true.
Hmm...are you actually in @tart_savor's world?
What?
-
@Gąska said in So I decided to try to update part of my toolchain...:
@HardwareGeek said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
There are no paths but there are still directories which can contain other directories.
How is a directory that contains another directory not a path?
Path is made by concatenating individual filenames/IDs to form a new identifier that's used to access some file. When you don't concatenate names/IDs, you don't have a path. And with system-unique IDs for all files, you don't need concatenation - you start with a directory, you query its content, and the result comes in form of file IDs that are ready to use immediately, without having to connect them with the parent ID first. So you have hierarchical directories, but don't have paths.
How do you identify this file in something like a makefile or a configuration file? How would I identify it from the command line?
-
@Gąska said in So I decided to try to update part of my toolchain...:
@Tsaukpaetra 90% of what was being discussed here and triggered the usual reactions from the usual suspects. Or as you put it in the post I quoted, "the picture".
Never go full @masonwheeler. See: hyperloop.
-
@boomzilla what?
-
@Gąska you read me.
-
@boomzilla said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
@HardwareGeek said in So I decided to try to update part of my toolchain...:
@Gąska said in So I decided to try to update part of my toolchain...:
There are no paths but there are still directories which can contain other directories.
How is a directory that contains another directory not a path?
Path is made by concatenating individual filenames/IDs to form a new identifier that's used to access some file. When you don't concatenate names/IDs, you don't have a path. And with system-unique IDs for all files, you don't need concatenation - you start with a directory, you query its content, and the result comes in form of file IDs that are ready to use immediately, without having to connect them with the parent ID first. So you have hierarchical directories, but don't have paths.
How do you identify this file in something like a makefile
You're really terrible at reading comprehension. I don't feel like repeating myself right now.
or a configuration file?
What do you mean? What's so hard about it? Configuration files is like the easiest use case imaginable and there's literally nothing that can go wrong.
How would I identify it from the command line?
By making command line smarter. If you want more details, go dig up posts from the last time we've had this discussion.