For his 8th birthday, Simon made a present for himself in Node.js and spoke about his new year’s resolutions that mainly involve live streaming:
Today, two days later, we actually managed to test stream! Both of us had no idea how live streams work and thought we would have to install expensive encoders to enable streaming. It turned out to be much easier than we expected, although it took us a couple of hours (and tears on Simon’s behalf) to figure it out. So there will be live streams coming shortly! By the way, if you haven’t done so yet, please subscribe to Simon’s YouTube channel (well it’s actually my channel, but it’s about Simon). When he has over 100 subscribers, he can stream from mobile devices which would be handy.
Simon says he had a bad birthday this year, but here were a few things he did like and above all, a new Murderous Math book, “Shapes and Sizes” (he is holding it on the photo above).
Time to change the tags to “8 year old programmer”!
Simon is talking about various shapes having various number of dimensions, which, oddly enough, doesn’t have to be a whole number. Based on maths tutorials on 3Blue1Brown channel, that Simon has been watching a lot over the past several days.
Simon comparing possibilities to create 4D noise in different computer languages:
Simon has created animations visualizing sound waves (Triangle, Sawtooth, Square and Sine waves) in Processing (Java), using wave functions.
These are the functions he used for the Sawtooth, Square and Sine waves:
Not to confuse “sine” with “sgn” (sgn standing for sign):
He was inspired by the logarithmic and power functions that he was studying during his math class yesterday. Simon was trying to draw both types of functions in Grapher on his laptop, but only succeeded for the power functions (because there were no subscript option for the logarithms).
Simon has created a great new game in Processing: The Hero Game! It is somewhat like the good old Mario, except that Simon has no idea what Mario is and came up with the concept himself. The game is based upon Circle-Rectangle Intersection, something that he was studying for the past several days. It was impressive to see how quickly he wrote the program for the game, I think it took him something like an hour, while waiting for dinner. The game has a hero (Simon), represented by the yellow circle, obstacles (from below and above) and money that the hero collects to get points. The game stops once the hero hits an obstacle. Simon is planning to add extra random obstacles and maybe also create a winning score threshold (around 50 or 65, he says). His own highest score so far has been 35.
Below are the making-of videos, step by step:
Update: Simon added trees!
Simon has been studying various 2D collisions (via the p5.collide2D library and paulbourke.net), especially the Circle-Rectangle Intersection (Collision). He was so busy with this problem that he even put it down in chalk at the playground:
And on the whiteboard at home:
And spent nearly his entire math lesson today talking about the math behind 2D object collision to his math teacher:
Simon also used Circle-Rectangle Collision for his awesome new Hero Game in Processing!
Simon partially programmed the interactive math functions editor, but it remained unfinished:
Simon playing around with sine, cosine and radii in Grapher:
This weekend Simon told me he came up with this rule that if you take two denominators that make rational fractions when you divide one by those denominators and you multiply them together, you always also get a denominator that makes a rational fraction:
Simon built a program in Codea visualizing the absolute value of a vector: