Nov 17, 2022
Provide the witness
A strategy for code organization.
Oct 2, 2022
Assume recursion works
A way to think about writing recursive functions.
Sep 20, 2022
Hash map cost bounds
A technicality hidden in some asymptotic cost bounds.
Sep 16, 2022
The coffee shop analogy
An analogy for software engineer levels.
Jul 2, 2022
A language server for Standard ML.
Mar 26, 2022
PL idea: built for tooling
The next generation of programming languages.
Mar 11, 2022
PL idea: unified function call syntax
Removing the distinction between functions and methods.
Dec 14, 2021
If it's worth doing, it's worth doing at all
Another little idiom I like.
Dec 10, 2021
Limitations engender opportunity
Alternative title: ‘tradeoffs are a thing’.
Nov 11, 2021
Improving my writing
Trying to do better.
Oct 18, 2021
Communication for software engineers
Tips on communicating effectively.
Oct 5, 2021
Humans are generally good
An overall positive outlook on humanity.
Oct 4, 2021
Terms, types, and functions
Various varieties of function in programming languages.
Sep 18, 2021
Unoriginality is okay
An exhortation to create.
Sep 16, 2021
Everything in moderation, including this
A little idiom I like.
Sep 15, 2021
Write more, but less
A particular writing style that may not work for you, but sometimes works for me.
Jul 15, 2021
Define a PL: sums
Adding sums (aka ‘enums’ or ‘tagged unions’) to a small PL.
Jun 5, 2021
Define a PL: products
Adding product types (aka ‘structs’ or ‘tuples’) to a small PL.
May 22, 2021
Define a PL: functions
Adding pure functions to a small PL.
Mar 31, 2021
Define a PL: integers and booleans
The beginnings of a small, formally defined PL.
Mar 25, 2021
Resources for learning Japanese
Things I use to study Japanese.