-
oil
Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I tend to agree (although this article feels a bit like it's "picking on" some whimsical projects that aren't making grand claims ... or are they?)
A word I like to use is "Inner Platform Effect".
https://en.wikipedia.org/wiki/Inner-platform_effect
The prime example is that in the 90's, Java thought they were going to make Windows irrelevant (a pile of poorly debugged device drivers or something like that).
But now Java is just another Unix and Windows process.
----
I do think people should carefully consider whether they want to create an "inner platform" or make the platforms we ACTUALLY USE better.
That is the purpose of https://www.oilshell.org/.
I'd also add that evolving working systems is harder than creating clean slates. So clean slates are fun for that reason: you get to play God without much consequence.
Sometimes clean slates introduce new ideas, and that's the best case. But a common pattern is that they are better along certain dimensions (the "pet peeves" of their creator -- small size, etc.), but they are WORSE than their predecessors along all the other dimensions!
So that is the logic of Oil being compatible and painstakingly bash -- to not be worse than bash along any dimension! I've experimented writing a clean slate shell in the past, but there are surprising number of tradeoffs, and a surprising number of things that Unix shell got right.
But Oil can also be viewed as a clean slate. I just draft this doc, and surprisingly little breaks even in the non compatible mode:
What Breaks When You Upgrade to Oil https://www.oilshell.org/preview/doc/upgrade-breakage.html
So I would like to see more systems take a DUAL view -- compatible, but also provide an upgrade path from existing systems. You will learn a lot that way [1], and the work will be more impactful.
[1] e.g. it forced me to put into words what Unix (and the web) got right: https://www.oilshell.org/blog/2022/03/backlog-arch.html
> we'd even say that the greatest programmers are so because of how they produce redundancy.
Perhaps the greatest of all programmers produce redundancy while depending on very little of it in their own code. For example, Richard Hipp created SQLite, the ubiquitous and amazingly high-quality embedded database, in C. Thinking about that makes me feel like I ought to be using C in my own, much more modest attempt at a reusable infrastructure project [1].
[1] https://github.com/AccessKit/accesskit (it's too late now, I'm committed to doing it in Rust)
I think a VM for a small, but highly abstract, language like Scheme might address the objections of the author(s) of this article. You might like Chibi-Scheme: https://github.com/ashinn/chibi-scheme
Having said that, IMO, if you're having fun with uxn and its retro 8-bit aesthetic, by all means keep going with that.