News for hackers. Stuff that matters.
Re:Kerla: Monolithic kernel in Rust, aiming for Linux ABI co... by jedimastert on Monday October 25, 2021 @12:45PM (#28989980)
Aside from "rewrite in rust" debate that I was unaware of, there seems to be this pervasive attitude among the HN hivemind that the end-goal for all projects, side- or main-, is "launch", and therefore needs a market analysis to decide the "worth" of such an idea, and it ends up being rather silly.

For example, I've written a Mandelbrot visualizer so many times I've lost count. Not because the world needs another poorly written or optimized rainbow-ladybug-simulator, but because it serves as a slightly-non-trivial hello-world. For example, it's the first end-to-end thing I made in Common Lisp. https://git.sr.ht/~amtunlimited/mandelbrot-plot

Re:Kerla: Monolithic kernel in Rust, aiming for Linux ABI co... by pjmlp on Monday October 25, 2021 @12:58PM (#28990173)
I have a A* search algorithm and a toy compiler that I use exactly for the same purpose.

I just rewrite them all the time as means to get a feeling about programming languages.

I dumped a couple of other stuff on GitHub so that HR people are happy to get a link that they never read anyway.

Then I get back to Java and .NET at the office. :)

Re:Kerla: Monolithic kernel in Rust, aiming for Linux ABI co... by jedimastert on Monday October 25, 2021 @01:01PM (#28990218)
I've actually been considering adding a toy compiler to my collection of getting-up-to-speed projects, do you mind sharing what you think are good features?
Re:Kerla: Monolithic kernel in Rust, aiming for Linux ABI co... by pjmlp on Monday October 25, 2021 @01:43PM (#28990796)
Try to follow along the Tiger Book, in the variant that appeals to you.

https://www.cs.princeton.edu/~appel/modern/

It covers most areas quite alright even if a bit aged.

Re:Kerla: Monolithic kernel in Rust, aiming for Linux ABI co... by spoiler on Monday October 25, 2021 @06:03PM (#28993698)
Not OP, but there's also "crafting interpreters". In the second half of the book you emit bytecode for whatever language you designed in the first half, and also implement a VM for said bytecode.