What's everyone working on this week (43/2019)?

New week, new Rust! What are you folks up to?

I continue working on the driver for the Si4703 FM radio receiver. Most of the functionality is already supported and I could listen to some radio using it connected to a blue pill board but I am not done yet with many of the optional configuration possibilities.

I am working on a fake kafka broker, its probably not of much real use, but I wanted to play around with parsing the kafka wire protocol.

I got the idea to try this while writing integration tests for a python kafka producer at work (where we mock most of the real calls out).

It doesn't do much right now but the kafka console consumer connects to it and waits for messages after asking for a supported api version list which fluke sends to it, so its a start.

Exploring a few design ideas through the experimental ::inheritance crate, that allows to make a struct contatining an element that implements some trait automagically "inherit" that trait. I'll try to see how far I can go with that and some macros to get some toy OOP in Rust :scream:

2 Likes

I'm working on v0.3.0 of Emu, a procedural macro for GPU acceleration.

I just open-sourced a minimum viable version that I'm quite excited about. Only a small subset of Rust is supported atm but I'm working towards expanding it (and contributions to help with that would be amazing!).

#[gpu_use]
fn main() {
    let mut data = vec![0.1; 1000];
    gpu_do!(load(data));
    gpu_do!(launch());
    for i in 0..1000 {
        data[i] = data[i] * 10.0;
    }
    gpu_do!(readdata));
}

(on GitHub, on Crates.io, on Docs.rs, on Gitter)

1 Like

Having fun tracking down weird behaviors in the (very few) dependencies of utf8-norm, and urging (and offering to help) the maintainers of crates with APIs that haven't changed in over a year to go 1.0. We need more 1.0 crates in the ecosystem!

I started looking into improving the performance of rs-pbrt a while ago, but I thought I have to document a couple of things, like the usage of heaptrack by an example. E.g. how to move things from the heap to the stack. Here the second column was removed:

So after the change the graph looks like this:

Read the details here:

https://www.rs-pbrt.org/blog/perf-heaptrack/

I will add an example for the usage of perf later to the same blog ...

3 Likes

Closed PR https://github.com/freedomlayer/offst/pull/242 in Offst: Allowing commitments for payments to be of size O(1)! (Offst is an open source digital credit card).

For anyone interested, I recorded all the work on this PR and uploaded it to youtube, here:


It's about 05:20 hours, demonstrating my workflow using neovim + rls.

From rust-parcel-template I create yew-parcel-template also Yew-Router is included.