New week, new Rust! What are you folks up to?
Time to begin to work on the March edition of Learning Rust in 12 months series of talks.
I had a lot of useful feedback from the February talk was that QEMU (key-moo) can load ELFs ergo Rust with a small amount of assembly bootstrap. I later had this confirmed by the intermezzOS maintainers that this is how it works.
I’ve already been cribbing heavily from their project along, so this is good to know I’m heading in the right direction.
I am bootstrapping a parser compiler for Rust. Similar as bison is for C, but with a much nicer syntax.
I’m studying how to more “perfectly” mesh Ruby’s C API with Rust by reading code that already exists in C Ruby and ruru. The purpose for which I’m doing that this week is to implement support for passing a dynamic amount of parameters from Ruby to Rust via a splat operator in Ruby or a variadic function in C. Specifically this issue ruru#90.
I’ve already written many things that were missing from ruru to be able to do the majority of what one might need to do between Ruby and Rust. Of course this is only made possible by the great work Dmitry Gritsay put into making ruru first. Seeing his code has helped me deduce many things about C and Rust’s FFI.
Getting some stuff going on imag-calendar … maybe I can finish it this week, but I doubt that it will be ready so fast.
Finishing up chapter 7 on Error Handling in my O’REILLY book. It was quite short so I’m having to read the online Rust book for some more understanding. After tonight should be ready to start chapter 8 on Crates and Modules. I have a great idea for a crate but really trying to focus on finishing my book first.
Just was introduced to the game Kerbal Space Program so it’s affected my quality Rust time lately.
I’m continuing the work on a weather station in rust. It’s getting there but there are a lot of (mostly fun) hurdles along the way when working with embedded stuff in rust. Some hurdles are less fun, like a broken USB port and a bug in the nightly version that I was using
I was surprised what you can achieve with something as simple as creating many small fingerprints. Detect plagiarism, file similarity, network protocol caching, are a few uses I’ve found for this.
My first PR to a small Rust project:
Updating the Mozilla CSS parser library version. Easier said than done due do API breakage and my inexperience with impl and traits
After reading The Rust Programming Language and doing some exercises, I’m starting my first project, which is a grade book program. I’m just starting on data structures and some core operations. Soon I will have to decide on a GUI library and a way to create reports.
Working on implementing more Vigil Reporter libraries for Vigil over the WE. Vigil is a Rust OSS project that can be used to monitor a micro-services infrastructure, and serve a public status page to end-users.