Typing an old PHP project with PHPStan
PHPStan can check a PHP project that has almost no types. The baseline lets you start today and fix the old errors one file at a time.
6 minute read
I write about software architecture, .NET, real-time systems and encryption.
PHPStan can check a PHP project that has almost no types. The baseline lets you start today and fix the old errors one file at a time.
6 minute read
ML-KEM became a NIST standard in 2024. This post explains what it does and how it differs from the key exchange we use today.
10 minute read
Two sides can agree on a shared secret over an open network. X25519 does this in a few clear steps.
10 minute read
AES-GCM needs a new nonce for each message. One repeat can expose the plain text and let an attacker forge messages.
10 minute read
Span<T> lets you work on a slice of memory without a copy. A small parser shows the change, before and after.
9 minute read
Every boundary between modules has a cost. A few simple questions help you decide where one belongs.
9 minute read
Every frame from a browser is masked with a random key. This simple XOR stops web pages from poisoning proxy caches.
9 minute read