Programming

The act of pushing buttons in a manner to communicate with machines and human beans. I enjoy programming in a variety of languages, be it C++, Python, Haskell, Rust, or English. Posts from this tag largely pertain to software engineering and walkthroughs/tutorials related to programming.

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 HITCON 2023 – The Blade
Thumbnail for HITCON 2023 – The Blade

HITCON 2023 – The Blade

Beginner-friendly writeup for a nifty Rust reversing challenge.

Thumbnail for GDB/GEF Cheatsheet
Thumbnail for GDB/GEF Cheatsheet

GDB/GEF Cheatsheet

Quick command reference on one of the most powerful tools for dynamic analysis.

Thumbnail for DUCTF 2023 – Wrong Signal
Thumbnail for DUCTF 2023 – Wrong Signal

DUCTF 2023 – Wrong Signal

You straight to oops(). Right away.

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 The Mathematics of Types
Thumbnail for The Mathematics of Types

The Mathematics of Types

Programming isn't about mindlessly typing away on a keyboard. There is an aesthetic quality that comes with approaching a problem.

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.

Thumbnail for Site Migration to Eleventy
Thumbnail for Site Migration to Eleventy

Site Migration to Eleventy

JavaScript go brrrrrrrrr.

Thumbnail for AOC 2021 Day 22 – Reactor Reboot
Thumbnail for AOC 2021 Day 22 – Reactor Reboot

AOC 2021 Day 22 – Reactor Reboot

Reboot reactors from a submarine using set theory.

Thumbnail for DownUnderCTF 2022 – ezpz-rev
Thumbnail for DownUnderCTF 2022 – ezpz-rev

DownUnderCTF 2022 – ezpz-rev

Grid puzzles aren't that easy.

Thumbnail for MuseScore Navigation Plugins
Thumbnail for MuseScore Navigation Plugins

MuseScore Navigation Plugins

Developing plugins to enhance the music editors' quality of life.

Thumbnail for AOC 2021 Day 24 – No U
Thumbnail for AOC 2021 Day 24 – No U

AOC 2021 Day 24 – No U

Finally a reverse engineering challenge in Advent of Code.

Thumbnail for AOC 2021 Day 16 – Parser Combinator Fun
Thumbnail for AOC 2021 Day 16 – Parser Combinator Fun

AOC 2021 Day 16 – Parser Combinator Fun

Decoding packets with monads.

Thumbnail for AOC 2021 Haskell Utils
Thumbnail for AOC 2021 Haskell Utils

AOC 2021 Haskell Utils

An introduction and walkthrough of my haskell utilities.

Thumbnail for TAMUctf 2022 – CTF Sim
Thumbnail for TAMUctf 2022 – CTF Sim

TAMUctf 2022 – CTF Sim

Oops, your vpointer was redirected.

Thumbnail for TAMUctf 2022 – Labyrinth
Thumbnail for TAMUctf 2022 – Labyrinth

TAMUctf 2022 – Labyrinth

Using CFGs to solve a control-flow maze.

Thumbnail for SEAL
Thumbnail for SEAL

SEAL

Some Extensions for the Amy Language – a programming language project made with Scala.