Re: /home/user/var ?
On Sat, May 20, 2000 at 12:02:15AM +0100, Adam Sampson wrote:
> On Tue, May 16, 2000 at 08:23:43PM +0200, Tomasz Wegrzanowski wrote:
> > Hurd is not only a kernel/OS. IT is also a place where UNIX design
> > mistakes are fixed o be used wider.
> ... which is something I'd like to see being done more. [This should be
> sufficient advance warning that whatever follows is likely to be mildly
> incoherent. It's late at night and I've had a long week, so bear with me.]
> Not that Unix has any particular problems with what it's designed to do. But
> we could certainly make use of a slightly wider viewpoint; most of the new
> work being done in the free OS world at the moment seems to be cloning what
> the commercial Unices or Windows can do.
Quite obvious. These are what you can easily find users for.
> I think that the real problem is that there isn't much documentation or
> chance to experiment with other OSs. The typical free OS developer (like me)
> has probably used a couple of versions of Unix (or clones), Windows, and
> that's about it. In many cases, this is because we have the opportunity to
> use anything else; most of the other environments---such as ITS, Multics,
> TOPS-10, TENEX, VM, VMS, Genera, NeXTStep, Plan 9 etc.---will only run on
> expensive, obsolete or difficult-to-emulate hardware, and the software is
> rarely available. There's also little available documentation about any of
> these systems (multicians.org being a rare exception---well worth a visit).
What about MacOS ?
This is very rare example of Completely Broken Operating System.
You can learn what to not do with any free OS.
Of course this is about old Macs, nobody in circle 30 miles from here ever
bought Macintosh since that times (guess why?), so I couldn't see newer one.
Visit some school w/o newer computers, to see examples w/o spending any cash.
> The Unix bias here does tend to limit the sort of ideas we come up with. For
> instance: one of the easily-available bits of documentation about ITS is a
> paper about what ITS called "PCLSRing", which pretty much blew me away when
> I first read it. Under Unix-like systems, if a system call gets interrupted,
> it will return an error code, so it's necessary to write programs that are
> capable of restarting failed system calls. Under ITS, when a system call was
> interrupted, ITS would modify the arguments to the call so that it would
> continue where it left off, and reset the PC so that the call would be
> executed again with the new arguments when the interrupt handler returned.
> It makes userspace code much simpler. But there's no way that that would
> ever get implemented in any of the existing free OSs, because it's
> completely different to Unix.
Are you talking about EBUSY or what ?
> Take a look at some point at some of the features that RMS was thinking of
> back in 1985 in the GNU manifesto. Although many of them have been
> implemented in the GNU tools or in other free software (such as long
> filenames, journalling, filename completion and terminal independance),
> there are a few interesting ones that, while available in the early 80s,
> aren't common today: such as file version numbers.
This wasn't implemented probably because everyone has the only proper
idea of what is correct scheme of versioning and others' versions'
names make him sick. This is like indentation.
> This is just one example; I'm sure there are plenty of other features in
> "forgotten" OSs which would be useful to us. So, essentially, my plea is
> that if you've got any information about interesting (or not-so-interesting)
> things in other OSs, then try to make it available to others to pick ideas
One more feature worth considering : very fast bootstarting and shutdowning
Sesion savefiles come to help it.
> Hmmm. Rant over. (By the way, does anyone know if it's possible to get a
> working ITS image from anywhere? Apparently there were snapshots of MIT-AI
> and MIT-MC available at one point, but they were taken down. There are
> images of the bootloader and of the DDT shell/debugger, but that's hardly a
> full system. And yes, I know I'd need an emulator, but I'd be willing to put
> some effort in to help get e10 working.)
> ObOnTopic: I think ~/var is _really_ ugly. If you want to be Unixy, it
> should be ~/etc. But I've got that kind of namespace pollution in my home
> directory from GNUstep, Netscape, Mutt and Apache already---I'd rather keep
> the dotfiles, or at least move them to a .config directory so they don't
> show up in normal dir listings.
My idea was to ~/etc be for config files instead of dotfiles
and ~/var to be for mailbox, caches, sesion state savefiles,
and other data that changes w/o user intervention.
For me lack of sesion saving is the most annoying.
This was what many other systems could do, and Linux/Hurd can't.