I am a polyglot programmer and open source enthusiast, working as a consultant at Forse
- I've built
- Mediator - a fast (close to 0 overhead) sourcegenerator-based mediator pattern implementation in .NET. Mostly MediatR-compatible, but faster
- Fast.PRNGs.NET - fast PRNG implementations (up to 2.5x faster than
System.Random
) - simd-rand - SIMD implementations of common PRNGs in Rust 🦀 (for example Xoshiro256+ ~60 GiB/s u64 gen using AVX512 on my laptop, about 6x faster than non-vectorized)
- "building x in y" - experiments and learning about systems programming, programming languages, architectures and designs
- Simulating football seasons using the Monte Carlo method in Rust - lots of SIMD and performance engineering
- HTTP servers - experimenting with various techniques and architectures for performent HTTP servers: IO Uring, Linux, thread-per-core...
- Calculation Engine - calculatione engine with a builder API for creating formulas while doing vectorized calculations over columns of data
- Currently exploring Rust, Zig and Go
I strive to make simple, observable systems - employing mechanical sympathy to build efficient and reliable software.
Some of my favorite technical content 📖:
- Parse, don’t validate - by Alexis King
- Designing with types: Making illegal states unrepresentable - by Scott Wlaschin
- Anemic Domain Model - by Martin Fowler
- Design Smell: Primitive Obsession - by Mark Seemann/ploeh
- Simple Made Easy - by Rich Hickey
- CUPID - for joful coding - reflections on characteristics and properties vs principles - by Dan North
- SOLID? Nope, just Coupling and Cohesion - by CodeOpinion/Derek Comartin
- Modular Monoliths - by Simon Brown
- Vertical Slice Architecture - by Jimmy Bogard
- TigerStyle! (Or How To Design Safer Systems in Less Time) - by Joran Dirk Greef
- What is Going On With Software? - reflections on abstraction and performance - by Matthew Crews
- Data-Oriented Design and C++ - legendary talk by Mike Acton
- Practical Data Oriented Design - by Andrew Kelley
- Designing for Performance - by Martin Thompson
- How NOT to Measure Latency - by Gil Tene
- Performance Excuses Debunked - by Casey Muratori
- "Clean" Code, Horrible Performance - by Casey Muratori
- Adventures in Performance: Efficiency Analysis of Large-scale Compute - by Thomas Dullien/Halvar Flake