Skip to main content

Daily Nitpickings - 2025

March

March 16

The Lost Art of Logarithms

An unexpected link on Hacker News led to an online book-in-progress by Charles Petzold's (author of [9]): The Lost Art of Logarithms. Looks like an interesting book in its own right, but some of the comments on the Hacker News post were even more interesting.

Specifically, one comment highlights the so-called Genetic method of teaching mathematics:

The genetic method is a method of teaching mathematics coined by Otto Toeplitz in 1927. As an alternative to the axiomatic system, the method suggests using history of mathematics to deliver excitement and motivation and engage the class.

The method above is exactly what I've had in mind in terms of an effective way of going about teaching mathematics. One of my favorite math classes was the history of mathematics — it's very interesting when technical content is taught with a view towards the cultural influences at the time of its development. It's also good to simply have historical context in terms of what the original thinkers were up against.

Another commenter notes a remark from the famous mathematician, Felix Klein: "On a small scale, a learner naturally and always has to repeat the same developments that the sciences went through on a large scale."

It would be interesting to see such a teaching method applied to computing (e.g., in what contexts were various data structures and algorithms invented, etc.).

IO devices and latency

A Hacker News post on IO devices and latency was highly regarded — the linked post contains a lot of interesting visuals. Something to check out in more detail soon.

Recursion kills

A Hacker News post highlights an article that explores how recursion was to blame for a bug in Expat (an XML parser written in C). The author ends the post by asking the reader to please tell your friends:

Please leave recursion to math and keep it out of (in particular C) software: it kills and will kill again.

This particular story is neat, especially in light of preparing for coding interviews and having to become very comfortable with recursion (e.g., dynamic programming, backtracking, DFS, etc.). Lots of problem-solving strategies use recursion, but recursion can be the source of all sorts of issues in actual software, particularly security problems. See the billion laughs attack for an interesting DoS attack aimed at parsers of XML documents.

March 17

Tiny pointers (data structure)

Came across a very interesting article in Wired that points to the following paper on arXiv: Optimal Bounds for Open Addressing Without Reordering. From the abstract:

In this paper, we revisit one of the simplest problems in data structures: the task of inserting elements into an open-addressed hash table so that elements can later be retrieved with as few probes as possible. We show that, even without reordering elements over time, it is possible to construct a hash table that achieves far better expected search complexities (both amortized and worst-case) than were previously thought possible. Along the way, we disprove the central conjecture left by Yao in his seminal paper "Uniform Hashing is Optimal". All of our results come with matching lower bounds.

It would be good to revisit the Wired article and linked academic papers when possible.

June 6

June 7

June 8

June 9

June 10

June 11

June 12

June 13

June 14

June 15

June 16

June 17

June 18

June 19

June 20

June 21

June 22

June 23

June 24

June 25

June 26

June 27

June 28

June 29

June 30

July

July 1

July 2

July 3

July 4

July 5

July 6

July 7

July 8

July 9

July 10

July 11

July 12

July 13

July 14

July 15

July 16

July 17

July 18

July 19

July 20

July 21

July 22

July 23

July 24

July 25

July 26

July 27

July 28

July 29

July 30

July 31

August

August 1

August 2

August 3

August 4

August 5

August 6

August 7

August 8

August 9

August 10

August 11

August 12

August 13

August 14

August 15

August 16

August 17

August 18

August 19

August 20

August 21

August 22

August 23

August 24

August 25

August 26

August 27

August 28

August 29

August 30

August 31

September

September 1

September 2

September 3

September 4

September 5

September 6

September 7

September 8

September 9

September 10

September 11

September 12

September 13

September 14

September 15

September 16

September 17

September 18

September 19

September 20

September 21

September 22

September 23

September 24

September 25

September 26

September 27

September 28

September 29

September 30

October

October 1

October 2

October 3

October 4

October 5

October 6

October 7

October 8

October 9

October 10

October 11

October 12

October 13

October 14

October 15

October 16

October 17

October 18

October 19

October 20

October 21

October 22

October 23

October 24

October 25

October 26

October 27

October 28

October 29

October 30

October 31

November

November 1

November 2

November 3

November 4

November 5

November 6

November 7

November 8

November 9

November 10

November 11

November 12

November 13

November 14

November 15

November 16

November 17

November 18

November 19

November 20

November 21

November 22

November 23

November 24

November 25

November 26

November 27

November 28

November 29

November 30

December

December 1

December 2

December 3

December 4

December 5

December 6

December 7

December 8

December 9

December 10

December 11

December 12

December 13

December 14

December 15

December 16

December 17

December 18

December 19

December 20

December 21

December 22

December 23

December 24

December 25

December 26

December 27

December 28

December 29

December 30

December 31