Delay and Interactive Pause in Multi-Threaded PythonIt's like musical chairs for threads (except no one gets left behind)!2025‑03‑105 minute readprogramming python infosec
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‑035 minute readprogramming web js
Automating Boolean-Based SQL Injection with PythonHow to be efficiently lazy at finding hidden gems in predictable places – Database Edition2024‑08‑105 minute readinfosec sql python
From Compression to Compromise: Unmasking Zip File ThreatsDeep dive into zip file attacks and mitigations (with examples!).2024‑02‑157 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‑168 minute readctf reverse cpp
N[Subtype Metaprogramming] is N[Mostly Harmless]Inheritance go brrrrrrrr... abusing turing-complete typesystems to write fun programs in Python.2023‑10‑028 minute readctf types python
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‑244 minute readprogramming embedded c
Digital Audio Synthesis for Dummies: Part 3Efficiently streaming audio to speakers on embedded systems (with examples in STM32).2023‑05‑249 minute readprogramming dsp embedded
Digital Audio Synthesis for Dummies: Part 2Generating audio signals for great good through additive synthesis and wavetable synthesis.2023‑03‑096 minute readprogramming dsp c
Digital Audio Synthesis for Dummies: Part 1An introductory discourse on audio processing. What makes audio tick?2023‑02‑245 minute readprogramming dsp audio-synthesis-for-dummies
Implicit Parameters in Scala and Haskell...and also C++ (kinda).2022‑10‑153 minute readprogramming programming-languages scala