New week, new Rust! What are you folks up to?
Last month I’ve ended up contributing to a Go project, and I’ve got really envious with their cross-platform compilation setup. I completely understand the differences on the compiler, and the cross-platform story on Rust has some nice tools to help with already, but yet it is hard to no feel a bit envious of changing an env var and having a new binary.
In Go land, there is goreleaser to help automate a lot of the process to release new binaries. They recently provided a GitHub Action which makes it quite easy to integrate with GitHub Releases.
Given the recent changes on Travis, I’ve decided to give it a try and port
trust to GitHub Actions. The actions are based on
cross images, but I’m only focusing on building so far, not much about cross platform testing.
I was able to get it working, and I want to polish and document the Action a bit more before publishing. I would also like to have it working for Darwin builds, and reduce the time it takes to run, as it can’t take longer than 58 minutes for all builds.
Continued work on
uom (type-safe zero-cost dimensional analysis). I’ve been reviewing some PRs for new quantities as well as working in my experimental branch on proc macros.
I wrote an implementation of the wyhash algorithm in Rust.
WyHash is currently the fastest algorithm (C implementation) that passes SMHasher and also includes a random number generator that passes BigCrush and practrand.
Furthermore it is simple and portable (can be used in
no_std) so I found it interesting.
I am currently working on implementing the traits from
Published E-Nguyen 0.1.2 for Linux. Hoping to land more of the architecture so that people can begin customizing their visualizations without stepping on each others’ toes.
I was busy this one month and half but now I return with rust again. This week I’m learning Web assembly to use in Armory (https://armory3d.org/manual/#/code/wasm?id=programming-armory-in-rust)
Working on getting simultaneous automated controller input working in my game, so that multiple control button moves can be tested (e.g. pressing “jump” while holding forward gives a different action to pressing “jump” while holding back). Should also allow multiple characters to be controlled at the same time, so can write “pre-recorded fight inputs”.
It’s make-a-release week for my game, so that feature may be deferred to next release.
I’m working on my first rust crate, a geospatial library for building proximity maps. Basically, you give it two sequences of Geo objects (points, lines, line strings, polygons) and a search distance in meters and it tells you all pairs of objects that are less than the search distance apart. The trick is that geometries have latitude/longitude coordinates and I’m trying to avoid both haversine and N squared computations. Rust is really fun and I love the community.
i released my second binary crate!
eva is a simple calculator REPL similar to bc(1).
i wrote this to learn more about compiler design (parsing, lexing, error handling). Maybe this can help other beginners like me learn about modules, unit testing, publishing.
hope you all enjoy using it!
PS: it’s available on crates.io
cargo install eva
I didn’t have much time for Rust coding this week (actually the whole month), but I looked through some scenes and added e.g. this one:
You should be able to render it with the current version (v0.5.1) of rs-pbrt. Since that release I only added stuff I needed to render the cover image for the first edition of Physically Based Rendering book. More scenes are here …