• papers podcast posts projects
    • 2021年07月25日
    • 9 分
    On Multi-Set Hashing

    Designing a hash function where the order of inputs doesn’t matter is surprisingly easy.

    • Cryptography
    • Math
    • 2021年07月18日
    • 9 分
    Quantum Computing: Some Analogies

    I’ve developed a few intuitions about algorithms on quantum computers. This post is an attempt to share them.

    • Math
    • Quantum Computing
    • 2021年07月10日
    • 13 分
    Signatures From Identification Schemes

    It turns out that all you need to make a signature scheme is a way to prove your identity.

    • Cryptography
    • Math
    • Security
    • 2021年07月05日
    • 15 分
    Introducing Nuntius

    Recently, I made a toy E2E encrypted messanger, called Nuntius. I had fun tinkering on it, and thought that some of the cryptography involved would be fun to explain.

    • Cryptography
    • Math
    • Security
    • 2021年06月06日
    • 17 分
    Introducing Nimotsu

    Recently, I’ve been working on a little encryption tool called Nimotsu. My goal with this project was to implement all of the cryptographic primitives involved. I had a lot of fun doing so, and thought it would make for an interesting blog post.

    • Cryptography
    • Math
    • Security
    • 2021年04月05日
    • 23 分
    Constant-Time Big Numbers: An Introduction

    Over the past couple months, I’ve been working on a library for constant-time Big Numbers in Go. I think it’s about time that I presented a bit of this work.

    • Cryptography
    • Math
    • Security
    • 2021年02月28日
    • 9 分
    Some Thoughts on Numeric Classes

    This is just a quick post, crystallizing some of the ideas I’ve had recently about organizing numeric classes in Haskell.

    • Haskell
    • Math
    • 2021年02月21日
    • 6 分
    Fractals on The Web

    Last week, I made a little web application for visualizing some fractals, and I thought I’d write up a few thoughts about how it works.

    • Fractals
    • Graphics
    • Math
    • 2021年02月14日
    • 11 分
    Spaced Repetition for Mathematics

    Recently, I’ve been experimenting with using spaced repetition for self-studying “advanced” mathematics. This post goes through my motivations for adopting this system, as well as a few techniques I’ve used in adapting it to mathematics.

    • Math
    • Spaced Repetition
    • Study
    • 2021年02月02日
    • 17 分
    Tychonoff's Theorem and Zorn's Lemma

    Tychonoff’s theorem proves that the product (even infinite) of compact spaces is also compact. The proof makes judicious use of Zorn’s lemma. In fact, it uses it so well, that I gained an appreciation for how fun the lemma can be.

    • Math
    • Set Theory
    • Topology
    • 2020年12月13日
    • 12 分
    Chinese Remainder Theorem for Programmers

    This is a quick post about the Chinese Remainder Theorem. Specifically, how to use it to solve a system of system of simple modular equations.

    • Algebra
    • Math
    • Programming
    • 2020年10月14日
    • 8 分
    Monty Hall and Counterfactuals

    This is about some shower thoughts I had recently about the infamous Monty Hall problem. Namely, how to make sense of the counter-intuitive results involved. We’ll see how reasoning counterfactually can make the best strategy seem a lot clearer.

    • Math
    • Probability
    • 2020年10月02日
    • 9 分
    Categorical Graphs

    This post is a basic introduction to the idea of Categorical Graphs, or just the standard theory of Graphs, developed through the lens of Category Theory, and generalized in the obvious ways that follow through that lens. This is just an introduction mainly because this theory doesn’t seem to have been developed very far yet, and I haven’t been able to develop it that much independently so far. I think I have a good grasp on some very basic ideas here, and wanted to present them while they’re still fresh in my head.

    • Category Theory
    • Graph Theory
    • Math
    • 2020年09月09日
    • 10 分
    Recursive Types as Initial Algebras

    Recently (well, more like a month ago), I came across this interesting observation: In my head, I immediately jumped to the notion of Algebras in Category Theory. I had recently studied that notion, found it quite interesting, and was very happy to see this observation, because it was actually quite obvious to me thanks to what I’d recently learned. The goal of this post is to unpack that tweet, and then explain why that observation is true.

    • Category Theory
    • Haskell
    • Math
    • 2020年08月30日
    • 17 分
    Encoding the Naturals

    In this post, we’ll cover 3 ways I know of encoding the natural numbers $\mathbb{N}$ in your standard functional language with recursive types and polymorphism. At least, these are the 3 most generalized ways of doing it. As we’ll see, some common encodings are just specific cases of a more general encoding. Prerequisites Some familiarity with defining data types in a functional-esque language might be helpful, but shouldn’t be strictly necessary.

    • Category Theory
    • Haskell
    • Math
    • 2020年08月17日
    • 14 分
    Empty vs NonEmpty Groups

    The usual definition of a Group excludes empty groups by definition. There are alternate definitions of a Group that allow us to include the empty set, and which are quivalent to the normal definition in all other cases. This post explores this alternate definition, and the resulting differences with the normal concept of a Group. What is a Group? A Group is one of the most important structures in abstract algebra.

    • Algebra
    • Category Theory
    • Math
    • 2020年06月18日
    • 7 分
    Monomorphisms vs Epimorphisms

    The concepts of monomorphism and epimorphism are very important in Category Theory. I always had a hard time remembering which one was which until I thought about a good mnemonic.

    • Category Theory
    • Math