Writing custom PAMs in Rust

Writing custom PAMs in Rust
Photo by Michael Dziedzic on Unsplash
What is a PAM module? # Authentication in Linux is achieved through the use of PAMs (Pluggable Authentication Modules) - you can think of them as a program giving a user either a green or a red light based on the credentials they provided. I am by no means a Linux expert, but I’ll do my best to explain the subject as clearly as possible. Thanks to the way PAMs work, you are not limited to the default login-password authentication - nothing’s stopping you from implementing a web-based (perhaps an external API?
Read more →

Getting pseudo-random with Minecraft Villagers

Getting pseudo-random with Minecraft Villagers
TL;DR # I created an RNG which uses real-time Minecraft villager position as the seed and I don’t regret a single thing about it. Random vs Chaotic # Some time ago I’ve had a very odd fascination with the concept of randomness and how it’s impossible to achieve true randomness digitally. In most cases it’s not necessary to have something truly random in our software, but there are cases when the impredictability of the result is paramount.
Read more →