What's everyone working on this week (36/2016)?


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


I’m learning rust by implementing a Differential Evolution algorithm, which is a simple but powerful global optimization algorithm. It’s already working in a way, and now I’m starting to play with the API and making it more generic. See differential-evolution-rs


I’ve made a few improvements on curtain (a database administration tool). Streamlined the indicators for records that are about to be deleted/updated. The whole CRUD operations is still clunky and still a lot to be done.


Removing serde_codegen's dependency on Syntex to speed up compilation time.


Developing a prototype for a device that can help blind people deal with written text.

In practice, that’s mostly doing lots of video/image manipulation until we have extracted text that’s clean enough to pass to an OCR engine.


Trying to the deflate/zlib encoder I’ve been working on in a state good enough to put up a usable (but not very good yet) version on crates.io
See: https://github.com/oyvindln/deflate-rs


I’m working on a new code search tool that is faster than {grep, ack, ag, pt, ucg, git grep} and works on Windows/Mac/Linux. Stay tuned for a blog post with a detailed performance breakdown! :slight_smile:


Just finished most inefficient sha, a very useless attempt to break sha :smiley: Every bit throughout the whole SHA calculation is a f64 allowing for fuzzy evaluations. (I expected to fail since very smart and intelligent people have reasoned about sha, but I wanted to practice some Rust)


I updated nodrop to support using the unstable feature untagged union for a “real” implementation. No more hacks or runtime flags.

ArrayVec and NoDrop already lost each of their drop flags in rust’s nightly channel, and with this unstable feature, it loses the runtime flag and manual drop filling in NoDrop as well.

ArrayVec is now down to no size overhead: it is now just the array, and the length field and nothing more, when using untagged unions in nodrop.


I’m working on a port of nanogui-sdl to rust. It took me a while to get the parent/child relationships working, but I managed to do it with some weird API trade-offs. There’s an RFC I’m rooting for that would help reduce duplicated code. As well as thinking up of doing an RFC myself with creating self-reference counted like in C++.


Finally getting serious about development for my Elasticsearch client so I’m shifting everything into separate repos under a GitHub org with better CI and docs etc.

I’ve just moved elastic_types, but there’s still lots to do before the other crates.


Posted New Rustacean Bonus 7: Katas—or, learning by doing, on using katas to improve your understanding of the language.


Working on the Matasano Crypto Challenges in Rust! Challenge 20 so far.


finishing up a safe defragmenting heap memory manager for microcontrollers

Which has inspired me to start designing a type-safe RPC protocol with brokers, also for microcontrollers: