Rust needs a better non-cryptographic prng for its rand crate. This is an explanation of how I went about designing one. I hope it will not only demonstrate that the resulting algorithm is worthy of consideration, but be useable as a guide for others who want to build a PRNG.

A bit of history

Originally SmallRng was PCG-32 and PCG-64. About a year or so ago it was switched to xoshiro128++ and xoshiro256++.

This was done after some concerns were raised by the author of xoshiro, who posted a blog entry on PCG and also raised an issue on the possibility of PCG being…


Democratic 2020 presidential candidates in an infographic

2020 presidential candidates infographic
2020 presidential candidates infographic

Summaries are tongue in cheek.

Liberal vs moderate access is based on voting records.

Feel free to copy or modify without any limitation.


Rust in 2019 and beyond

In response to the call for blog posts on the direction Rust should take in 2019 and beyond I’ve come up with a few ideas.

In 2015, Rust had the goal being stable. That has been achieved. The next logical phase was to focus on productivity. Enormous gains have been made.

Productivity has become a strategic advantage for Rust. Take a look at modulecounts, as you can see the number of open…

Tom Kaitchuck

Tom Kaitchuck is a software developer working on Pravega.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store