• · programming #
    Jules Jacobs’ website has a bunch of interesting notes on math and CS. I’ve enjoyed reading every single one I’ve clicked on so far.
  • · math #
    Let PC[z]P \in \mathbb{C}[z] be a complex polynomial. Then the roots of PP' all lie in the convex hull of the roots of PP. (Gauss-Lucas theorem)
  • · programming #
    For some time I’ve been looking for a blog post I once read about incidental duplication. LLM-assisted search helped me finally locate it on the Google Testing Blog, which contains many more nice tips. Highly recommend!
  • · programming #
  • · math #

    The Fibonacci sequence was originally used to model the growth of (idealized) rabbit populations (Wikipedia):

    A newly born breeding pair of rabbits are put in a field; each breeding pair mates at the age of one month, and at the end of their second month they always produce another pair of rabbits. How many pairs of rabbits are there after a year?

  • · programming #
    Crit is a local UI for reviewing LLM-generated output. At a glance it looks more polished (less slop) than other tools of its kind, so I’m giving it a try.
  • · programming #
    A reflection on the role of code review in the age of LLMs: “Do You Still Read the Code?”
  • · math #
    A lovely post on what constitutes mathematics: “No Country for Mediocre Mathematicians”
  • · programming #
  • · math #
    Assuming the Riemann hypothesis, the Möbius function behaves like a random walk. (Math Stack Exchange)
  • · programming #
    Mole frees up disk space on MacOS automatically. (From Ellie Huxtable’s blog)
  • · math #
    n!=nn2/(nnn)n! \textstyle=\left\lfloor n^{n^2}\big/\binom{n^n}n\right\rfloor (MathOverflow)
  • math #

    There exists a complex sequence (an)n(a_n)_n such that n0ank\sum_{n \ge 0} a_n^k converges if and only if kk is prime.

    More generally, for any fixed subset AZ+A \subseteq \mathbb{Z}^+, there exists a complex sequence (an)n(a_n)_n such that n0ank\sum_{n \ge 0} a_n^k converges if and only if kAk \in A. (Math Stack Exchange)

  • math #

    If a(b+1)(ab+1)a(b+1)(ab+1) is a perfect square, then (b+1)(b+1) divides a(ab+1)a(ab+1).

    (I originally posed this as a conjecture on Math Stack Exchange based on computational evidence, and user Mastrem provided a proof using a clever descent argument.)

  • programming #
    In C++, all literal expressions (e.g., 42, true, nullptr) are prvalues, with the sole exception of string literals (e.g. "hello world"), which are lvalues. (cppreference)
  • math #
    A quartic polynomial ff can be expressed as the composition of two quadratic polynomials gg and hh (such that f(x)=g(h(x))f(x) = g(h(x))) if and only if two of the roots of ff have the same sum as the other two. (Math Stack Exchange)
  • programming #

    In Go, the following is not an error:

    type A struct { Field string }
    type B struct { Field int }
    type C struct { A; B }
    

    even though C embeds A and B, both of which declare a field called Field.

  • math #

    If f:ZZf : \mathbb{Z}^\infty \to \mathbb{Z} is an additive function that vanishes on all sequences of the form (1,0,0,)(1, 0, 0, \dots), (0,1,0,)(0, 1, 0, \dots), (0,0,1,)(0, 0, 1, \dots), and so on, then ff is the zero function. (Math Stack Exchange)

    If this seems obvious, note that the statement is false for f:ZQf : \mathbb{Z}^\infty \to \mathbb{Q} under AC.

  • programming #
    It’s well known that heapsort has worst-case runtime Θ(nlogn)\Theta(n \log n). But the best-case runtime for heapsort is also Θ(nlogn)\Theta(n \log n) (assuming distinct keys), and this was only proved several decades after heapsort’s invention. (“On the Best Case of Heapsort”)
  • math #