<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Joe Ma&apos;s Tech Blog</title><description>Articles, showcases, and experiments by Joe Ma.</description><link>https://mrjoema.github.io/</link><item><title>Compressing a ResNet for the edge: a cat breed + head-box detector</title><link>https://mrjoema.github.io/blog/cat-breed-detector/</link><guid isPermaLink="true">https://mrjoema.github.io/blog/cat-breed-detector/</guid><description>An end-to-end model-compression project: fine-tune a multi-task ResNet50 to classify cat breeds and regress a head bounding box, then prune and quantize it down to a 19 MB int8 model at ~0.90 accuracy — a 5× size cut. With the corrections I made along the way.</description><pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate></item><item><title>96% full-board accuracy on chess recognition — what the papers say and what actually worked</title><link>https://mrjoema.github.io/blog/chess-recognition/</link><guid isPermaLink="true">https://mrjoema.github.io/blog/chess-recognition/</guid><description>A results-first walkthrough of building a chess position recognizer: 99.85% per-square accuracy in 30 epochs, backed by five papers. Every design decision has a citation.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate></item><item><title>CNN from 0 — why convolutional networks exist and what every layer actually does</title><link>https://mrjoema.github.io/blog/cnn-from-zero/</link><guid isPermaLink="true">https://mrjoema.github.io/blog/cnn-from-zero/</guid><description>A from-scratch tour of convolutional neural networks: why they replaced manual feature engineering, what every layer does, how the network actually learns (softmax, cross-entropy, backprop), and how it assembles into a working VGG. Inline diagrams and the math behind each layer.</description><pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate></item><item><title>What continuous batching changes: reading three LLM inference traces</title><link>https://mrjoema.github.io/blog/llm-batching-trace-comparison/</link><guid isPermaLink="true">https://mrjoema.github.io/blog/llm-batching-trace-comparison/</guid><description>A trace-first comparison of serial inference, static batching, and continuous batching: model-call count, batch shrinkage, refill, and the latency-throughput connection.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Where does LLM inference time go? Prefill, decode, and KV cache on Apple silicon</title><link>https://mrjoema.github.io/blog/llm-prefill-decode-apple-silicon/</link><guid isPermaLink="true">https://mrjoema.github.io/blog/llm-prefill-decode-apple-silicon/</guid><description>A ground-up implementation and profiling study of autoregressive inference on an M4 Pro: why prefill and decode stress the GPU differently, how KV cache grows, and how the MPS/Metal path differs from CUDA.</description><pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Neural network pruning — from fine-grained to channel pruning and everything in between</title><link>https://mrjoema.github.io/blog/nn-pruning-deep-dive/</link><guid isPermaLink="true">https://mrjoema.github.io/blog/nn-pruning-deep-dive/</guid><description>A lab-driven exploration of neural network pruning: implementing fine-grained and channel pruning, sensitivity analysis, channel sorting, and the hardware trade-offs of sparse vs. structured weights.</description><pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Pipe vs shared memory: what actually happens when you pass a tensor between processes</title><link>https://mrjoema.github.io/blog/pipe-vs-sharedmem/</link><guid isPermaLink="true">https://mrjoema.github.io/blog/pipe-vs-sharedmem/</guid><description>A benchmark-driven deep dive into OS primitives — virtual memory, kernel buffers, and why shared memory is 2.8× faster than pipe + pickle for passing tensors between Python processes.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate></item><item><title>Neural network quantization — from k-means codebooks to integer-only inference</title><link>https://mrjoema.github.io/blog/quantization-deep-dive/</link><guid isPermaLink="true">https://mrjoema.github.io/blog/quantization-deep-dive/</guid><description>A lab-driven exploration of neural network quantization: k-means codebooks, linear (affine) quantization with scale and zero-point, integer-only inference, and the PTQ-vs-QAT trade-offs that decide how much accuracy survives on the edge.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate></item></channel></rss>