How to Use PrismJS Plugins with NodeJS and MarkdownItImprove your storytelling with these dead simple hacks for rendering fancy Prism plugins in Node! 2024‑11‑03 7 minute readprogramming web js
Automating Boolean-Based SQL Injection with PythonHow to be efficiently lazy at finding hidden gems in predictable places – Database Edition 2024‑08‑10 8 minute readinfosec sql python
From Compression to Compromise: Unmasking Zip File ThreatsDeep dive into zip file attacks and mitigations (with examples!). 2024‑02‑15 10 minute readinfosec notes web
HKCERT CTF 2023 – Decompetition: Vitamin C++A beginner-friendly writeup to reverse-engineering C++ a lá decompetition. Years of complex shenanigans condensed! 2023‑11‑16 12 minute readctf writeup reverse
N[Subtype Metaprogramming] is N[Mostly Harmless]Inheritance go brrrrrrrr... abusing turing-complete typesystems to write fun programs in Python. 2023‑10‑02 13 minute readprogramming ctf types
Why Dynamic Memory Allocation Bad (for Embedded)If you need flexibility and can afford it, use dynamic memory. If you can’t afford it, use static. 2023‑06‑24 5 minute readprogramming embedded c
Digital Audio Synthesis for Dummies: Part 3Efficiently streaming audio to speakers on embedded systems (with examples in STM32). 2023‑05‑24 12 minute readprogramming dsp embedded
Digital Audio Synthesis for Dummies: Part 2Generating audio signals for great good through additive synthesis and wavetable synthesis. 2023‑03‑09 9 minute readprogramming dsp c
Digital Audio Synthesis for Dummies: Part 1An introductory discourse on audio processing. What makes audio tick? 2023‑02‑24 5 minute readprogramming dsp audio-synthesis-for-dummies
Implicit Parameters in Scala and Haskell...and also C++ (kinda). 2022‑10‑15 5 minute readprogramming programming-languages scala