Kamran Amini

Kamran Amini is a senior professional specializing in embedded and kernel development. He has worked for numerous Iranian well-known companies as a senior engineer, architect, consultant, and CTO. In 2017, he moved to Europe to work as a senior architect and engineer for highly reputable companies such as Jeppesen, Adecco, TomTom, and ActiveVideo Networks. While residing in Amsterdam, he worked on his first book, Extreme C. His main areas of interest are computation theory, distributed systems, machine learning, information theory, and quantum computation. Parallel to his professional career, he is studying Astronomy and Planetary sciences. His academic areas of interest are related to the development of the early universe, the geometry of black holes, quantum field theory, and string theory.

projects by Kamran Amini

Linux Two-Step Authentication with Rust

3 weeks · 6-8 hours per week · INTERMEDIATE

In this liveProject, you’ll use the Rust programming language to develop a two-step verification system for authentication service. You’ve decided to work in Rust because it runs without memory issues, it’s data race free, and provides safe concurrency.


Your client’s employees work on different operating systems, so your verification system needs to function on Mac, Linux, and Windows. To complete this system, you’ll need to develop a RESTful service as its core backend, and then write a Rust client that is going to be called by Linux as part of its authentication process. Finally, you’ll use Rust to develop Admin and verification clients, write a thin layer of C code as a PAM module, and configure Linux to use the PAM module in its authentication pipeline.