# Julian Henry > Software engineer in Houston, Texas. Long-form mathematics, derivations included, and open-source tools for human languages. Posts are in English except one essay in Spanish. Math in the HTML is TeX source, typeset in the browser by MathJax. ## Series - [On Multiplication](https://juleshenry.github.io/blog/series/on-multiplication): How multiplying big integers got faster: schoolbook n², Karatsuba, the FFT, n log n, and a 2026 preprint claiming to go lower. - [Vol. I: Schoolbook, Karatsuba, Toom-Cook](https://juleshenry.github.io/blog/2025/12/19/On-Multiplication): Why schoolbook multiplication costs O(n²), how Karatsuba gets by with three half-size products, and how Toom-Cook generalizes the trick by interpolation. - [Vol. II: The Fourier Transform](https://juleshenry.github.io/blog/2025/12/19/On-Multiplication-Vol-II): Integer multiplication as convolution, the discrete Fourier transform, and how the Cooley-Tukey FFT computes it in O(N log N), with a worked 8-point example. - [Vol. III: Schönhage-Strassen and Harvey-van der Hoeven](https://juleshenry.github.io/blog/2025/12/19/On-Multiplication-Vol-III): Schönhage-Strassen multiplication modulo 2ᵐ + 1, where its log log n factor comes from, and how Harvey and van der Hoeven reached O(n log n) in 2019. - [Vol. IV: Sorting and the Mirage of n log n](https://juleshenry.github.io/blog/2025/12/19/On-Multiplication-Vol-IV): Why comparison sorting's n log n lower bound is a theorem and integer multiplication's never was, though their fast algorithms share one recurrence. - [Vol. V: Below n log n](https://juleshenry.github.io/blog/2026/10/08/On-Multiplication-Vol-V): An unrefereed OpenAI preprint claims integer multiplication below n log n on a multitape Turing machine: how its swap gadget works and how far to trust it. - [Abel–Ruffini](https://juleshenry.github.io/blog/series/abel-ruffini): Why no formula in radicals solves every quintic: Arnold's short proof by loops and commutators, then the Galois-theory version that names specific unsolvable quintics. - [Vol. I: The Short Proof](https://juleshenry.github.io/blog/2026/08/22/Abel-Ruffini-Theorem): Arnold's topological proof that no radical formula solves the general quintic, using loops of coefficients, winding numbers and nested commutators in S₅. - [Vol. II: Roots Exist](https://juleshenry.github.io/blog/2026/08/22/Abel-Ruffini-Theorem-Vol-II): The fundamental theorem of algebra, proved by a minimum modulus argument, and how complex conjugation permutes the five roots of a real quintic. - [Vol. III: Symmetries of the Roots](https://juleshenry.github.io/blog/2026/08/22/Abel-Ruffini-Theorem-Vol-III): Permutations of the roots, parity, normal subgroups, a proof that A₅ is simple, and why S₄ is solvable while S₅ is not. - [Vol. IV: Where the Roots Live](https://juleshenry.github.io/blog/2026/08/22/Abel-Ruffini-Theorem-Vol-IV): Splitting fields, radical towers, and the Galois group as the root permutations that field automorphisms realize, worked out for the cube root of 2. - [Vol. V: Towers and the Galois Correspondence](https://juleshenry.github.io/blog/2026/08/22/Abel-Ruffini-Theorem-Vol-V): The tower law, Kummer theory and the Galois correspondence, and how they show a polynomial is solvable by radicals exactly when its Galois group is solvable. - [Vol. VI: Quintic Symmetry](https://juleshenry.github.io/blog/2026/08/22/Abel-Ruffini-Theorem-Vol-VI): Why the general polynomial of degree n has Galois group Sₙ, a quintic over ℚ with group S₅, a solvable quintic, and the history from Ruffini to Galois. - [Sphere Eversion](https://juleshenry.github.io/blog/series/sphere-eversion): Why a sphere can be turned inside out without a crease and a circle in the plane cannot, from open sets to Smale's theorem. - [Vol. I: Open, Closed, Clopen](https://juleshenry.github.io/blog/2026/08/17/circling-the-sphere): Open, closed and clopen sets, continuity, connectedness, paths and compactness: the topology needed to state Smale's sphere eversion theorem. - [Vol. II: Paths and Homotopy](https://juleshenry.github.io/blog/2026/08/17/circling-the-sphere-Vol-II): Homotopy and the fundamental group built from paths, a lifting proof that π₁(S¹) = ℤ, and why πₖ(Sⁿ) = 0 whenever k < n. - [Vol. III: Manifolds and Immersions](https://juleshenry.github.io/blog/2026/08/17/circling-the-sphere-Vol-III): Charts on the 2-sphere, the Jacobian, immersions, regular homotopy, and why straight-line interpolation creases the sphere instead of everting it. - [Vol. IV: Curves in the Plane](https://juleshenry.github.io/blog/2026/08/17/circling-the-sphere-Vol-IV): The turning number of a plane curve, why no regular homotopy can change it, and why the Gauss map degree does not obstruct sphere eversion. - [Vol. V: Frames and Smale's Theorem](https://juleshenry.github.io/blog/2026/08/17/circling-the-sphere-Vol-V): Smale's existence proof for sphere eversion: tangent frames, fibrations, SO(3) as ℝP³ via quaternions and the belt trick, and why the obstruction vanishes. - [Vol. VI: Seeing the Eversion](https://juleshenry.github.io/blog/2026/08/17/circling-the-sphere-Vol-VI): Corrugations that give a sphere slack, the Bednorz ruled surface formula for the halfway model, and signed volume as a test for halfway. - [Mean-Reverting VIX](https://juleshenry.github.io/blog/series/mean-reverting-vix): Models the VIX as a mean-reverting process, prices its futures and options, and shows what one day's option chain can and cannot identify. - [Vol. I: The Rubber Band](https://juleshenry.github.io/blog/2026/03/09/rafaga): What the VIX is, how mean reversion becomes an ODE and then a stochastic model of log VIX, and what 22 years of daily closes say about it. - [Vol. II: Futures, Options and a Flat Smile](https://juleshenry.github.io/blog/2026/03/09/rafaga-Vol-II): How the log VIX model of Vol. I prices VIX futures and options, how parity reads futures off the option chain, and why its implied volatility smile is flat. - [Vol. III: Jumps, Vol-of-Vol and the Fourier Trick](https://juleshenry.github.io/blog/2026/03/09/rafaga-Vol-III): How upward jumps and random vol-of-vol fatten the right tail of log VIX, and how Gil-Pelaez inversion of the characteristic function prices VIX options. - [Vol. IV: Calibration, and What the Thesis Didn't Say](https://juleshenry.github.io/blog/2026/03/09/rafaga-Vol-IV): How the thesis calibrated its VIX models, what it left unstated, a check of its 2011 parameter tables, and why one expiry cannot identify the reversion speed. - [Vol. V: 2026, viz. VIX](https://juleshenry.github.io/blog/2026/03/09/rafaga-Vol-V): The thesis' calibration rerun on the Cboe VIX option chain of 29 September 2026: smile fits, held-out strikes, futures, tail odds and the term structure. - [Vol. VI: Trading It, Honestly](https://juleshenry.github.io/blog/2026/03/09/rafaga-Vol-VI): Five trades a fitted VIX smile suggests, checked against the 2026 results: one fear premium measured, one hedge ratio inverted, three ideas left unsupported. - [Primitive Sets](https://juleshenry.github.io/blog/series/primitive-sets): Why the primes outweigh every other set of integers where none divides another: the shape of Lichtman's 2022 proof, starting from divisibility. - [Vol. I: No One Divides Another](https://juleshenry.github.io/blog/2025/06/08/Back-of-the-Envelope-Primitive-Sets): Divisibility, unique factorization and primitive sets from scratch, and why counting and natural density cannot say which primitive set is largest. - [Vol. II: The Erdős Sum](https://juleshenry.github.io/blog/2025/06/08/Back-of-the-Envelope-Primitive-Sets-Vol-II): Builds the Erdős sum, which weighs each integer a by 1/(a log a), shows why that weight sits at the edge of convergence, and why the primes score 1.6366. - [Vol. III: Territories and the e^γ Bound](https://juleshenry.github.io/blog/2025/06/08/Back-of-the-Envelope-Primitive-Sets-Vol-III): How disjoint territories, a density budget of 1 and Mertens' theorem prove Erdős's 1935 bound for primitive sets, sharpened by Lichtman and Pomerance to e^γ. - [Vol. IV: Slots and the √v Packing](https://juleshenry.github.io/blog/2025/06/08/Back-of-the-Envelope-Primitive-Sets-Vol-IV): Splitting the Erdős primitive set problem into one slot per prime, measuring a composite's distance from prime, and Lichtman's √v packing bound. - [Vol. V: The Quarter-Circle](https://juleshenry.github.io/blog/2025/06/08/Back-of-the-Envelope-Primitive-Sets-Vol-V): How the composite discount and the √v packing bound integrate to π/4, proving every odd prime Erdős-strong, and how Lichtman handles the prime 2. - [Black-Scholes-Merton](https://juleshenry.github.io/blog/series/black-scholes-merton): What an option is, the Black–Scholes price of a call derived from scratch, and what happens to the formula when each assumption fails. - [Vol. I: Options, Explained](https://juleshenry.github.io/blog/2024/07/24/Black-Scholes-Merton): Calls and puts from both sides of the trade; European, American and Bermudan exercise; and the assumptions the Black-Scholes-Merton formula rests on. - [Vol. II: Deriving BSM from Scratch](https://juleshenry.github.io/blog/2024/07/24/Black-Scholes-Merton-Vol-II): Builds Brownian motion from coin flips, shows with Itô's lemma that a stock is lognormal, and integrates the call payoff to derive the Black-Scholes formula. - [Vol. III: Nuance, and Other Approaches](https://juleshenry.github.io/blog/2024/07/24/Black-Scholes-Merton-Vol-III): The Black-Scholes formula rederived from the heat equation and a change of numeraire, then each assumption relaxed: rates, dividends, the volatility smile. ## Notes and essays - [ghee: Terminal Shortcuts Library](https://juleshenry.github.io/blog/2026/04/13/ghee) (2026-04-13): A set of 617 shell aliases and functions for Git, Docker, Kubernetes and more, with a fuzzy-search command, G, to find them. - [README Rosetta: Docs in Every Language](https://juleshenry.github.io/blog/2026/04/06/README-Rosetta) (2026-04-06): A CLI that translates READMEs and Sphinx docs with a local Ollama model, and the checks that stop the model from mangling code and links. - [Mr. Worldwide: Multilingual GIFs](https://juleshenry.github.io/blog/2026/03/30/Mr-Worldwide) (2026-03-30): A Python script that turns one word into a looping GIF of its translations in 80+ languages, and how it handles fonts and contrast. - [SuperWand: Image Retheming](https://juleshenry.github.io/blog/2026/03/23/SuperWand) (2026-03-23): A Python tool that clusters an image's colors with k-means and swaps them for one of 18 themes or another photo's palette, with examples. - [ZIT: Zooplankton Image Tool](https://juleshenry.github.io/blog/2026/03/16/ZIT) (2026-03-16): A Python tool that composites video frames into one image of where the animals went, using background subtraction, then links detections into tracks. - [Quantum Plankton Under Compression](https://juleshenry.github.io/blog/2026/03/07/Quantum-Plankton-ML) (2026-03-07): A quantum neural network beats a classical one at classifying plankton only while the baseline is undertrained. Tuned fairly, logistic regression wins, and the circuit is classically simulable anyway. - [The Fast Fourier Transform in WebAssembly](https://juleshenry.github.io/blog/2026/01/10/WebAssembly-Fast-Fourier-Transform) (2026-01-10): Why no WebAssembly Karatsuba can beat V8's BigInt multiply, and how a SIMD floating-point FFT does, by up to 4.5× in kernel time. - [Tatuagem: The Boastful Code Signer](https://juleshenry.github.io/blog/2026/01/10/Tatuagem) (2026-01-10): A Python CLI that stamps an ASCII-art banner into every source file as a comment, and how it avoids breaking files across hundreds of languages. - [Vakyume: PDF-to-C++ Pipeline](https://juleshenry.github.io/blog/2025/02/18/vakyume) (2025-02-18): A pipeline that turns a vacuum-engineering textbook's equations into Python and C++ solvers, and where a language model does and does not belong in it. - [Grover's Search](https://juleshenry.github.io/blog/2024/09/13/grovers-search) (2024-09-13): Grover's algorithm as two mirrors rotating a vector: why it needs about √N queries, and why running it longer makes it worse. - [Undergraduate Thesis: Queries in the Mist](https://juleshenry.github.io/blog/2020/06/01/queries-in-the-mist) (2020-06-01): My 2020 undergraduate thesis at Penn: can fake traffic hide real web activity? A classifier attack on the ISP Pollution tool, with the PDF. - [An Analytical Essay on Rafael Troyo's 'El Rubí'](https://juleshenry.github.io/blog/2018/12/19/Incrustando-la-narrativa) (2018-12-19): An undergraduate essay, in Spanish, on how Rafael Ángel Troyo's story 'El rubí' uses the fantastic to approach a taboo subject. ## More - [Projects](https://juleshenry.github.io/selected-works): live sites and open-source tools, with links to code and write-ups - [CV](https://juleshenry.github.io/assets/Julian-Henry-CV.pdf) - [GitHub](https://github.com/juleshenry) - [Atom feed](https://juleshenry.github.io/blog/atom.xml)