Cracking Random Number Generators using Machine Learning – Part 1: xorshift128

Overhead of Returning Optional Values in Java and Rust

Implementing Hash Tables in C

Issue #108

10/18/2021

{{PreviewText}} 


Howdy
Hope you had a flippin fantastic weekend! Here's the issue.

====================================================================

Cracking Random Number Generators using Machine Learning – Part 1: xorshift128

Published: 15 October 2021
Tags: machine learning


Give a man a fish, and he'll be full for the day. Teach an artificial intelligence how to predict the outcome of pseudo-random number generators (PRNG), and blow away your fellow peasants with your mind-bending black magic. In this research article, Mostafa Hassan explains how the xorshift128 PRNG works, then dives deeply into how a neural network was used to model it. Although I don't agree with the statement that a PRNG "should not follow any pattern" (the whole point is to have consistent random numbers for a specific seeds, hence there has to be SOME pattern), it's an interesting read nonetheless.

Read Full Article

====================================================================

Overhead of Returning Optional Values in Java and Rust

Published: 16 October 2021
Tags: java, rust


How does one turn the idea of nothing into something physical? Well Alex, you say in your most pedagogic inner voice, isn't that what 0 is? Well dear reader, it's probably up to the individual, but null is one of the more common methods. Piotr Kołaczkowski's article however, focuses on an alternative to null, the Optional or Maybe type. Piotr specifically focuses on the performance impact of using this type, as opposed to primitives, in both Java and Rust.

Read Full Article

====================================================================

Implementing Hash Tables in C

Published: 2 October 2021
Tags: c


Really, the title says it all. Is this extensive article by Andrei Ciobanu something your college professor would recommend? Probably. Does that make it any worse? Not really. Andre briefly covers hash functions, then begins taking apart the implementation of the hash table, starting with separate chaining. The article is still in draft form, but has good info, and gives you an opportunity to make comments on improvements/additions!

Read Full Article
Want to discuss the issue? 

If you want to discuss or comment on this issue, head on over to this page at A Byte of Coding.
Twitter
Website
Thanks for your Support! 

Thanks to sponsors and supporters like Євген Грицай, Scott Munro, zturak, pek, Emil Hannesbo, and Joe Hill this newsletter is provided to you for free. If you'd like to also show your support and buy me a monthly meal, you can donate on the Patreon page. It's not necessary, but it lets me know that I'm doing a good job and that you're finding value in the content.
Donate Here



Stats (updated daily)

Sent: 2313

Opens: 1114

Clicks: 448

Link Clicks Clicks % Unique Clicks Unique Clicks %
Cracking Random Number Generators using Machine Learning – Part 1: xorshift128 97 23.95% 88 24.31
Overhead of Returning Optional Values in Java and Rust 152 37.53% 137 37.85
Implementing Hash Tables in C 156 38.52% 137 37.85

Previous

Back to Issues

Next