Halfspace
Archives
Search
Subscribe
The same colored grass
August 17, 2025
Recently Dan Abramov, an experienced software engineer who does a lot of frontend development, has been learning real analysis via lean and posting his...
Decision Logs
August 16, 2024
I haven’t been writing much here recently, mostly because (a) I have a new infant at home, and (b) I’ve been spending much of my free time migrating my blog...
Technology as Power Transfer
April 9, 2024
Though I've forsaken cryptocurrency and blockchain in my personal and professional life, I currently work in homomorphic encryption. Both areas have fertile...
Programming Jigs
March 10, 2024
In woodworking there's the concept of a jig, which is a sort of ad hoc stencil for woodworking projects. You might fashion a jig by screwing two wood blocks...
Weak and Strong Algebraic Structures
January 11, 2024
Weak and Strong Algebraic Structures Hillel Wayne's recent newsletter on monoids got me thinking again about an old question of mine: why are some algebraic...
NP-hard does not mean easy
August 25, 2023
Recently the internet resurfaced my 2017 article, "NP-hard does not mean hard". I wrote the article mainly to express the nuance that NP-hardness only models...
Thoughts about what worked in math circles
July 17, 2023
Thoughts about what worked in math circles After about 7 months of math circles with a group of 7- turning 8-year-old boys and girls, I decided to take a...
Structuring Technical Blog Posts
May 17, 2023
Recent discussions with colleagues and friends have me thinking a bit about the writing process, and how to structure technical exposition. I am one of those...
What happens when it's all streamlined?
February 19, 2023
One of my son’s favorite songs these days is (oddly, and thanks to recommendation algorithms) “The Worker’s Song”, as performed by The Longest Johns. My son...
A Foray into Math Circles
December 24, 2022
This year I’ve started facilitating math circles in Portland. For those who don’t know, a math circle is a small, extracurricular gathering of similarly-aged...
Career update: homomorphic encryption
May 31, 2022
I recently had my final week working in the data center planning side of Google. July would have marked five years of my focus on integer linear programming,...
Update on Practical Math for Programmers
March 9, 2022
Last May I wrote about a new book I’m working on, tentatively titled “Practical Math for Programmers” (working subtitle, “A Tour of Math in Production”, h/t...
Ideas for math tools
January 29, 2022
Ideas for math tools Mathematicians have some great software available. Even domain-specific systems like Macaulay2, a programming language for commutative...
Programming as a Vehicle for Math
December 23, 2021
Programming as a Vehicle for Math In March 2020, I gave a talk at Math for America, an organization that fosters professional development for K-12 math...
The End Goal of Math is Efficient Computation
November 27, 2021
[Nb. this is a very rough draft but I’m sad I’m not writing much these days so I want to get the juices flowing again.] Mathematicians (especially pop-math...
Monorepos and Forced Migrations
October 12, 2021
Monorepos and Forced Migrations By most metrics, Google is a great place to work. Top tier compensation, free food, and largely co-workers who want do...
A survey of mathy jobs
August 10, 2021
Mathy Jobs Some folks expressed interest in hearing about what sort of mathy jobs there are, beyond the standard of academia and teaching. I had to think...
Layering Abstractions
June 10, 2021
Layering Abstractions When designing software systems, we care about flexibility as requirements change. One might break that down into two rough parts....
A week of book writing
May 6, 2021
tl;dr: I’ve started working in earnest on a new book, tentatively titled, Practical Math for Programmers. Sign up for a mailing list to be notified when it’s...
Modeling state in linear programs
April 22, 2021
Modeling state in linear programs There’s a neat way to model decision making as an (integer) linear program for managing a collection of resources. In my...
Older archives