From: Dmitry A. Kazakov on
On Fri, 15 Jan 2010 13:05:38 -0800 (PST), Maciej Sobczak wrote:

> On 15 Sty, 09:37, "Dmitry A. Kazakov" <mail...(a)dmitry-kazakov.de>
> wrote:
>
>> The problem is what do you do with the blob beyond undoubtedly enjoyable
>> moving it for one memory stick to another.
>
> Nothing, because as long as the blob is on the stick, there is nothing
> else I might want to do with it.
> The blob becomes useful only when it is loaded into memory.

How does it?

>> Because your file system has completely nothing to do with the contents,
>> there is neither any gain nor any loss.
>
> The added value is that of name resolution. I can name my file (OK,
> blob) as "my_homework_program.adb" and this intermediary naming layer
> helps me with recognition of the content - otherwise I would have to
> deal with sector numbers. The added value is exactly the same as that
> of DNS, so that I do not have to type in the IP address of the
> newsgroup service that I'm using right now.

You don't need names for something, which is useless. You said it is
useless when on the stick (which is of course wrong).

> The purpose of the file system is to bring understanding to the
> digital mess and the current file systems do their job pretty well.

Sorry, but I don't know which kind of understanding you mean. In any case,
"understanding" is not the purpose of the file system.

There are certain functionality a persistent store must provide. Among them
enumeration, efficient indexing, naming, notifications, journaling,
identification, distribution, authentication, consistency and so on. Modern
file systems is a persistent store that fulfills some of these
requirements. "Understanding" is not in this list.

>>> In this context, the advantage of the file system is that it does not
>>> impose any assumptions about the OS itself.
>>
>> How so? It requires the file system to be implemented on each OS you wanted
>> to attach the device to.
>
> And the fact that my USB stick works everywhere shows that this
> assumption is realistic. The assumption that the target OS is pure-OO
> would not be.

Assumption? It is not an assumption, it is a fact, that somebody sat down
and wrote the implementation of FAT for the OS X1. Why he or someone else
could not do this for an OO X2 persistence layer?

>>> I'm afraid that the omnipresent computing will bring us omnipresent
>>> untypedness - or at least this is the current trend, if popularity of
>>> programming languages is to be taken as any indication...
>>
>> Is there an increase in the number of commercial projects done in those
>> languages?
>
> Are you sure you are still living in a world where
> "commercial" (whatever that means) is equivalent to "leading"?

It is an equivalent to "measurable". You can measure involvement in serious
projects by investments in.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
From: nobody on
Shark8 wrote:
> On Jan 12, 3:39 pm, nobody <nob...(a)nowhere.com> wrote:
>
>>Shark8 wrote:
>>
>>>The problem about having no I/O is that there are some file-formats
>>>which ARE sequential-in-nature as opposed to Random-access/Record-in-
>>>nature: Midi and Huffman encoding (actually MOST compression would
>>>fall here) are to examples off the top of my head. Or am I
>>>misunderstanding what you mean?
>>
>>That is just implementation details that should(can) be hidden from the
>>application code. Stick to the objects. Don't forget associations.
>
>
> Aren't associations rather trivial if we derive all files from some
> base tagged-type and use the tag as the type-identifier?

Only for -to one. But how about -to many and -to one or many or ....

For me associations are also almost always bidirectional.

So just a simple tag reference may not be enough and standardised ways
to navigate would be great.

From: Lucretia on
On Jan 13, 8:37 pm, Shark8 <onewingedsh...(a)gmail.com> wrote:

> Nifty. I came across your blog a while back as I was looking up some
> Ada 2005 features (thank you for your explanation, in particular);
> it's pretty good, IMO. If you'd like to pop me an e-mail or IM and
> talk-shop about OS/OS-design I'd be more than happy to do so. {The
> same goes for everyone else who's interested.}

I don't really use IM, feel free to drop by #Ada on Freenode tho :)

Luke.
From: Maciej Sobczak on
On 15 Sty, 22:48, "Dmitry A. Kazakov" <mail...(a)dmitry-kazakov.de>
wrote:

> > The blob becomes useful only when it is loaded into memory.
>
> How does it?

By becoming a typed entity that is referenced within the actively
executed program. This is the moment when blob becomes useful.

> > The added value is that of name resolution.

> You don't need names for something, which is useless. You said it is
> useless when on the stick (which is of course wrong).

Ah, so we are again at the discussion style that will lead us nowhere.
But let's try for a while.

Several posts ago you have requested to execute actions on objects.
"Play" was an action on the movie - you wanted that. When I said that
the blob (a file, essentially) becomes useful when it is loaded into
memory, I meant that it is the interpretation of the blob that gives
it some requested capabilities.
You want it to "Play", but I might want it to blur or sharpen instead.
The point is that I can blur or sharpen a "movie" thanks to the fact
that I see it at a different level that you wanted to see it and that
would not be possible with pure-OO approaches (unless you allow
Unchecked_Conversion, but that brings us back to blobs anyway).

> > The purpose of the file system is to bring understanding to the
> > digital mess and the current file systems do their job pretty well.
>
> Sorry, but I don't know which kind of understanding you mean.

Apparently you do not understand. :-)

> In any case,
> "understanding" is not the purpose of the file system.

Well, I use it for this purpose.

