G
Good Math, Bad Math
goodmath.org · Personal blog · on HN since 2014
Mark Chu-Carroll writes about math, programming theory, distributed consensus, functional programming and debunking bad math.
What HN saysHN links it for explainers on slide rules, category theory and constructivism, and for its takedown of a crank's claims about the field axioms.
24HN people shared it
12linked it in comments
22stories submitted
299story points
6 months agolast shared
2014people per year2026
Most-shared posts
- 1Paxos, a beautiful protocol for distributed consensus2 people · 18 points · first shared 2015 · 3 comments on HN
- 2Technical Interviews: More Than a Brain Teaser?2 people · 8 points · first shared 2015 · 4 comments on HN
- 3Arabic numerals have nothing to do with angle counting2 people · 3 points · first shared 2024 · discussion on HN
- 4Abusing linear regression to make a point1 people · 82 points · first shared 2020 · 48 comments on HN
- 5Combinator Parsing1 people · 69 points · first shared 2014 · 9 comments on HN
- 6Zippers: Making Functional "Updates" Efficient (2010)1 people · 63 points · first shared 2025 · 15 comments on HN
- 7Category Theory Lesson 2: Basics of Categorical Abstraction1 people · 22 points · first shared 2019 · 1 comments on HN
- 8Functional Programming Comes to the Macintosh – Introducing Swift1 people · 8 points · first shared 2014 · 1 comments on HN
- 9The Futility of Pi Denialism1 people · 3 points · first shared 2020 · discussion on HN
- 10Another Stab at Category Theory: Starting with Monoids (2018)1 people · 3 points · first shared 2019 · discussion on HN
- 11Run, Hide your children from math with letters1 people · 3 points · first shared 2014 · discussion on HN
- 12How Do Computers Work? Part 1: Basics1 people · 2 points · first shared 2022 · discussion on HN
- 13Another Crank Comes to Visit: The Cognitive Theoretic Model of the Universe1 people · 2 points · first shared 2024 · 1 comments on HN
- 14The FedEx Problem1 people · 2 points · first shared 2015 · discussion on HN
- 15The Math of Vaccinations, Infection Rates, and Herd Immunity1 people · 2 points · first shared 2019 · discussion on HN
What HN people wrote when they linked it
fipar · 2026-02-03
If you ever want to try using it, I recommend this page: http://www.goodmath.org/blog/2006/09/12/manual-calculation-using-a-sli…
fluoridation · 2023-10-01
He's probably one of those constructivists who don't believe in non-computable numbers. I recommend this post (and its comment section) to anyone interested in the subject: http://www.goodmath.org/blog/2011/02/10/e-e-escultura-and-the-field-ax…
ivan_ah · 2020-07-07
> I used a tool to extract the data
You mean you have a tool for extracting tabula data from a scatter plot like http://www.goodmath.org/blog/wp-content/uploads/2020/07/EcCqXojUMAEBFn… ? That's very cool and I would love to hear more about it.
ex3xu · 2019-07-12
Thank you for the clarification. Following up on this, I found a blog post [0] that explains why you don't get bizarre consequences like the Banach-Tarski paradox this way:
> [The constructivist method] avoids the basic problem with the axiomatic problem. You can’t have something ridiculous like the set of all sets that don’t include themselves, because the only way to show that a set exists is to show a process to create it – and there’s no way to create a paradoxical set! You don’t get nonsense like [the Banach-Tarski paradox], because the division of the spherical topological space into the non-metric subspaces is impossible: you can’t show a process that produces it. In the world of intuitionism and constructivism, existence proofs that don’t produce concrete examples don’t exist!
[0]: http://www.goodmath.org/blog/2014/08/18/the-constructivist-roots-of-ty…
celeritascelery · 2023-06-14
> if the underlying buffer needs to reallocate after some edits the entire process slows to a crawl as you need to allocate a larger buffer and copy each byte into the new buffer and destroy the old one. It can turn an O(n) operation into O(n^2) randomly.
This would still only be a O(n) operation. The constant value might be higher, but the complexity is the same.
I don’t buy the argument that gap buffers “are bad for multiple cursors”. I get the argument on a theoretical level, but real hardware is not theoretical. There are several operations that are theoretical faster with a hashmap or b-tree than a vector, like insert and delete. But in reality the vector is usually faster in the real world except for very large inputs[1]. Gap buffers are basically vectors.
Another point with multiple cursors and gap buffers is that Chris Wellons animations show the gap moving back to the first cursor every time it needed to add a new character. But in reality you would just walk the cursors in reverse order each time, saving a trip.
I have actually written and benchmarked a very naive and unoptimized gap buffer, and the results showed that it was faster than highly optimized rope implantations on all real world benchmarks[2], including multiple cursors.
That being said, a gap buffer is still probably not the best data structure for a text editor because it has worse “worse case” performance than something like a rope or piece-tree. Even though it is faster overall, it’s the tail…
ngriffiths · 2026-05-07
It's kinda fascinating how dominant LaTeX is, how nice its output is, how respected Knuth is as a computer scientist, and at the same time how totally awful it feels to use it. Hard to figure out how it can be so good and so bad at once.
Posts/discussion I found interesting:
- http://www.goodmath.org/blog/2008/01/10/the-genius-of-donald-knuth-typ…
- https://tex.stackexchange.com/q/24671
- https://news.ycombinator.com/item?id=15733381
In particular it's interesting how people seem to think TeX itself is actually quite nice to use but its popularity and LaTeX packages created a huge mess of a system.
9dev · 2026-03-30
That's just a myth, by the way:
http://www.goodmath.org/blog/2015/07/21/arabic-numerals-have-nothing-t…
jrdres · 2025-05-02
Wildberger has always been this way. Way back in 2007, Marc Chu-Carroll's "Good Math Bad Math" highlighted Wildberger: "This isn’t the typical wankish crackpottery, but rather a deep and interesting bit of crackpottery." In brief, Wildberger is clearly educated, but also clearly rejects axioms that mathematicians accepted a long time ago (infinite sets in this case):
"Dirty Rotten Infinite Sets and the Foundations of Math" http://www.goodmath.org/blog/2007/10/15/dirty-rotten-infinite-sets-and…
Wildberger also wrote a book on geometry with nothing allowed but rationals. (Or something like that.)
ahazred8ta · 2024-12-31
From his Bad Physics series http://www.goodmath.org/blog/category/bad-math/bad-physics/ -- http://www.goodmath.org/blog/category/bad-math/
anth_anm · 2019-02-20
Another post I stumbled accross when looking for part one
http://www.goodmath.org/blog/category/bad-math/cantor-crankery/
A highlight I'd like HN to read, because it comes up every so often.
> There’s a common belief among crackpots of various sorts that scientists and mathematicians use symbols and formalisms just because we like them, or because we want to obscure things and make simple things seem complicated, so that we’ll look smart.
> That’s just not the case. We use formalisms and notation because they are absolutely essential. We can’t do math without the formalisms; we could do it without the notation, but the notation makes things clearer than natural language prose.
mavelikara · 2017-01-01
> I have been told I write better code than my CS grad peers but I have no clue about these algorithms and data structures.
For a programer in the industry, the ability to write simple "legible" code is very important. An ideal interview process should spend some time evaluating those skills of a candidate - but this is very very hard to measure.
But good familiarity with the basics of CS is also important to be able to perform many of these jobs. Here is a good blog post about this form of interview and the rationale behind it:
http://www.goodmath.org/blog/2015/11/19/technical-interviews-more-than…
andrewaylett · 2015-02-06
Unfortunately, it's not that simple. Maybe 95% of the people who get vaccinated are subsequently immune, the rest (and people who have depressed immune systems) are dependent on herd immunity. So the small number who choose not to vaccinate can make life much more dangerous for the few who can't or for whom the vaccination was ineffective.
For a good look at the maths, see this blog post: http://www.goodmath.org/blog/2015/02/05/quick-vaccine-math/