This is a repository of more or less random programming things, made for my own amusement and edification. I don’t know how this will evolve over time (if at all), but I envision this as a collection of interactive visual explanations of algorithms and data structures.
Contents
Here’s what I have in DUMP as of now:
- Box-Muller Transform. Given a source of uniformly-distributed random numbers, generate normally-distributed random numbers.
- Euclidean Algorithm. Given two positive natural numbers, find their greatest common divisor (GCD).
- Polar Method. Given a source of uniformly-distributed random numbers, generate normally-distributed random numbers.
Random Notes
I initially started DUMP as a GitHub repository. Then I realized that some interactive diagrams (in the spirit of what Amit Patel does) would be nice.
So I started to convert my old DUMP implementations to this new, hopefully richer format, using the following tools:
-
Typescript. Since the beginning I wanted to write DUMP in a language reasonably similar to The One Lingua Franca of Computing. I certainly wanted a typed language, because I feel that explicit types convey important information for algorithms explanations. Now that I wanted some web-friendly language, I decided to use a subset of Typescript that is not too dissimilar from C (maybe tossing in an associative array here and there).
-
Halp. I wanted to include both code and written notes about the “programming things”. I soon decided that literate programming would be a nice tool for this endeavor, so I quickly hacked a Markdown-based tool for this task: Halp.
-
D3 (Data-Driven Documents). A very nice Javascript library for making the kind of interactive visual explanations I want to make.
The DUMP code snippets are licensed under the MIT license.