> There are certain functionality a persistent store must provide. Among them
> enumeration, efficient indexing, naming, notifications, journaling,
> identification, distribution, authentication, consistency and so on. Modern
> file systems is a persistent store that fulfills some of these
> requirements. "Understanding" is not in this list.

Because you did not put it on that list. I'm not going to discuss it
this way.

http://en.wikipedia.org/wiki/File_System

"file system is a method of storing and organizing computer files and
the data they contain to make it easy to find and access them"

For me, "organizing" and "easy to find" are two aspects of
"understanding what is on the drive". In any case, I understand what I
have on my drive.

> > And the fact that my USB stick works everywhere shows that this
> > assumption is realistic. The assumption that the target OS is pure-OO
> > would not be.
>
> Assumption? It is not an assumption, it is a fact, that somebody sat down
> and wrote the implementation of FAT for the OS X1. Why he or someone else
> could not do this for an OO X2 persistence layer?

The only way to implement any persistence layer across different OSs
is to have it not coupled to any OS. If you have pure-OO OS (that is,
when *everything* in this system is OO) then it's persistence layer
cannot be implemented on other, non-OO OSs.

Current file systems (the ones with blobs) serve well as "common
denominators" and this is exactly their value.

> > Are you sure you are still living in a world where
> > "commercial" (whatever that means) is equivalent to "leading"?
>
> It is an equivalent to "measurable". You can measure involvement in serious
> projects by investments in.

That's one approach. Another is to measure involvement by
participation. In the age of social-this, social-that and social-
whatever, the accounting is different.

--
Maciej Sobczak * www.msobczak.com * www.inspirel.com

Database Access Library for Ada: www.inspirel.com/soci-ada
From: Dmitry A. Kazakov on
On Sat, 16 Jan 2010 13:18:46 -0800 (PST), Maciej Sobczak wrote:

> On 15 Sty, 22:48, "Dmitry A. Kazakov" <mail...(a)dmitry-kazakov.de>
> wrote:
>
>>> The blob becomes useful only when it is loaded into memory.
>>
>> How does it?
>
> By becoming a typed entity that is referenced within the actively
> executed program. This is the moment when blob becomes useful.

So the file containing a movie is useless?

> Several posts ago you have requested to execute actions on objects.
> "Play" was an action on the movie - you wanted that. When I said that
> the blob (a file, essentially) becomes useful when it is loaded into
> memory, I meant that it is the interpretation of the blob that gives
> it some requested capabilities.

Is there any player that loads movies into the memory? That must be a very
curious one. I also assume that data bases are all totally useless if their
contents do not fit into the memory? There still exist text editors capable
to handle files bigger than the virtual memory.

Note that your argument its bogus, because being logically continued, no
object is useful if not in the CPU cache. But, wait, those are useless too,
because not in the registers. Wait, no, they must be on the wire in the CPU
to be useful.

>> In any case,
>> "understanding" is not the purpose of the file system.
>
> Well, I use it for this purpose.

Others uses microscopes to crack nuts...

>> There are certain functionality a persistent store must provide. Among them
>> enumeration, efficient indexing, naming, notifications, journaling,
>> identification, distribution, authentication, consistency and so on. Modern
>> file systems is a persistent store that fulfills some of these
>> requirements. "Understanding" is not in this list.
>
> Because you did not put it on that list. I'm not going to discuss it
> this way.
>
> http://en.wikipedia.org/wiki/File_System
>
> "file system is a method of storing and organizing computer files and
> the data they contain to make it easy to find and access them"

System is a method? (:-)) That sort of definition does not deserve to be
discussed.

>>> And the fact that my USB stick works everywhere shows that this
>>> assumption is realistic. The assumption that the target OS is pure-OO
>>> would not be.
>>
>> Assumption? It is not an assumption, it is a fact, that somebody sat down
>> and wrote the implementation of FAT for the OS X1. Why he or someone else
>> could not do this for an OO X2 persistence layer?
>
> The only way to implement any persistence layer across different OSs
> is to have it not coupled to any OS.

I cannot comment on that, because I don't know the meaning of the word
"coupled" you are using here.

> If you have pure-OO OS (that is,
> when *everything* in this system is OO) then it's persistence layer
> cannot be implemented on other, non-OO OSs.

That is a logical fallacy:

X has no A AND X has A => X is not X

X=OS, A=OO. Yes, if the OS is defined as not supporting persistent objects,
then no OS can support them.

> Current file systems (the ones with blobs) serve well as "common
> denominators" and this is exactly their value.

And the unicycle is the common denominator of all vehicles, therefore cars
with four wheels are useless...

>>> Are you sure you are still living in a world where
>>> "commercial" (whatever that means) is equivalent to "leading"?
>>
>> It is an equivalent to "measurable". You can measure involvement in serious
>> projects by investments in.
>
> That's one approach. Another is to measure involvement by
> participation. In the age of social-this, social-that and social-
> whatever, the accounting is different.

I must disappoint you. That measurement was used first in the age of
slavery, when the time assigned to the activity (then performed by slaves)
was the measure. This measure is quite poor because workers are different
and activities are too. This is why slavery, corv�e, socialized economies
gave way to the free market ones. One can use that "different" accounting
to fool others, but better not oneself.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de