About

I’m Cha Seojun, a systems programmer and independent researcher deeply focused on understanding how computers work at the lowest level.

My work explores everything from:

  • ARM Assembly and memory-level logic
  • Linux Internals, syscalls, and ELF binaries
  • Compilers & Toolchains — building from scratch in Common Lisp
  • Bare-metal hardware emulation using QEMU
  • FPGA-based CPU design with Verilog
  • System Hacking and reverse engineering real-world binaries

I’m not just building projects — I’m building understanding.


Why this blog exists

This blog is my personal lab notebook. It’s where I:

  • Document complex topics in a way that’s visually and logically clear
  • Share real engineering struggles and breakthroughs
  • Build public proof of work — one post, one project at a time

I believe the best way to learn is to build from scratch and break things along the way.


Currently Working On

  • From the Transistor
    Designing a CPU → writing an assembler, compiler, and OS → running a real shell and browser on FPGA.

  • ARM Assembly Tutorial
    A step-by-step ARMv4 assembly tutorial designed for low-level programmers.
    Covers instruction encoding, memory access, stack, branching, condition flags, and more — with hands-on examples and detailed explanations.

  • mini-strace
    A minimal Linux syscall tracer built with pure C.
    Focused on understanding how ptrace intercepts syscalls, manages parent/child sync, and forms the core of tools like strace.


Contact


Thanks for stopping by. Stay curious, and keep building.

AltStyle によって変換されたページ (->オリジナル) /