Tutorial

Beginner-friendly discourses on various topics.

Thumbnail for From Compression to Compromise: Unmasking Zip File Threats
Thumbnail for From Compression to Compromise: Unmasking Zip File Threats

From Compression to Compromise: Unmasking Zip File Threats

Deep dive into zip file attacks and mitigations (with examples!).

Thumbnail for HKCERT CTF 2023 – Decompetition: Vitamin C++
Thumbnail for HKCERT CTF 2023 – Decompetition: Vitamin C++

HKCERT CTF 2023 – Decompetition: Vitamin C++

A beginner-friendly writeup to reverse-engineering C++. Years of complex shenanigans condensed!

Thumbnail for N[Subtype Metaprogramming] is N[Mostly Harmless]
Thumbnail for N[Subtype Metaprogramming] is N[Mostly Harmless]

N[Subtype Metaprogramming] is N[Mostly Harmless]

Inheritance go brrrrrrrr... (ab)using types to write programs.

Thumbnail for Why Dynamic Memory Allocation Bad (for Embedded)
Thumbnail for Why Dynamic Memory Allocation Bad (for Embedded)

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.

Thumbnail for Digital Audio Synthesis for Dummies: Part 3
Thumbnail for Digital Audio Synthesis for Dummies: Part 3

Digital Audio Synthesis for Dummies: Part 3

Efficiently streaming audio to speakers on embedded systems (with examples in STM32).

Thumbnail for Digital Audio Synthesis for Dummies: Part 2
Thumbnail for Digital Audio Synthesis for Dummies: Part 2

Digital Audio Synthesis for Dummies: Part 2

Generating audio signals for great good through additive synthesis and wavetable synthesis.