How Spread Syntax Breaks Javascript

I haven’t looked at the mailing lists and drafts, so I’m not sure who came up with the brilliantly-awful spread syntax (not operator) that’s made its way into ES6 and is being used liberally by React, Redux, Vue, and many others, but… seriously? Ecmascript has been making strides in the “serious language for serious things” … [Read more…]

Gödel’s Second Incompleteness Theorem for Programmers

In the previous blog post in this series, we looked at Gödel’s First Incompleteness Theorem, and came to the amazing conclusion that we can’t compute certain kinds of functions in formal systems (like Javascript). Specifically, we looked at a special function, , which turned out to be non-computable. In case we forgot, the first incompleteness … [Read more…]

Gödel’s First Incompleteness Theorem for Programmers

Gödel’s incompleteness theorems have been hailed as “the greatest mathematical discoveries of the 20th century” — indeed, the theorems apply not only to mathematics, but all formal systems and have deep implications for science, logic, computer science, philosophy, and so on. In this post, I’ll give a simple but rigorous sketch of Gödel’s First Incompleteness … [Read more…]

How to prove there is no Universe

Years ago, when I first read Paul Halmos’ seminal Naive Set Theory, I was blown away by how easy it was to prove that there is no universe. In fact, not even three sections in, he drops this italicized bombshell: $$nothing\text{ }contains\text{ }everything$$ or, “more spectacularly,” he continues $$there\text{ }is\text{ }no\text{ }universe$$ Luckily, we only … [Read more…]

PEP 308 and why I still hate Python

I’m not a Python guy, but it seems that every job I’ve had has slowly pushed me into doing more and more Python until I end up doing nothing but Python all day. And I hate doing Python all day. To be fair, Python isn’t terrible, but throughout its lifetime, it made some incredibly poor … [Read more…]