New week, new Rust! What are you folks up to?
I am doing the exercise An I/O Project: Building a Command Line Program which is in the Rust online book.
Satisfied with my first exploration of vulkano, basically starting from the official guide and playing around from there.
That was a good occasion to also explore a couple of other libraries which I had been meaning to try for a while, failure and slog. The former I like a lot so far, it matches my error handling needs better than error-chain (e.g. being able to type-erase errors in applications, yet still use explicit error enums in libraries, is pretty great). The latter, on the other hand, proved too orthogonal to my typical logging needs.
I’m a bit worried about the future of vulkano. Looking at the commit history and general activity, it feels like @tomaka does not have a lot of time to dedicate to it anymore, yet many parts remain a bit rough and could use more polishing love (for example vulkan 1.1 support, image initialization, CpuBufferPool downloads, compile times…). Maybe he could use more help?
Anyway, looks like it’s time to move to my next experiment: trying to build a rustic library for GPU-accelerated pixel-perfect plotting. We have some GPU-accelerated plotting libs around, we have some pixel-perfect plotting libs around, but I feel the intersection of both is an interesting part of the design space that could use more love.
Eventually I would like to move vulkano to a “final”, more frozen state. However in order to do so I need
type T = impl Trait; to be stable first.
But as for bug fixing or adding features (eg. Vulkan 1.1), I wouldn’t mind some help.
This morning I released version 0.2 of lpc82x-hal, the hardware abstraction layer for LPC82x microcontrollers. The release includes everything I’ve already talked about in this thread over the last 6 or so weeks
Next, I’m returning my attention to an unreleased embedded project: A GSM-connected temperature sensor. A lot of its code needs to be cleaned up and moved to lpc82x-hal and possibly other libraries that are yet to be created. Unfortunately, the project no longer works (best guess: recent Rust nightly exposed a timing issue in talking to the GSM modem), so I’ve got some bughunting to do first.
I’m working on grimoire! It’s best described as a native shadertoy + vertexshaderart clone. A few notable features include support for multiple render passes, multiple render targets, and streaming texture inputs (video, audio, webcam, microphone, kinect2) via gstreamer.
I will be working on issue #50 (for bi-directional path tracing - bdpt). The new Metropolis Light Transport (MLT) algorithm (as well as the uni-directional path tracer) work correctly:
After that it might be time for a new release of rs_pbrt ...
Since both projects ruby-sys and ruru have been inactive in development for way too long I’ve merged them into Rutie and will be maintaining this somewhat official fork. This allows both Rust developers to use Ruby in Rust and Ruby developers to use Rust in Ruby.
I will be rewriting the entire README for
- getting started
- Rust use cases
- Ruby use cases
- idiomatic cross-compatible objects
The format of the README will vary but I plan for it to be as helpful as can be for people to use the project.
For those who would like to know I’ve already ported over my major project FasterPath to it with very little changes required and it’s working in production.
I have been working on Spy, minimalistic crate that helps to create easy configurable spy functions which may be used during unit testing. It is inspired by such known JS tools as Jasmine and Sinon.js.
I will be working on implementing a new OS kernel with a focus on scalability. We have a couple interesting ideas that would be worthwhile to try to see if they scale better than traditional equivalent structures in commodity OSes. Hopefully, this project will spin out a few new crates as well!