Frederik Peukert
email
posts about
Posts.
  • 2025-02-21

    Hiding code inside identifiers

    Using Unicode variation selectors to hide arbitrary data — even runnable JavaScript — inside a single character or variable name, completely invisibly.
    Read more ⟶
  • 2025-02-20

    Matching newtypes in function parameters

    A small Rust trick: destructure newtypes like UserId(u64) directly in function parameters to avoid scattering .0 and .inner() calls across your code.
    Read more ⟶
  • 2025-02-19

    AES-CBC: How to not shoot yourself in the foot

    The common footguns of AES-CBC: why encryption alone isn't enough, plus padding oracle and timing attacks, IV handling, and why AEAD modes are safer.
    Read more ⟶
  • 2025-02-15

    How to store passwords

    A step-by-step guide to storing passwords securely: from plaintext and encryption to hashing, salting, slow hashes like bcrypt, and passwordless SSO.
    Read more ⟶
  • 2024-11-10

    Monomorphization in Rust

    How Rust implements generics through monomorphization: the performance wins, the binary-size and compile-time costs, and a trick to keep code bloat down.
    Read more ⟶