MDH - Mathdh — Mathematics Drills with Haskell
You know… It kind of sucks how we all forget everything we learned in school.
One of the worst things is certainly math. I mean, we spend all this time learning it, just to have it slowly dissipate in the background. But with just a slight investment of time, we can keep our skills tip top. So…
That's why I made this. It also has helped me a lot with my arithmetic in general,
I used to be almost unable to calculate anything in my head, but with the
help of daily drills in
mhd, now I can almost calculate my groceries while shopping…
Or well not really, but I can do multiplication pretty darn fast!
I just was annoyed that I had this program siloed in the depths for my random code projects folder where it just collected dust. So here! Perhaps I'll even give it some love when time permits.
- Addition, Subtractions, Multiplication, Division problems.
- Practice multiplication tables (or other types of table operations).
- Drill random combinations in a range you find comfortable.
- Super simple and fast, making it a very eacy habit to put into those gabs in your workday. E.g. could be run every time you log in quizzing you with just 5 random questions.
- Super lightweight.
The program has been developed on NixOS for now the only supported way to run it is on NixOS.
To get the latest version with git over HTTPS:
git clone https://github.com/cafkafk/mathdh.git
To get the latest version with git over SSH:
git clone firstname.lastname@example.org:cafkafk/mathdh.git
Linux - NixOS
Navigate to your local copy of the repository. When you're in the root directory, simply run:
And the binary will be built for you in the local directory and installed in your nix user profile.
mdh, just run:
Which will produce no output beyond telling you that the program is
However, using a command like:
mdh 11 1 10 "*" +
Will start a drill session where you go through the operations * and +, starting with a refresher of all the combinations from 1 to 10, before giving you 11 random questions per number in the range you gave, with another number in the same range.