RSSAmplifier

Blog

Levent Kaya

C and C++ deep dives into OS internals, graphics, debugger internals, and retrocomputing.

leventkaya.comRSS feed ↗7 posts

Latest posts

Tweaking On Compilers: Kill the Runtime

What really happens before main()? A journey from C runtime and ELF entry points to building tiny executables without libc

Conjuring Nature’s Chaos on a Deterministic Machine: Perlin Noise

A ground-up implementation of Ken Perlin's gradient noise algorithm in C, covering gradient vectors, dot products, fade curves, and why it produces natural-looking randomness on a deterministic machine.

ptrace(2) is Broken: A Case Study in Debugging the Debugger Gone Wrong, BoltDbg Episode #1

Why ptrace's one-tracer rule breaks debugger-on-debugger scenarios, and a deep dive into its API design flaws: silent state inheritance, overloaded void* parameters, and ambiguous error returns.

Why and how did I make a zero-dependency graphics library from scratch

Building fbgl — a minimal Linux framebuffer graphics library in C with zero dependencies. Covers mmap-based framebuffer access via /dev/fb0, the drawing API, and TGA texture loading.

Graphical Integrated Debugging and Emulation Suite for 6502 CPU in C

How I built c6502 — an all-in-one MOS 6502 emulator, debugger, and decompiler in C. Covers real-time register and memory monitoring, a disassembler panel, and running actual 6502 binaries assembled with ca65.

Creating a Java Virtual Machine in C++ (Again) - part #2

Final weekend state of CVM++: classfile loader, stack/frames, and a tiny interpreter that can run simple Java.

Creating a Java Virtual Machine in C++ (Again) - part #1

Part 1 of building a working JVM from scratch in C++. Covers functional requirements, .class file structure, the constant pool, and parsing raw Java bytecode by hand.