New week, new Rust! What are you folks up to?
With a whole bunch of free time this last weekend I made a lot of progress on
uom (type-safe zero-cost dimensional analysis). CI build scripts were improved to run faster and run more tests. I also changed from kcov to tarpaulin for code coverage (thanks /u/xd009642 for effort making this tool). I’m also getting close to merging support for multiple quantities with the same dimensions, adding temperature interval, and supporting degree Celsius/Fahrenheit. These issues are some of the oldest in the
uom repository so I’m excited to get them polished up and in to master.
Started working through the cryptopals challenges in Rust. It’s been pretty fun. My solutions are pretty basic, but it’s fun to see them working and knowing they are correct. Also it’s been interesting refactoring code from earlier to work with later challenges.
As a step in learning Rust, I’m thinking about converting a URL-shortening web service I wrote in Perl last year to Rust. So I’ll both use a web framework and the postgres crate.
Speaking of web frameworks, I’m still thinking about what to use. gotham looks interesting, but there seem to be many others as well. Any recommendation?
On crates.rs I’m automatically guessing which category crates belong to when they don’t have that data in
I’m fighting a hilarious problem that classifies all Windows DLL crates as belonging to “macOS APIs” category, because lots of macOS crates are portable and tagged with both “windows” and “macos”, so my naive classifier deduced that these are synonyms
Please add categories to your crates!
I still have my L* plates on. Trying Rust with training wheels. Looking at spltting Web application to put part of the processing into Rust in the background.
- In Australia, learner drivers start with L plates then get a P plate, for Provisional.
I got the basic layer editor for FlowBetween working last week.
One of the things that I found there is that the ‘send the edit to the animation and then update the UI model’ approach I’ve been using is becoming increasingly unwieldy. Animation edits are sent in via a stream and what I really seemed to want was a pubsub library for futures so the UI model could update itself. I couldn’t find an existing crate I liked, so here’s the one I implemented to solve my problem: flo_stream
Over time, I’ve found a bunch of slightly flakey behaviour from the older code in FlowBetween, so this week is probably going to be spent sorting that out. Might also start splitting out some of the other crates that make up FlowBetween: flo_curves and flo_binding in particular may be of interest to others.
Added ability to render circles in svgbob.
Added improvements on svg lines to merge and be reduced to smaller number as possible.
I’ve just added full Ruby encoding support in Rust for Rutie and creating new Ruby strings from Rust byte slices with any given encoding.
Next I’m working on updating my project FasterPath with Rutie to work with alternative text encodings.
Mainly learning rust, wrote a blog post about it. Next thing is learning about threading probably.