Also with VMS you would love money more, there is $ everywhere

--Thomas
Right, thanks. Robust message-passing is certainly going to be interesting. I don't think that's too contrived; the window for the crash is very narrow but could happen. (It's like a race condition in that way.) It's also interesting in that the lost token may represent part of a finite resource. I think process B should not consider the token to be in use until process A acknowledges receipt. If A never acknowledges, then the token and the resource it represents should be considered for reuse. Of course, A should absolutely not use the token before it's sent an acknowledgement.Last year, moonchild wrote:It's not necessarily that easy.eekee wrote:I have had some ideas for persistence of main memory, but that's really the easy part. Swap, mmap (if always file-backed), and Forth blocks all offer natural methods for persisting whatever is written to them.
Consider crash tolerance in the face of synchronization as one problem. Say process A requests some token from process B, and process B sends the token. Then there's a crash. Process B's state was synced after sending the token, and process A's before receipt. So now, process B remembers giving away the token, but process A doesn't remember receiving it. Process A says ‘can I have a token’ and process B says ‘??? no, I already gave you a token’.
Obviously this is a bit of a contrived example, and there are a number of simple solutions; but the point is that it's not easy to make something like that completely transparent to user code. And if you do make it transparent then you may have to make other compromises like rolling back state that you could otherwise have kept.
One for the list of languages to learn. Does it have a notion of garbage-collecting threads? I think Go does, and I vaguely remember Erlang coming up in a Go discussion or two.moonchild wrote:Erlang deals with this well.eekee wrote:memory leaks and other cruft from programs and the OS never being restarted
Thanks! It's definitely on my list to look at later. I really will have to get around to learning Lua. It shouldn't be hard at all after the languages I've learned in the last few years.moonchild wrote:Recommend taking a look at arcan.eekee wrote:I would like to deconstruct the whole idea of applications. (Smol bombshell there.) I want components for users to assemble rather than applications which stand apart from the system. [snip] But how to design a good set of app/gui components for users to assemble into applications is another story!
I have different responses to different parts of that. Analog input is particularly important to picking items from a list because it can go straight to the item you want as soon as you see it. Getting the text highlight to the right place is something I find disruptive; it's distracting. On a nicer note, I agree with lumping terminal multiplexers under window management. I'm finding digital input for text editing okay with some caveats; it must be simpler than VI and preferably written by myself so I know exactly what each command does,moonchild wrote:IMO the traditional gui paradigm is super broken. I wrote a bit about this on reddit a few months ago.