Skip to content

Instantly share code, notes, and snippets.

Denis Lantsman dlants

View GitHub Profile
View Public Math Sticker Pack Privacy Policy
This is a sticker pack. It does not collect, store, transmit, or share any personal information.
This privacy policy was last updated in April 2019.
View 3000-words.txt

Here's a great question from an essay by mathematician Paul Lockheart called "Mathematician's Lament"

One interesting way to think about numbers is as piles of stones. So, instead of thinking of the number 3, you can imagine three stones in your mind, or draw three dots on a piece of paper.

Thinking about numbers in this way can be useful because of the different ways we can arrange the stones. A 3 can be arranged with all stones in a row ..., or as a triangle :.. By considering these arrangements, we have a different way of thinking about the number.

So, for instance -- if you take an even number, you'll be able to arrange the stones into two equal rows. For an odd number, one of the rows will have a stone that doesn't have a match:

6 :::
9 ::::.
dlants /
Created Aug 24, 2017
Adding a Window Resize signal to a purescript pux webapp

As I mentioned at the start of our time with Snap, there were two primary goals in working through these first few labs, and that is to get acquainted with repetition statements (repeat, forever...) and to learn about defining your own custom blocks and parameters. This ability to group and name pieces of code is the foundation of computer science, and starts to get at the idea of what it truly means to build abstractions.

If I had to summarize computer science in one sentence it would be "To notice and exploit structure to solve problems". I think this will sound familiar to a math educator - this is how we solve problems in any field, after all. Even so, I think it is useful to consider how this idea relates to this particular context.

  1. Modularity (or, orthogonality). Programmers seek to separate problems into small, independent pieces. In a large system, you want to be able to modify an individual piece of code without having to grasp the entire system. This is the only way to solve complic
dlants / generic-deriving.purs
Last active Jul 31, 2018
Generic deriving with purescript
View generic-deriving.purs
-- an example of how to derive a show instance for a Maybe type
-- not totally sure why `derive instance showMyMaybe :: (Show a) => Show (MyMaybe a)` errors with...
-- error: CannotDerive :
-- Cannot derive a type class instance for Data.Show.Show (MyMaybe a) since instances of this type class are not derivable.
module Main where
import Prelude
import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Console (CONSOLE, log)
dlants /
Last active Mar 25, 2019
denite setup with interactive ag pattern-search of project contents


First things first, I want to use ag to search through my project files. Coming from fzf, I like to have two bindings for this -- one that respects my projects .gitignore and one that does not. The latter is helpful if I want to examine a built file or look at a node_module dependency while working on my js project.

I use an alias for file_rec source to toggle the -u flag on ag. Now, <C-P> searches in my git files, and <C-O> searches everything.

" denite file search (c-p uses gitignore, c-o looks at everything)
map <C-P> :DeniteProjectDir -buffer-name=git -direction=top file_rec/git<CR>
map <C-O> :DeniteProjectDir -buffer-name=files -direction=top file_rec<CR>

Linear Bundle

Key Understandings

  • Rates of change express themselves as slope of a line, and as a coefficient of x in a linear equation.
  • Y-intercepts express themselves as constants in linear equations.


This bundle presumes that students have some experience with the coordinate plane, and with plotting points on the coordinate plane. They have not mastered the relationship between any of the forms of a linear equation and the associated graph. They may not know the terms slope or y-intercept. They have worked with algebraic variables. They know quite a bit about proportionality in general and rates in particular.

View I could never be a teacher
I could never be a teacher. I am really not that tough.
Being up at 5 each morning sounds really really rough.
Teaching, planning, grading, testing... For a day that's too much stuff.
Parents and administration would no doubt make me gruff.
I could never be a teacher. It just doesn't pay enough.
You can’t perform that action at this time.