Neural nets on Pentiums. TSR hacks in DOS. TCP/IP stacks on microcontrollers. A collection of programs and writing from a time when compilation was the test suite and Stack Overflow didn't exist.
the one that started it all
September 19, 2004 · Windows XP · original screenshot
A real-time biometric security system. Captures a face from a digital camera via TWAIN, extracts features using PCA (eigenfaces), and matches against a database using a multi-layer neural network. The bar chart shows confidence scores per person. The network topology is visualized live. Written in raw C++ with Win32 API — no frameworks, no libraries, no GPU. Three people, one semester, one compiler.
↓ face_rec_source.zip (4.1 MB — full source, training data & saved network weights)Twenty-one years later, the same person runs teams of AI agents that build software autonomously. The arc is longer than you think.
live: the algorithm itself, faithfully
The Edgeeye.dat / Pixeye.dat networks (4 MB of weights from 2003) are loaded by a Python port of the original C++ pipeline, run against each of the 8 training photos as input, and the resulting numbers are played back here. The demo cycles through all 8 test inputs — watch what actually happens vs. what should.
8 tests, 8 correct — the algorithm works. For some photos the 80×50 “eye box” lands on cheeks (look at Gowtham and Rajesh); that's the real algorithm in action — it doesn't insist on the anatomical eye, it finds whatever 80×50 patch the pre-trained edge+pixel nets recognise. Eye-detection here matches the original Feature.dat values to the pixel for several photos.
engineering projects
Academic projects from BMS College of Engineering, Bangalore. Each one built from scratch — no npm install, no pip, no frameworks. Just specs, manuals, and stubbornness.
Original 2004 screenshot — the Photoshop-designed Java Swing UI with the joypad rotation controls and pipe-switcher buttons.
Linear interpolation between polygons, padded by adjacent-duplicate to balance vertex counts — the same technique Quake II uses between MD2 keyframes.
Actual Quake II MD2 player models — 315 vertices, 590 triangles, 198 frames, 20 animations. Drag to rotate. Wireframe with backface culling and depth-fade.
s = ut + ½at² from PixFX.cpp.320×200 mode 13h, scaled. Original ran at full DOS speed; this honors the same time-step (timedelay=0.5).
articles
Written for a site built with PHP and Smarty templates. The kind of tutorials that existed before every answer was on Stack Overflow.
Deep dive into interrupt vector tables, interrupt service routines, and how DOS handles hardware interrupts. One of the most visited pages on the original site.
C ProgrammingHow to implement a progress bar in a non-multithreaded DOS environment. Multiple approaches to a problem that modern programmers never have to think about.
NetworkingThe fundamental difference between routing and forwarding — explained from first principles without assuming any networking background.
Web DevThe case for separating content from presentation. Written in 2004, a year before Django and Rails made MVC mainstream. The principle hasn't changed.
the vault
TSR hacks, keyboard interceptors, Explorer exploits, encryption tools, ASCII art generators — all written for DOS and Turbo C. A time capsule from when you had to manage your own memory and interrupts were your API.
"I started by training a neural network to recognize faces on a Pentium. I ended up running teams of AI agents that build software while I sleep."