# robrohan.com — Full Post Index > Rob Rohan's personal technical blog. Software engineer, machine learning researcher, postgraduate student at Auckland University of Technology (AUT). See llms.txt for a site summary. --- ## Recent Posts (2023–2026) - Lispix - A Graphics and Computer Vision Algorithm Tester (2026-08-15) — Introducing Lispix, a Lisp-based graphing calculator app for fast iteration on image and computer vision algorithms, built to fix gaps found in tools like Desmos. https://robrohan.com/2026/08/15/graphics-computer-vision-algorithm-tester-lispix/ - From Slide Rules to Quantization (2026-08-05) — Experimenting with log-domain matrix multiplication in C, inspired by slide rules, to replace multiplication with addition in ML matmuls; benchmarked against naive floating point. https://robrohan.com/2026/08/05/slide-rules-to-quantization/ - Create a Real World 8 Page Zine on macOS - PagePacker (2026-07-28) — Building PagePacker, a macOS tool for laying out and printing an 8-page zine from a single sheet of paper. https://robrohan.com/2026/07/28/pagepacker-diy-zine/ - Using an NTS-2 Oscilloscope for Circuit Debugging (2026-07-09) — Testing whether a Korg NTS-2, built for synth sound design, can double as a general-purpose oscilloscope for embedded electronics debugging. https://robrohan.com/2026/07/09/nts-2-oscilloscope-circuit-debugging/ - Who Tests the Testers (2026-06-04) — Running standard LLM benchmarks against a custom AI harness to isolate regressions introduced by the harness itself versus the base model. https://robrohan.com/2026/06/04/who-tests-the-testers/ - The Context As a Protocol (2026-05-30) — Redesigning a local LLM harness to treat the context window as a stateless transport layer, rebuilt fresh from a session file each turn instead of accumulating state. https://robrohan.com/2026/05/30/the-context-as-a-protocol/ - The Realist Adjusts The Sails (2026-05-22) — Reflecting on decades spent fixing chaotic, human-authored legacy codebases; arguing AI-generated code is no worse than the bad code engineers already routinely inherit. https://robrohan.com/2026/05/22/the-realist-adjusts-the-sails/ - Local Agent Vibe Coded Keylogger (2026-05-12) — Letting a self-built local LLM harness, running on a local GPU, attempt to vibe-code a project on its own. https://robrohan.com/2026/05/12/local-agent-vibe-code/ - Ghost Installs via AI Harness (2026-05-09) — Exploring how an LLM's stylistic-transfer ability lets an AI harness generate and run arbitrary programs on the fly, and the security implications of that. https://robrohan.com/2026/05/09/ghost-installs/ - Testing a Spatial Memory Index for Strap (2026-05-05) — Prototyping an octree-based long-term memory store for the Strap AI harness project to surface relevant memories across sessions. https://robrohan.com/2026/05/05/octree-memory-strap/ - Working Local Coding Agent (2026-04-26) — Reflecting on narrow, practical uses of AI coding agents — rubber-ducking, LaTeX styles, small proofs of concept — rather than full feature builds or "vibe coding." https://robrohan.com/2026/04/26/adventures-local-coding-agent/ - Your Own AI on the Cheap (2026-04-18) — A survey of AI harnesses (Claude Code, Codex, OpenCode, Claude Cowork, and others) and how to run one of your own inexpensively. https://robrohan.com/2026/04/18/your-own-ai-on-the-cheap/ - 你的代币怎么样?(How's your tokens?) (2026-04-11) — Experimenting with skills and tool-calling techniques to enhance coding agents at inference time, and the cost of iterating on them inside a live coding session. https://robrohan.com/2026/04/11/ni-de-dai-bi-zenme-yang/ - Basis - A Lisp Neural Network (2026-04-05) — Building Basis, a small neural network implemented in Lisp. https://robrohan.com/2026/04/05/basis-neural-network-in-lisp/ - The Unreasonable Effectiveness of Claude Code (2026-03-21) — Practical evaluation of Claude Code across three real-world projects: porting legacy C, building from scratch, and adding an API. Effective with human oversight; dangerous without it. https://robrohan.com/2026/03/21/claude-code-works/ - We'll All Vibe Code; It'll Be Anarchy (2026-02-05) — Testing LLM code generation (OpenAI Codex) for UI development; evaluating the effectiveness and limits of AI-assisted software engineering vs. hand-crafted code. https://robrohan.com/2026/02/05/well-all-vibe-code-itll-be-anarchy/ - Better At Research & The ARC Prize (2025-12-23) — Adopting lab-notebook methodology for AI/ML experiments and pursuing the ARC Prize challenge with custom model approaches. https://robrohan.com/2025/12/23/better-at-research-arc-prize/ - AI Hallucinations (2025-11-13) — Clarifying that AI hallucinations are statistical token prediction artefacts, not errors; why LLMs are not conscious and must not be treated as authoritative without verification. https://robrohan.com/2025/11/13/ai-hallucinations/ - Emergent Behavior (2025-08-24) — Explaining emergent behaviour in deep neural networks as a natural consequence of complex pattern matching, not a surprising phenomenon. https://robrohan.com/2025/08/24/emergent-behavior/ - On AI Taking Engineering Jobs (2025-05-03) — Arguing that LLMs won't replace software engineers but will reshape the field; discusses neural networks as function approximators replacing traditional code. https://robrohan.com/2025/05/03/on-ai-taking-engineering-jobs/ - Fight the Exponent (2025-01-03) — Using AI-generated audio samples for music production; upscaling 32kHz audio to 48kHz using cubic spline interpolation. https://robrohan.com/2025/01/03/fight-the-exponent/ - MIDI GPT Custom BPE (2024-06-18) — Training a GPT model on MIDI data using custom byte pair encoding to tokenise MIDI dimensions into UTF-8 characters for music generation. https://robrohan.com/2024/06/18/midi-bpe-gpt/ - The Simplest Spider (2024-03-13) — A minimal 15-line bash web scraper using curl, xmllint, and sed for collecting ML training data without complex frameworks. https://robrohan.com/2024/03/13/the-simplest-spider/ - Map Selection Using a Quadtree (2024-02-01) — Building a geospatial property filter using quadtree data structures for map-based selection without custom database extensions. https://robrohan.com/2024/02/01/map-selection-quadtree/ - 50k Ultramarathon Retrospective (2023-10-18) — Personal account of completing a 50km trail ultramarathon in New Zealand, with training methodology, nutrition, and gear analysis. https://robrohan.com/2023/10/18/ultra-retrospective/ - What Vision Pro Actually Is (2023-06-07) — Analysis of Apple Vision Pro as a developer platform for future AR, not a consumer VR product; parallels to early iPhone. https://robrohan.com/2023/06/07/wrong-about-apple-vision-pro/ - WASM Raycaster in C (2023-06-01) — Building a 3D raycaster compiled to WebAssembly using C and Clang without stdlib; reflections on how low-level projects inform ML work. https://robrohan.com/2023/06/01/wasm-raycaster-in-c/ ## Selected Older Posts - SVG as a UI (2022-12-27) — Using SVG as an interactive UI layer. https://robrohan.com/2022/12/27/svg-as-a-ui/ - Mastodon, Machine Learning, and Mandarin (2022-11-25) — Exploring the intersection of decentralised social networks, ML, and Mandarin Chinese. https://robrohan.com/2022/11/25/mastodon-machine-learning-mandarin/ - Narrative Programming (2022-04-23) — Treating code as a narrative medium; structured programming as storytelling. https://robrohan.com/2022/04/23/narrative-programming/ - NFT and Blockchain (2022-01-22) — A pragmatic take on NFTs and blockchain from a software engineering perspective. https://robrohan.com/2022/01/22/nft-blockchain/ - Binary Tree (2021-05-02) — Implementing and visualising a binary tree. https://robrohan.com/2021/05/02/binary-tree/ - Matrix Fun (2021-04-24) — Exploring matrix mathematics for graphics and ML applications. https://robrohan.com/2021/04/24/matrix-fun/ - Using WebXR Types (2020-10-17) — TypeScript type definitions for WebXR development. https://robrohan.com/2020/10/17/using-webxr-types/ - You Don't Need All That JS (2020-09-12) — Arguing for leaner JavaScript; native browser APIs over heavy frameworks. https://robrohan.com/2020/09/12/you-dont-need-all-that-js/ - WebGL, WebVR, and Web Components (2018-08-05) — Combining WebGL, WebVR, and Web Components for 3D browser experiences. https://robrohan.com/2018/08/05/webgl-webvr-webcomponents/ - Golang and OpenGL (2018-07-28) — Using Go with OpenGL for graphics programming. https://robrohan.com/2018/07/28/golang-opengl/ - Get Into WebAssembly (2018-05-07) — Introductory guide to compiling to WebAssembly. https://robrohan.com/2018/05/07/get-into-webassembly/ - One Time Pad in JavaScript (2013-10-05) — Implementing a one-time pad cipher in JavaScript for educational purposes. https://robrohan.com/2013/10/05/one-time-pad-in-javascript/ - Closures in JavaScript (2014-02-13) — Explaining JavaScript closures with practical examples. https://robrohan.com/2014/02/13/closures-in-javascript/ --- ## About the Author Rob Rohan — software engineer, ML researcher, holds a postgraduate certificate (CS & ML) from Auckland University of Technology. Founder of The Rohans Limited (https://therohans.com). GitHub: https://github.com/robrohan GitLab: https://gitlab.com/robrohan LinkedIn: https://www.linkedin.com/in/robrohan