New week, new Rust! What are you folks up to?
Thinking about how to improve sad state of Machine Learning ecosystem in Rust.
I’m getting ready for another release of
elastic with support for balancing requests across multiple hosts and very basic support for cluster sniffing. I’m also taking the opportunity to start pulling in types from the
http crate and removing or specialising the myriad request-like types
Implemented more Windows-compatible version of
ns-env-config crate which will allow to switch between standard library’s (i.e. threaded) name resolution and fully async by an environment variable at runtime. (inspired by env_logger, and similar feature in golang)
Finished rewriting my personal command line tools into rust. For me, this was an important test for rust and I’m happy to say that rust is closer to replacing D as my main programming language.
My next project is to rewrite my larger information retrieval program that is currently written in D. I think that rust is more than capable of handling that final test.
I’m really surprised how productive programming in rust is once you understand the memory model.
Actually implementing a project in rust instead of just endless reading. First project, a mud. Fun to be had for all telnet console everywhere!
Implementing sorting algorithems in rust, such as selection, merge and bubble.
Now that LPC82x HAL is out, my activities on the embedded front have temporarily shifted to some non-Rust work (a condition that will be rectified soon). In the meantime, I’m working on some improvements on inotify/inotify-sys.
I wrote an initial version of my RPi3 Rust project, project Ada, conforming to this design back in August.
The plan to achieve loose coupling was to use constructor dependency injection. And I ran into the twin brick walls of dynamic dispatch (undesirable for project Ada) and limitations of object-safety (irreconcilable, AFAICT with a fluent API, which loves to return Self).
So I had to retool to figure out a way to do static dependency injection, which would bypass both issues.
I have a (primitive) solution; you can see a trivial, static dependency-injected “Hello, World” example here*.
This week (and possibly next), refactor project Ada to use this static dependency injection technique and maybe also add concurrency.
*If this static dependency injection technique works out, I plan to create a
register_type_as_trait! macro to make construction of the container idiomatic (automatic and painless, possibly as a
code_gen build script).
It would be nice if we can encourage people to post issues they need help with on their repos. Either in this thread or a new thread.
Are you thinking of something like the Call for Participation thread? You can post issues from your project there and every week, the latest additions to the thread are advertised on This Week In Rust.
Ah didn’t know we had a thread for it. Thanks
@dylan.dpc did you mean specifically for Community projects, or for independent projects?
Community projects. Just open source stuff not from a work perspective. Though even something related to work would be fine.
I’m trying to port my C library into rust.
The library provide a memory allocator where all the object allocated from it can be stored and loaded with zero cost.
I released 0.1.0-beta-2 of kairos some time ago. I hope I can release the final 0.1.0 at some point.
Kairos is a library on top of chrono to calculate times “plain text like”. Like
today() + days(2) for example. It also features a parser for user-input, so one can build awesome commandline applications with it. For example a time-calculation utility.
For testing kairos, I’m playing with it in one of the commands in the imag project.
Any reason for choosing Mozilla licence?
Ah the good old days of MUDing.