I didn't post here for a while because I wasn't sure whether the group
was still alive or not. But now there's been a couple of posts, hell,
why not?
A while ago I wrote about Yoshimi [1], a concept OS based on a
persistent purely functional virtual machine, which uses lazy
evaluation and type systems and so on to make an efficient,
user-friendly interface.
It's a bit old, and I hadn't heard of TUNES at the time (though I'd
read articles by people who were definitely inspired by it), but I
think you folks might be interested in some of the ideas.
So yeah, I hope this is of interest to someone out there. :)
[1]: http://lubutu.com/idea/yoshimi
Thanks,
cls
I find it difficult to parse your writing style, so I might
misunderstand your questions, but I'll do my best. Sorry! ^^;
On 28 July 2011 09:08, Cyril Jandia <cyril....@gmail.com> wrote:
> Just need you to confirm this: you are talking here of locality/
> identity of computations/processing tools' intermediary or end result
> artifacts, not about ongoing computations per se (also bound to a
> location "in time", in addition to "space"), right?
What I mean is, all state available to the user should be available
wherever they may be. So it honestly doesn't matter where computation
actually happens, but if the user can see something they ought to be
able to see it on whichever screen they have with them. So yes, it's
about the "end result" (insofar as what one can see is an "end
result").
> Again, please confirm (or clarify/elaborate): it's only about the
> state of the serialization (bits) of computations artifacts on a
> persistent media specifically, e.g., (as opposed to *also* embracing
> transient ones, e.g., wires, volatile RAM, etc), right?
Yes; the system would do all its computation and so on, making sure to
log important IO like mouse clicks, keyboard taps, etc, and so long as
you store that information everything else that has happened can be
determined from that input: nothing in a computer happens that can't
be later recovered by repeating the exact same processing, except for
IO.
So you have state in memory, just like any process does, but it only
*needs* to store IO information on persistent storage. Any other
information that is stored to disk is just a kind of helpful but
redundant cache. Naturally volatile memory like RAM and so on would
need to store other information, but the point is that by storing IO
logs on non-volatile media we can pull out the machine's PSU, plug it
back in, and we've lost nothing but a little determinable computation.
> This is what I attracted my interest, where we're maybe mostly talking
> about the same opportunity aspects for a different approach, though
> thru different angles. What do you think about rephrasing your
> paragraph there by going even further (closer to my pov's angle,
> obviously) and using "phrases (of a language)" wherever you use
> "object", "transform" instead of function, intent-purpose instead of
> type
I'm not sure what you mean by this. By 'object' I more accurately mean
'typed data value', in the sense that one might have a PNG type, which
is an instance of the type class Image; it can therefore be used as an
input to the function horizontalFlip, which would then I suppose
'transform' the PNG into another PNG. The internals of how that works
are irrelevant, so long as the PNG defines what 'horizontalFlip' means
in the context of a PNG. If you've used Haskell you might understand
what I mean; it's fairly difficult to explain otherwise.
Thanks,
cls
First, most peoples' data isn't in the cloud, it's on their home ocmputers.
> application on our computer it isn’t available on our phone too? We
Second, most people's home computers son't make their contents available
on the net. And their ISPs wouldn't let them if they tried -- they
don't like their home customers running servers.
And so most software doesn't provide this functionality, which limits
demand for such network services from ISPs.
> may be able to open a new browser tab, enter the same URL, then sign
> in again, but there’s some sense of déjà vu
> Everything you do on each device should therefore synchronise between
> all devices.
Which why I run my own server, pay for a network service that allows
this, and use a distributed revision control system (monotone) to make
it all accessibel on those devices capable of running it.
> When you open a document on your desktop you ought to be
> able to access it on your phone with a tap"
>
> Just need you to confirm this: you are talking here of locality/
> identity of computations/processing tools' intermediary or end result
> artifacts, not about ongoing computations per se (also bound to a
> location "in time", in addition to "space"), right?
There's also security concerns if your phone falls into the wrong hands.
-- hendrik
"Most people" being whom? Most people are still using Windows XP. It's
a question of demographics.
> Which why I run my own server, pay for a network service that allows
> this, and use a distributed revision control system (monotone) to make
> it all accessibel on those devices capable of running it.
Our ability to compromise does not mean the problem has been solved.
> There's also security concerns if your phone falls into the wrong hands.
Concerns solved by cryptography.
(I can go into greater detail if you'd like.)
Thanks,
cls