Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?
I’ve not built anything beyond simple scripts in rust but I’m looking at some of the cosmic codebase to see what I can do.
Still working on an assertions library that I started a few weeks ago. I finally managed to get async assertions working:
expect!(foo(), when_ready, all, not, to_equal(0)).await;
It also captures values passed down the assertion chain and reports them on failure (without requiring all types to implement
Debug
since it uses autoref specialization).Hopefully it’ll be ready for a release soon.
Playing around with iced.
I once again encountered something where const generics for something other than the current supported types would be awesome but alas… Guess I’ll live with the inconvenience for now.
testcontainers is a cool crate. It basically allows you to launch a container to test against in your unit tests.
My use-case was when integrating Postgres+Diesel for persisting our data.
I really wanted to make sure that we can save our data into there and load it back out in identical form.
And yeah, rather than writing some elaborate scripts to do a full-blown integration test, it’s three lines of code with this crate to launch a Postgres container and have it cleaned up after the test.Diesel is also quite cool here when you’ve got your migrations embedded, as it will automatically set up your database schema in the blank Postgres.
I use that too. Unfortunately it does only work with Docker and on some machines I’ve only containerd+nerdctl available. Would be cool if test containers supports more than Docker as a runtime.
I discovered dust. That’s a new favourite tool. https://github.com/bootandy/dust/
I should be trying to talk to mqtt but haven’t got to the rust side of that yet.
I reworked the whole CI/CD pipeline for https://kellnr.io. Switched from Ubuntu as the base image to the official Rust (Debian) image. Additionally, musl targets are build and released on github. This should allow kellnr to run out-of-the-box on any Linux distro.
After controlling a PTZ camera with an Xbox controller, we realized that wasn’t ideal, so now we’re switching to controlling said camera with a Logitech flight stick (to arrive from Amazon this week)
Started contributing to https://github.com/mario-eth/soldeer , mainly refactoring but also helping with new features.
Started using niri a few weeks ago, so reading Wayland docs to contribute.