article. In it, the author describes a simple virtual machine that could compile a very basic ISA with a static array as a stack all in a little bit of C. Just finishing up a computer systems class last semester at University, I was intrigued and decided to do the same thing but with Rust instead.
(Aside) Rust is a new systems programming language created by the Mozilla team (rust-lang). I have found its development and programing language design choices to be very interesting so I decided to take a dip and test the waters with this simple VM implementation. You can see the finished product here: devincarr/sim.
Overall, I was able to get back to the larger project at hand after I was done with this little experiment, thankfully. One of the things that I think helped me get back on track was that I have planned out small little incremental stages for the Android application instead of viewing the whole project as a large application that needs to be completed. I limited myself to provide incremental changes and applying little features here and there which has helped keep the project fun and enjoyable every time I open up Android Studio. Hopefully soon I can get around to leaving Alpha stage with enough features that I feel that it is a functional product ready to see a larger viewer base and begin the human bug testing phase, or Beta as some may call it.