The Snowball Throwing Game in Processing

Simon invented this fun game in Processing after he and his little sister had some proper winter fun outdoors in the fresh December snow (quite rare for the local climate and thus immensely cherished by the little people). The game is about throwing  snowballs in such a trajectory that they stick to one another, forming a super-snowball. After I finished filming this, the two snowball throwers had such a great time with the game that I dare say the giggling effect from of this 2D simulation overshadowed the real snowball fight that had originally inspired it. They did love playing in the real snow on the next day though, until it melted away.


This slideshow requires JavaScript.


Simon’s Live Streams (Speechjs and Supershape Morphing)

Simon’s second Live Stream today (in two parts, see the archived versions below) was a big success! He fixed the bug in his own Speechjs library (for speech recognition and speech synthesis), demonstrated it in action and (in the second part) created some awesome looking supershapes by morphing one supershape into another.

Please, vote for Simon’s speech recognition library on Strawpoll:

Just another day in graphs

Simon loves looking at things geometrically. Even when solving word problems, he tends to see them as a graph. And naturally, since he started doing more math related to machine learning, graphs have occupied an even larger portion of his brain! Below are his notes in Microsoft Paint today (from memory):

Slope of Line:

Slope of Line 15 November 2017

Steepness of Curve:

Steepness of Curve 15 November 2017

An awesome calculator Simon discovered online at that allows you to make mobile and static graphs: Polynomial 15 Nov 2017 Polynomial 15 Nov 2017 1

Yesterday’s notes on the chi function (something he learned through 3Blue1Brown‘s videos on Taylor polynomials):


Simon following The Math of Intelligence course by Siraj Raval:



Sphere Morphing in Processing

Simon is trying to write a program for Sphere Morphing in Processing, first making a test code in p5.js (available here:

In the video below, Simon is explaining the challenge using Magformers triangles:


Unfortunately, the test code doesn’t quite work yet: Simon is getting three infinite triangles around the circle.

Magformers Pythagoras set

Simon pulled out his old Magformers Pythagoras set and this time around, he really nailed all the tasks independently. The set offers a variety of puzzles to “prove” the Pythagorean theorem and apply it to other shapes (even 3D!), as well as teaches several more tricks (such as the ratios between the areas of similar triangles or the areas of parallelograms).


Chinese square Proof:



Area of Parallelograms:



Applying Pythagorean theorem to other shapes:


Extended theorem by the Greek mathematician Pappus:



Areas of Similar Triangles:



More of Pythagorean theorem with various shapes:











Simon contributed his own cloud for the Processing Community Day

Schermafbeelding 2017-10-06 om 18.39.37

In the video below, Simon is showing the cloud design he contributed to the community project collecting cloud designs for the Processing Community Day coming up on October 21, 2017. You can play with Simon’s design on the community project webpage created by Coding Train at

Simon’s cloud is called “Round Cloud”. Once you open it on the Coding Train Community Clouds page, the cloud changes its shape every time you click on it.

Where are my compasses?


There’s been a lot of drawing going on here lately. And jokes, like in the video above. Yesterday, after he got distracted while trying to draw the exact tangent of a circle, Simon said: “I went off on another tangent. To find a tangent!”







The Magformers saga continued

Oops, the Magformers are back in our life. I thought that Simon was over Magformers (which he built with excessively when he was six), but he has picked them up again and taken them to a new level. He seems to be using Magformers to illustrate his increasingly philosophical thoughts in the pauses he takes between lessons and programming. Yesterday, he was quite disturbed after building with the mirror piece for a while and said: “What if two mirrors reflect each other? Would that stop time?” He added: “Just for safety, I’m going to put the mirror in the box. Never, never ever put two mirrors opposite to each other!”

And there is more! Magformers the company has actually contacted Simon on his YouTube channel, saying they loved his Magformers Table program he made in JavaScript and wanted Simon to send them an e-mail and to talk to him about it! Simon put his code on GitHub and shared it, you can view his Magformers Table online here:

He hasn’t made it interactive yet though. This was the original plan but he got stuck.


Simon’s Superellipse tutorial on Thimble

Superellipse in Thimble 8 Sep 2017 4

Simon has created a beautiful little website with a tutorial (that he wrote completely on his own, from scratch) on how to build a superellipse in JavaScript.

Here is the  link:

(it’s on this new online code editor)

What specially delights me about Simon’s works lately is the subtle sense of humour he writes with (probably acquired through both watching Daniel Shiffman’s videos and reading Murderous Math books):

Superellipse in Thimble 8 Sep 2017 2

Superellipse in Thimble 8 Sep 2017

The project isn’t finished yet as the example Simon is linking to the website is only for an ellipse and a superellipse yet:

Superellipse in Thimble 8 Sep 2017 3

Simon also plans to add other shapes to the website later.