12 comments

[ 3.2 ms ] story [ 17.2 ms ] thread
"Meant for learning purpose", this does not pretend to bring anything new/better.
Wasn't Python and Postgresql intentionally created for learning purposes? I'm not saying that this project is just as important, just pointing out that "learning purposes" is not a good predictor of a useless project.
Yeah, and aren't research projects often meant "for learning purposes" as well? :-)
Not to mention all of the professional projects which failed and fell off the radar entirely. It's hard to say what has merits without giving it time.
Python originated as a scripting language for a niche OS.

Postgresql came from adding SQL to postgres (mostly? a research project), while postgres itself was mainly a research project.

Sqlite was originally a Tcl extension that "escaped into the wild".
For learning purposes I created quic[0]. I wanted to strip it down to the bare minimum for running something in a "container". I got as far as having it use a preexisting network namespace. The networking part felt like a major piece of work (setting up the network in bash was tedious) so I figured I'd call it a day and leave it as is. Lots of fun and learned a lot about containers/namespaces in the process.

[0] - https://github.com/archevel/quic

I was going to say it'd be even more interesting if it were OCI-compliant, but I forgot Oracle already wrote an OCI-compliant container runtime in Rust: https://github.com/oracle/railcar

Though I've never really heard of folks using OCI runtimes other than `runc` and kata/clearcontainers. (edit: I guess Chromium uses `run_oci`)

One thing to note about railcar is that it completely lacks the network stack, but it will probably be my "starting point" if someday I decide to evolve `rabbitc` into something "more serious".