Coding, Community Projects, Computer Science, Contributing, JavaScript, Murderous Maths, Physics, Simon's Own Code, Simon's sketch book

Simon’s Community Contribution: Variation of 2D Casting Coding Challenge in p5.js

This is Simon’s version of Daniel Shiffman’s 2D Casting code, made on Wednesday last week right after the live session. Link to the live session including the coding challenge.

Code and interactive animation are online at:
Play with the animation online at:

Simon’s suggestions during a patron-only live session yesterday
a screenshot of Simon’s community contribution published on the Coding Train website

Simon has also made one more, optimized version of this project (with fewer rays, runs faster):

Both of Simon’s versions have been added to the community contributions on the Coding Train website:

screenshot of the optimized version
Coding, Community Projects, Computer Science, Contributing, Geometry Joys, Group, Milestones, Murderous Maths, Notes on everyday life

More examples of Simon’s chat contributions on math and coding

Simon is always extremely active in the discussions about the current projects made by/ lectures given by NYU’s Asdociate Professor Daniel Shiffman during his live sessions on the Coding Train channel. He also enjoys “initiating discussions” among the channel’s patrons (grown-up programmers) and Daniel. “Mom, the discussion I initiated is still going on!” I couldn’t possibly post all the coding and math comments/ suggestions that Simon makes in the chats on YouTube, Slack and GitHub (and I don’t believe I should either), but every now and then, I like collecting samples of Simon’s contributing to the discussion:

Simon contributing to a discussion prior to a live session on ray tracing
Simon contributing to Daniel Shiffman’s tutorial on the computational geometry “minimum spanning tree” problem

The small font above says:

Correction: The MST problem does not allow any loops (like A->B, B->C, C->D, D->A again.) So the solution at 2:30 is wrong! In fact, _no wonder it does that_, because Prim’s Algorithm will never find a loop. Here’s why:

Let’s suppose that it could find a loop (let’s say, a loop of 4, so A->B, B->C, C->D, D->A again, but this argument would work the same each way.) Ok, so it will start from A, and mark it as reached. It will check A against B, C and D, find B, and mark B as reached. Then, it will check A against C and D, and B against C and D. and it will find that it should connect B and C, and mark C as reached. Then, it will check A, B and C all against D, and find that it should connect C and D, and mark D as reached. But now, we reach a problem. It will not connect D and A, because both are already reached!

Why was it designed like that? Because that’s what the problem says! It’s a Minimum Spanning _Tree_, so it can’t have any loops.

So there you go, that’s why Prim’s algorithm will not find a loop.

Coding, Coding Everywhere, Community Projects, Contributing, Crafty, Geometry Joys, Group, Java, Milestones, Murderous Maths, Notes on everyday life, Simon teaching, Simon's Own Code, Together with sis, Trips

Simon speaking at the Processing Community Day in Amsterdam

Simon had his first public performance in front of a large audience last Saturday (February 9, 2019): he spoke about his Times Tables Visualization project at the Processing Community Day in Amsterdam!

Simon speaking at Processing Community Day Amsterdam

Simon writes: You can access the code of the poster and the animation (and the logo for my upcoming company!) and download the presentation in PowerPoint, on GitHub at

If you’d like to buy a printed copy of the poster, please contact me and I’ll send you one. Status: 3 LEFT.

One of the tweets about Simon’s presentation
Simon next to his poster after the presentation
Working on his presentation the day before
Waiting to speak
Experimenting with other projects at the community day
At the entrance to the venue, with the poster still packed
There was a lot of interest in Simon’s project
Coding, Community Projects, Contributing, JavaScript, live stream, Machine Learning, Milestones, Murderous Maths, neural networks, Notes on everyday life, Set the beautiful mind free, Simon teaching, Trips

Simon took part in a Coding Train livestream in Paris!

Simon and Daniel Shiffman after the livestream

The video below is part of Daniel Shiffman’s livestream hosted by GROW Le Tank in Paris on 6 January 2019 about KNN, machine learning, transfer learning and image recognition. Daniel kindly allowed Simon to take the stage for a few minutes to make a point about image compression (the algorithm that Daniel used was sort of a compression algorithm):

Here is a different recording (in two parts) of the same moment from a different angle:

Community Projects, Crafty, Discovering Antwerpen, Geometry Joys, Math Riddles, Milestones, Murderous Maths, Notes on everyday life, Simon's sketch book

Maths Jam in May

What a blissful atmosphere at Maths Jam Antwerp yesterday, full of respect, encouragement and acceptance. It’s an international monthly meet-up taking place every second to last Tuesday of the month, simultaneously at many locations in the world, three hours of maths fun! This was Simon’s first time. He solved two difficult geometry problems and showed some of his current work to the math enthusiasts who attended. Was hopping and giggling all the way home.

Coding, Community Projects, Milestones, Murderous Maths, Simon makes gamez, Simon's Own Code

Tantrix Game in JavaScript

Simon talking about his Tantrix Game code and the math behind it. It has been Simon’s first community project, many thanks to everyone who has contributed hexagonal tiles for the game! The game isn’t finished yet, but the video gives a good insight into the work in progress. Simon will finish it at a later date he says. Feel free to try and finish it on your own and share your results! The code is on GitHub at:

This is a separate link to see what Simon has got so far in action:


Below is Simon’s original YouTube post summoning contributions:

Coding, Coding Everywhere, Community Projects, Contributing, Geometry Joys, html, Java, JavaScript, Lingua franca, live stream, Living Code, Machine Learning, Milestones, Murderous Maths, neural networks, Notes on everyday life, Physics, Simon makes gamez, Simon teaching, Simon's Own Code, Simon's sketch book, Together with sis

Simon and Daniel Shiffman

Today is one of the most beautiful days in Simon’s life: NYU Associate Professor and the creator of Coding Train Daniel Shiffman has been Simon’s guarding angel, role model and source of all the knowledge Simon has accumulated so far (in programming, math, community ethics and English), and today Simon got to meet him for the first time in real life!

Daniel Shiffman posted:

Coding, Community Projects, Contributing, JavaScript, Machine Learning, Milestones, Murderous Maths

Simon’s Decision Tree Library

Simon has just created a decision tree library, called “Decision”, that is helpful in building decision trees/forests (Machine Learning). He has also tried performing unit tests for the first time, and passed several of them! Once Simon’s library is in GitHub he also plans to link it to the testing hub CircleCI so that no merging can happen without passing tests. In this video, Simon explains what a decision tree is, shows his library and his test decision trees.

Simon’s library on GitHub (with a huge Readme that Simon wrote himself):

Simon’s library on CircleCI:

Simon’s unit tests:

Screen Shot 2018-02-20 at 16.59.12