New week, new Rust! What are you folks up to?
Release a new version of sauron with ergonomics improvement.
Started rewriting the client side of Diwata from elm to sauron. Now I have both the server side and client side all written in rust.
Continued work on various pieces of
uom this week. Looking for feedback if the following set of minus sign and number character and super script characters display properly in your browser and console. Win 10 and Mac work. Looking for feedback from Linux or Win 7 users.
Displays fine on Firefox and Gnome Terminal on Linux for me.
Been putting together onion skins in FlowBetween. They’re mostly done now and look pretty good:
Made a release of a few of the crates that support FlowBetween. I’ve given flo_binding a 1.0 release as its really been pretty stable for a long time. desync has a new release too: mainly switching from some old code that used
Box to wrap futures to the newer
impl Future style.
I’m going to be doing some work on the flo_curves library this week I think. The onion skins are created by via path arithmetic, and more complicated frames like this one show up some problems:
There’s a slightly weird habit of the ray caster not to find complete outlines for some paths, which leads to some missing brush strokes and sections being left un-erased. I want to work on the performance, too: most of the algorithms are still pretty naive so there’s a lot of room for improvement there.
I started developing yet another calculator
My top requirements were: CLI-based, has interactive mode, transparently works with float point numbers, common fractions, complex numbers, and big integers. Here it is: https://crates.io/crates/rclc
It is not 1.0 yet but it is quite usable.
Big thanks to Pest(https://crates.io/crates/pest) - it made implementing math parser so easy and simple for me. And big thanks to everyone on this forum - I have learned a lot from reading discussions.
A short example with comments:
> sqrt(-2) // square root of negative number = 0.0+1.4142135623730952i > sqr(ans) // square root of a complex number may produce a real number (ans - the result of last evaluated expression) = -2.0000000000000006 > 345**12 // big integers in action = 2843342266303054544082275390625 > 1\2 + 3\5 // one half and three fifth is one and one tenth = 1\1\10 > sqr(3\5) // square of a common fraction is a common fraction = 9\25 > sin(90°) == sin(pi/2) // degrees and radians mixed in one expression, '°' can be replaced with 'd' for easier typing = 1
Note that the instructions in the readme at https://crates.io/crates/rclc,
cargo install rcalc
do not install
rclc v0.8.3. Instead they install
rcalc v0.1.2, which, based on its dependencies, appears to lack most of the above features.
Thank you a lot! I started my project with the name ‘rcalc’ but after I found that such project exists I forgot to change old name in docs
Working on re-implementing pi-hole in Rust as learning exercise.
Finally feeling comfortable with the Borrow Checker, Error Handling, and Standard Library. I’m going to refactor an early private crate a made with actually good practices.
I’m also gonna start reading the Embedded book (https://docs.rust-embedded.org/book/) – super excited!
Having implemented these features for abi_stable(a crate for Rust-to-Rust ffi, with a focus on creating libraries loaded at program startup, type-checked at load-time) :
Added Tag:A dynamically typed data structure associated with a
StableAbitype,checked for compatibility at load-time.
Relaxed the Send/Sync bounds on
DynTrait(ffi-safe multi-trait object),allowing the user to chose whether they require them or not.
Added conditional accessors for fields in prefix-types(how I implement vtables and modules),using a constand boolean expression to determine whether the field is accessible,changing how it’s checked at load-time.
Removed the requirement that
DynTraitis created from a
'statictype,using a different constructor function for non-
Now I am gonna work on adding
DoubleEndedIterator as usable traits in DynTrait.
I worked on three issues this week:
- So far I had only implemented homogeneous media, but wanted to render some heterogeneous ones.
- Looking at the example scenes I figured I needed a new integrator, the
- While working on both issues and related test scenes I found a bug in the current parser code … and fixed it.
Now, I’m at the point that I can render the first test scene with heterogeneous media, but:
- It renders far longer than the C++ side
- It looks different
So, that gives me something to do for the rest of this week, and probably the next week as well …