Understanding Reference Types in Modern C++
Modern C++ gives you several kinds of references, each solving different problems around binding, lifetime, and ownership. Before C++11, you had one tool: the lvalue reference. ...
Read more →Short updates, context, and essays that complement the long-form notes in the bookshelf.
Modern C++ gives you several kinds of references, each solving different problems around binding, lifetime, and ownership. Before C++11, you had one tool: the lvalue reference. ...
Read more →Question: The model learns to generate a panoptic mask, which is an array of discrete tokens, conditioned on an input image. This avoids the inductive biases of traditional m...
Read more →Directly sampling from a probability density function (PDF) or probability mass function (PMF) sounds deceptively simple: evaluate the function, interpret the number, and draw a...
Read more →Introduction
Read more →From Elementary Mathematics to Vision Algorithms: The Hidden Life of Normalized Power Sums
Read more →Light is never just “white.” It has a shape, a fingerprint, a dance across wavelengths. Cameras record it, eyes interpret it, and both struggle in their own ways. In this post, ...
Read more →From Elementary Mathematics to Vision Algorithms: The Hidden Life of Normalized Power Sums
Read more →Color pipelines that ingest YUV video frames but render or analyze in RGB often have to answer two expensive questions before any correction work begins:
Read more →Tensor indexing feels natural once you see how dimensions line up. This walkthrough starts with 1D arrays and climbs to N-dimensional tensors, highlighting how PyTorch treats sl...
Read more →Looking for a single place to trace how the notebook has evolved? This reference page aggregates every post that landed on the site, sliced by month, quarter, half-year, and ful...
Read more →If you have written SIMD intrinsics for SSE or AVX, many of the mental models translate directly to CUDA or HIP kernels. Both ecosystems ask you to think in vectors, manage memo...
Read more →Why the Vocabulary Feels Slippery
Read more →Modern GPUs deliver petaflops by letting thousands of lightweight threads execute in lockstep. To harness that power, you need to understand how your kernels are scheduled and w...
Read more →Why Templates Still Matter
Read more →Modern CPUs have wide vector units capable of executing the same operation across multiple data elements at once. Compiler auto-vectorization handles the simple cases, but when ...
Read more →The lαβ color model from Reinhard, Ashikhmin, Gooch, and Shirley (2001) fuses two simple ideas: compress channel intensities with a logarithm so that multiplicative illumination...
Read more →When Theory Meets Practice in Sampling
Read more →Why Stochastic Thinking Matters
Read more →std::async is the standard library’s shortest path to running work asynchronously and receiving the result as a std::future. Used well, it hides thread management, propagates ex...
Read more →In the previous post we focused on the contract between a single promise and future. Real systems rarely stop there. Data pipelines, UI flows, and service backends routinely lau...
Read more →Modern C++ puts powerful concurrency tools in your hands, but raw threads still make it easy to race on shared state, forget to join, or swallow exceptions. Futures and promises...
Read more →Introduction
Read more →Why the Implicit Function Theorem Matters
Read more →Interactive Figures Spin, zoom, and inspect these plots to see how gradient and Hessian information shapes the local geometry and degeneracies we meet in vision pipelines.
Read more →Why Intersection Fails in Lagrange Multipliers: The Geometry of Optimization
Read more →Mathematics often rewards patient observers with patterns that seemed invisible at first glance. One of my favorite examples links two functions that appear to live on separate ...
Read more →Color pipelines can feel abstract until you tie each transform to what your eye sees. In this post we follow a Rec.709 image as it moves into ACES, gets graded in a scene-referr...
Read more →Optical character recognition rarely gets the spotlight, yet it’s the bridge between physical documents and searchable data. In 2005, HP open-sourced its internal Tesseract engi...
Read more →Negative feelings often get lumped together, but the words we choose point to very different shades of experience. I like to think of resent as the seed in a small emotional eco...
Read more →MathJax Test Page
Read more →This is Part 8 (Final) of an 8-part series on Kalman Filtering. Part 7 covered nonlinear extensions.
Read more →This is Part 7 of an 8-part series on Kalman Filtering. Part 6 explored real-world applications.
Read more →This is Part 6 of an 8-part series on Kalman Filtering. Part 5 covered Python implementation details.
Read more →This is Part 5 of an 8-part series on Kalman Filtering. Part 4 provided the complete mathematical derivation.
Read more →This is Part 4 of an 8-part series on Kalman Filtering. Part 3 established the Bayesian foundations.
Read more →This is Part 3 of an 8-part series on Kalman Filtering. Part 2 explored recursive filtering fundamentals.
Read more →This is Part 2 of an 8-part series on Kalman Filtering. Part 1 introduced state estimation concepts.
Read more →This is Part 1 of an 8-part series on Kalman Filtering. This series will take you from basic concepts to advanced applications and implementations.
Read more →One of the benefits of keeping research inside Obsidian is that the vault can double as a content pipeline. Folders map to learning projects, daily notes track reading sessions,...
Read more →The books and long-form research that live in this repository tend to move slowly. They collect notes, citations, and iterative drafts over weeks or months before they finally b...
Read more →