This is more like a tutorial than a product though, with code examples in Rust. "How to write an android emulator from scratch in C" would appeal to a slightly different audience.
Features are something that matter for products, which this isn't.
This just seems like a project that someone wrote and decided to share with the world, and show how it works with full source code. In that instance, the fact it is written in rust is relevant because, as noted in the first paragraph, the reader is expected to have a working knowledge of Rust.
Depends, sure it's not the main quality of a software. But it can also hint at some potential features of the language (unless proven wrong) : Speed, safety, potential interest for longer term. You can have ultra lean software written in Java, ultra fast written in Python or simple to understand / develop to written in Rust or C, modern written in C++98, but it's generally the other way around. So, it's not the first thing to mention when speaking about a program, but interesting nonetheless, an element of context.
It should be obvious from even just the headline that this is not a real product but instead an article about how to implement an emulator, and for such articles the language is very relevant. Or do you also think that being the worst is another feature?
I'm in no way shape or form smarter than Stroustrup that's for sure, but there might be space for a third category: languages seldomly used in dayjobs but many programmers would love to. Elixir, Haskell and Rust come to mind.
This is awesome! I did a similar barebones emulator for x86 ELF binaries but I took a few shortcuts. I shimmed _start in the emulator and just jumped to main. Then I called exit back in the emulator when main returned.
I haven't yet gotten to implementing syscalls but the simple ones (write, exit, etc.) aren't terribly hard once you have the general infrastructure.
Since you're taking presentation suggestions, I totally missed the collapsed code the first few times reading through this post.
I don't think you're the only blog to do this collapse-by-default code but every blog that does this I always miss the code.
So my suggestion would be to just not collapse. In my own blog I just set a max-height of 600px or something so long code snippets don't get unruly. People can scroll through or go to Github if that gets annoying.
But at least there's no chance of them missing the code in the first place.
21 comments
[ 2.6 ms ] story [ 67.4 ms ] threadThis just seems like a project that someone wrote and decided to share with the world, and show how it works with full source code. In that instance, the fact it is written in rust is relevant because, as noted in the first paragraph, the reader is expected to have a working knowledge of Rust.
But then this comment is 3rd-order bellyaching so feel free to downvote it.
Languages people complain about, and languages that no one uses.
I haven't yet gotten to implementing syscalls but the simple ones (write, exit, etc.) aren't terribly hard once you have the general infrastructure.
https://notes.eatonphil.com/emulating-amd64-starting-with-el...
You can access the content here: https://github.com/ant4g0nist/rudroid
I don't think you're the only blog to do this collapse-by-default code but every blog that does this I always miss the code.
So my suggestion would be to just not collapse. In my own blog I just set a max-height of 600px or something so long code snippets don't get unruly. People can scroll through or go to Github if that gets annoying.
But at least there's no chance of them missing the code in the first place.
https://github.com/ant4g0nist/rudroid