Microsoft famously called G'Nunix a cancer. They naturally used a word for it which everyone who was not famous kept saying was the wrong one for it. Fame, for me, was a matter of being respected by people around me: some people around me called a video player that circumvented the region restrictions that had been wedged into law when we didn't know what the word is is for, the best result of the GNU project.
On account of metaphor and allegory, the word is, is not to be used as an expression of equality.
But GPL is GNU; and Linux did not think that worrying about what it was being called was more important than ensuring it could run on the most common hardware available.
Thus Linux is GNU, also.
We need to have a sense of humour; some businesses do indeed hire people almost exclusively for what theirs brings to the business.
Contractors tend not to have a sense of humour. It may so be that the discussion upon the matter of how much per hour to charge for one, goes round and round and round. But that just means they haven't gotten round to noticing that they aught to state their fee upon the matter of the hourly rate for the discussion of the hourly rate for a sense of humour.
And then we apply induction.
I have not been much of a help to GPL. The early indications I received was that we aught to ensure that the system could do just what its competitors are doing, which would mean replacing an ongoing concern that is dependent on the apps which GNU does not have, is something a contractor could suggest as a feasible plan of action.
I have not had much time to work on apps and libs since I started this website and turned my hand to seeing if I could entangle a reader or two in my thoughts.
I have not had any patience with layers, nor with subsystems.
I have not been sure how to speak for GPL without entering into gender debates.
Persistence is key, it seems: now let me go and preach to Mom.
To do so, I'd have to give her a reason that she could share with others, as to why she was refusing to use MS-Win or other guis that are made by companies who seem to be making significant contributions to GNU. I would have to give her this reason because there wouldn't be much that she could do with my request that she adopt the GPL religion and call herself a GNU.
So, in the meantime, we insist that the identifier S_Windows, pronounced in any way that suits the fancy, be used to refer to that which declared itself as not a cancer.
But definitely not pronounced z-windows, because X-Windows is GNU.
Now please go and do your background research before accusing GNUs of fucking around with words.
If you come to thinking that a contribution to a project might allow a business to declare itself as the custodian of it, you might no longer be looking at presidents.
If you think a website, designed to allow GNUs and any FOSS fools to make backups of their projects, with a place where they may receive feedback, is the same thing as being a custodian of a project, while I'd like to tell you to go back to school, I too was left with the inability to make nice distinctions, when those nice distinctions are totally fucking critical to every business, which businesses must be marvels of miracles if they exist without the knowledge.
There are nice distinctions, and then there are fine distinctions which may or may not be nice.
For instance, we have a file. This cannot exist outside of a filesystem tree. That's pretty and nice, once you forget about the files that some people stuff into their trees. To use a file one needs a set of four syscalls, which are subroutines that get us to contemplate the Kernel.
It is useful to assume Kernel is attached to one tree; this attachment might be said to offer a nice distinction between a Micro-Kernel and a Linus-Kernel, but I won't say that, because struggling activist programmers, and i-like-coffee-do-you-like-coffee programmers, who have life so easy they ride around on bicycles or just walk, deserve the final word.
Thus the syscall reaches through Kernel to the tree. This is something Microcomputer programmers struggled with because in the name of efficiency we can in fact twiddle with the filesystem file.
"Hello Kernel, don't mind me. BTW do you really need to be there at all?"
"You don't have to answer now. I'm just asking because I'm curious and my boyfriend says filesystem files are the easiest thing in the world to work on."
We might think about attaching Kernel to a relational database instead of a tree. The question then is, who is going to bother themselves about structure?
A relational database file is something which underlies a filesystem file. I haven't been reading the news lately: have they published the Theory of Relational Databases yet?
I'm just asking; not because I'm curious, but because while we do have tools to edit every aspect of relational databases, rdbs that are talked about over tea come with the recommendation that a computer with that rdb app on it, runs nothing else.
And then we must look at the network.
And Unix Giants that caught us with their slogans.
But after all this prevaricating, or what may seem like it, the difference between the four syscalls on S_Windows and their Unix equivalent, which GNU faithfully adopted, have to do with the identifiers HANDLE and int. This parameter is called a file descriptor, simply because we have to call it something.
But this is not nice: firstly, we want an identifier and not a phrase.
Secondly, standards organizations whose job was to standardize operating system identifiers, washed their hands of a bad job. Standards organizations whose job was to standardize networking protocols, just began to hum.
And now they talk about the good old days of humming acquiesence.
I'm sure as a donkey that once you've pointed your ears at two standards organizations in accusation, they'll be thinking about multiplication.
But working my tongue has required me to show something like a donkey to my family, and once the dust has settled I'll have no reason to remain in my mother country.
My destination has not been settled. I'm thinking about somewhere a jack-of-all-trades could be useful; making ourselves useful with our skills is something we have a decided tendency to desire.
But a Jonnes can't travel unless he has a place at the destination in which he may recover, before sitting down for tea and scones, and before being told about how many people were offended by his demeanour. And so, incongruously perhaps, he would tell relations that he'll get hold of them from his hotel when he's good and ready.
But now we contemplate a hotel and the word file pops back at us. Except for hotels which boss the guests about by telling them that there's a set time for the room to be cleaned and they better go and lounge by the pool or get drunk, or both, we see that the very idea of a hotel is for a Jonnes.
'Please create a file for me.'
You'll note that we're not asked what type of file to create, but we will need to give it a name; we would also assume that the hotel keeps files under the names of their guests.
By a strange coincidence both G'nunix and S_Windows have paths for their guests, which are called users ('guest' is an anonymous user). That the paths differ significantly is frightfully annoying, but we can't blame S_Windows or Microsoft for that.
And there is something Unix got wrong, which no-one seems to be bothered about, at present: if you ask for a file to be opened with a particular name, you yourself will have an idea whether you want the file created if it doesn't exist, or if your request truly fits the word open; thus there aught to be two syscalls, for else we must make use of constants to indicate this difference.
Fortunately we are at liberty to rectify this omission by hiding the constants in subroutines which are at times called wrappers, but, possibly not without cause, we'd rather call them compatibility routines. Thus we give ourselves create_file and open_file.
Permissions do need to be thunked about. But this is not something a guest need trouble themselves with.
Now we come back to the confusing term, file descriptor. When a file is open, the guest has a handle to it. We only need to know that this handle is a something of a certain size.
Looking at my own revision effort, which includes the matter of sexing a struct, I note that one pronoun can cause no offence and has personal reasons for me to choose it in thinking of the communication between a brother and a sister, and thus I give myself some more renaming work to do for sometime when I feel like bringing my reference implementations up to scratch.
This can be a typedef or it can be a wrapper struct.
On my previous revision I went into the matter of temporary files. In a gentleman's hotel, a creature in a short skirt is either not permitted to wander about, or is included as what may be obtained with room service.
The matter of overwriting a file atomically will first require us to explain what atomic refers to.
And if I don't end this right here, I'm going to think about uncompleted drafts, which brings me to contemplate filesystem management syscalls and I haven't yet completed my list of four, which is now five.
create_file, open_file, read_file, write_file, goodbye.
I don't know what happened to free, but it has nothing to do with files. I hereby circumscribe this webdoc as a misnomer.