What's everyone working on this week (26/2020)?

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

1 Like

I finished Rust Documentation research and want to increase my know how by transforming thoughts to reality.
Main Target: A Tool for Pen and Paper(an maybe video game) Maps like Wild nature, Towns, Villages, Houses with Rooms, Furniture, Animals and all other useful things to display in a procedural and randomized way.

So i created a new rust lib to handle Objects in an abstract way. Target is an association Framework with in- and excluding rules based on meta data / attributes in a kind of rulesets. Based on this i will create some Rulesets for the World, Villages and so on.

We will see, happy coding @ll :slight_smile:

I've got it into my head that allowing impl Trait in FnMut return type position is enough to allow async callbacks to borrow their arguments (https://github.com/rust-lang/rust/issues/45994#issuecomment-633144274).

I started prototyping it over the weekend, but it's slow going, because I've never touched the compiler internals before. I will probably be working on it most weekends for a month, unless someone jumps in to mentor me.

I've also been using a visual studio online codespace, which is about twice as quick as my laptop, but occasionally drops its connection. I might write a blog post describing my setup at some point.

1 Like

Working on bex, a crate for manipulating large boolean expressions as graph structures.

My immediate goal is to convert our novel compressed ANF structure (algebraic normal form - an XOR-sum of ANDs) to BDD (binary decision diagram - a compressed truth table).

This ought to be easy, but it turns out we have an inconsistency in the way input variables want to be ordered, and I'm trying to fix that first. (BDDs in the literature put small-numbered input variables at the top of the diagram, but they'd make more sense at the bottom in bex, so I'm trying to reverse the order).

Unfortunately, variables in bex have always been represented as simple unsigned integers, but various bits in the number have taken on special meanings, and so it's not as simple as replacing every > with a <.

Instead, I'm working through the process of introducing a strong type around this integer-with-bitmask concept, and possibly writing up a little blog post about how to introduce strong types without giving up the efficiency of a simple packed integer.

I'm actually working on a crate that implements the VideCoreHostInterface of the Raspberry Pi 3 for my baremetal kernel being able to be compiled in aarch32 and aarch64 mode for the ARM side (while the VideoCore firmware is built in aarch32 only). Currently having some steep learning curve on async execution and try to find out what is a good mixture of plain Future implementations and the use of async functions.
While a simple executor utilizing all 4 cores (each running only one "thread") of the PI is already implemented and working very well.

I've been working on adding LLVM support for my FPGA high level synthesis tool cinnabar / Cinnabar · GitLab. This week, I added a rust wrapper around that library to avoid having to parse json with C++.

Working with the https://github.com/dtolnay/cxx crate has been an absolute pleasure and made making the rust bindings for cinnabar super simple to write

I have published a pre-release of generic-tests, support for defining parametric tests via generics and a procedural attribute macro.

Continuing work on chunked-bytes, a non-contiguous buffer for data structure serialization and vectored output. This project will use the macro provided by generic-tests to reuse code in tests and organize side-by-side benchmarks comparing performance of alternative buffer implementations.

I working on trying to do simple movement of an image over a background image with the mouse. Can't seem to find any working examples of this.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.