Our great sponsors
-
ginst
Discontinued [MIRROR]: This is a push only mirror of ginst. All developement happens over at https://codeberg.org/Sebito/ginst
-
rusqttbom
RusQTTbom takes weather data from the Bureau of Meteorology (BOM) and publishes that data via MQTT messages.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
ripgrep
ripgrep recursively searches directories for a regex pattern while respecting your gitignore
-
evolution
A self contained evolutionary ecosystem written in Rust, with Neural Nets and Genetic Evolution
-
gmp-wasm
Fork of the GNU Multiple Precision Arithmetic Library (GMP), suitable for compilation into WebAssembly.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Currently making an installer tool. I was pretty tired of writing a bash script for installing my most needed Linux applications for all the different distros so i thought of something more scalable.
Still working on my project RusQTTbom to get weather data from an API then publish locally via MQTT. Mostly finished refactoring into different files and setting up some basic data validation and unit tests. This week I want to also include forecast data. At the moment I’m only grabbing current observations. Should be fairly simple to do as I can use a bunch of other functions I’ve set up during the refactoring 👍
Made a dead link checker to learn Rust! I’m already falling in love with the language.
My hope is to release uom (type-safe zero-cost dimensional analysis) v0.34.0 this week. There have been a huge number of new quantities and units added since v0.33.0.
I’m experimenting with generating code that matches sequences at the start of an iterator. Basically, I give it a bunch of byte strings and what they map to, and it produces a giant match block that evaluates them.
I’m using it to optimize my HTML entity decoding function in htmlize. Using all entities it produces a 48,000+ line function, which, somewhat surprisingly, works, and is consistently faster than my old algorithm. (At the cost of a 30 second slower build.)
Currently working on my UNIX shell: https://github.com/feniljain/dss
An awesome reference that I could recommend is rust cli book it touches exactly on those topics. If you are willing to give some examples a read maybe some legendary examples like ripgrep or rust rewrite of gnu core utils might be useful to you. Anyhow, this is already great work, keep on coding!
An awesome reference that I could recommend is rust cli book it touches exactly on those topics. If you are willing to give some examples a read maybe some legendary examples like ripgrep or rust rewrite of gnu core utils might be useful to you. Anyhow, this is already great work, keep on coding!
I’ve been reading The Haskell Book, but have been having fun implementing some Haskell things into Rust in a little library I’m calling towel
Try this one if you want a smaller, and particularly interesting crate: https://github.com/BLAKE3-team/BLAKE3
Have you seen the crate phf?
I recently released Malachite 0.3.2, which includes new support for small prime generation, primorials, and binomial coefficients. How many primes can be represented by a u32? The answer is 203,280,221, and on my machine it takes 6.13 seconds to generate and count them using an iterator created via Malachite's Primes trait: u32::primes().count(). Alternatively, I can get the answer even faster, in 3.85 seconds, using u32::primes_less_than_or_equal_to(&u32::MAX).count()). The first iterator keeps creating larger and larger prime sieves as it goes, whereas the second creates a prime sieve of the right size immediately. It's the same tradeoff as between Vec::new and Vec::with_capacity. As usual, I followed GMP's implementations for primorials and binomial coefficients. The binomial coefficient implementation is pretty elaborate, using 6 algorithms depending on the input size. Some of the variable names in the GMP code are in Esperanto, just to make life a little more difficult. I did not carry this quirk over to Malachite. The next Malachite version will be 0.4.0, and will finally include (initially very limited) support for arbitrary-precision floats! Don't expect much arithmetic yet; I am first focusing on conversion to and from other numeric types (with correct rounding), and on comparison. I am ensuring that all operations give the same results as those implemented by MPFR, by very thoroughly testing against rug::Float.