Blog: 2023-03-06

From razwiki
Jump to navigation Jump to search

Thinking about how to make an operating system that is smart about data structures.

For example PATH is a string in unix, but really it acts as an ordered set. Having more than 1 entry that is the same in the PATH is redundant

And /etc/hosts is really a mapping, 127.0.0.1 <=> localhost. But we can also have comments, so if we just had a serialized dictionary for example that wouldn't capture this.

Also a software like ssh has a config file, but if it's invalid, we don't necessarily want to prevent writing it to disk...

Ok another thought is source code. People like to think about how it could be ASTs etc.

A very specific use case would be: a programming language defines a set, programmer A adds A to the set, programmer B adds B. A smart version control system could merge these 2 changes; they don't conflict per se. But it could yield bad outcomes if for example one added "highfive" and one added "hifive". They might have the same intention.

Could sync files between my hosts using bittorrent. Not a bad idea. Or hdfs. But that's a hassle to manage. bittorrent is also probably a hassle.