Geometry Joys, Murderous Maths, Simon's sketch book

Our New Craze: Euclidea

Simon is obsessed with Euclidea https://www.euclidea.xyz/ — a learning environment for geometric constructions and proofs. He has also downloaded the Euclidea app (which has more features), so that he could continue engaging with it while at the beach.

Yesterday, he finished the whole first section (called Alpha), completing all of its 7 tasks in several ways, most of which he solved himself without using hints. The goal is to solve a problem using the minimum number of moves:

Each solution is scored in two types of moves: L (straight or curved lines) and E (elementary Euclidean constructions). Points are not taken into account.

L counts tool actions: constructing a line, a perpendicular, and so on.
E counts moves as if a construction was made with real compass and straightedge. (Each advanced tool has its own E cost).

Each level has L and E goals. They are independent. A lot of problems have universal solution that satisfies both goals. But some problems should be solved twice: one solution to reach L goal and another solution to reach E goal.

You can receive the following stars on each level:

* the challenge was solved
* the L goal was reached
* the E goal was reached
* all variants (V) of answer were found

If there are several objects satisfying the statement of a problem, you can get a hidden V-star by constructing all the answers (solutions) at the same drawing. Usually this implies some kind of symmetry. You need to guess on what levels it is possible because the presence of a V-star is not shown until you find it.

– Euclidea Manual

The five images below are an example of solving a Euclidea puzzle:

Simon solving the above puzzle using only his compasses and a ruler
measuring the angle he wants to duplicate
marking the same degree angle
Solved

Simon also loves recreating all the puzzles:

For the last puzzle, Simon couldn’t find the minimum number of moves independently and looked the solution up on stackexchange. “It would have taken me a year to figure this out”, he said:

screenshot solution, stackexchange

Discovering Antwerpen, Geometry Joys, Math and Computer Science Everywhere, Murderous Maths, Notes on everyday life, Set the beautiful mind free, Together with sis, Trips

Math To Go

Thanks to our usual summer hang-outs (Dutch beaches, local playgrounds and terraces) being closed, we have discovered that Simon doesn’t hate small hikes in the woods after all. At least not if he can continue thinking about math along the way.

Last week, we spent a good deal of our walk arguing whether math has been invented or discovered, juxtaposing a Plato-like ideal view on math to a more rational one, that I believe Stephen Wolfram shares, that math is an artifact. In the end, Simon brought us to a whole new level of abstract thinking, saying that, of course, math is made up, i.e. it has been invented, but just like everything that is made up it has also been discovered because the idea of anything that has been or will be invented already exists somewhere as information.

This week, Simon brought a sheet of paper to solve a puzzle he had seen on Euclidea https://www.euclidea.xyz/ — a wonderful learning environment for geometric constructions and proofs done the fun way (we believe, built by Russian developers).

Coding, Geometry Joys, Murderous Maths, Physics, Python, Simon teaching, Simon's Own Code, Simon's sketch book

Physics Engine using Verlet Integration

Simon created a physics engine in Python with Turtle. He used Verlet integration (French pronunciation: ​[vɛʁˈlɛ]), a numerical method for integrating Newton’s equations of motion in calculating trajectories of particles in molecular dynamics simulations and computer graphics.

see Simon’s interactive sketch in Geogebra at https://www.geogebra.org/m/neuxj63g

Verlet Integration is a way to implement a physics engine without having to care about velocity.

Instead of storing the velocity, you store the previous position, and you calculate the velocity on the fly. Then if you add that velocity to the current position, you get the new position. But then you also have to add on the acceleration, because acceleration changes velocity.

Coding, Geometry Joys, Group, JavaScript, Milestones, Murderous Maths, Simon's sketch book

Dissecting Polygons

Every polygon can be triangulated into exactly n-2 triangles. So you’ve got the triangulation theorem and the totally opposite theorem in the math universe, Girard’s theorem (the formula for the era of a spherical triangle). I’m going to attempt to put these two together to prove Euler’s polyhedral formula (also known as Euler’s characteristic) V – E + F = 2.

A week later Simon and a friend of his from Germany worked together for several hours, writing a program to cut polygons. It’s still unfinished but is already fun to play with: https://editor.p5js.org/simontiger/sketches/YxNUp5rdJ

Geometry Joys, Math Tricks, Murderous Maths, Simon's sketch book

Simon’s geometric calculator for +, -, ×, ÷ and √

To add a + b, start at a on the plus scale. Then move b units. You’ll end up at a + b.

To multiply a × b, connect 1 on the plus scale with a on the times scale. Then, draw a parallel line that goes through b on the plus scale. It will go through a × b on the times scale.
To extract √a, draw a semicircle from the “tail” 1, to a on the plus scale. It will go through √a on the square-root scale.
Geometry Joys, Milestones, Murderous Maths, Notes on everyday life, Simon's sketch book

Formula for e

Simon’s project in online at https://www.geogebra.org/classic/j29phpus
the second part of Simon’s project: https://www.geogebra.org/classic/wym3kvxf

I’ve worked out a formula for e!


This came up when I was looking for an antiderivative, if n isn’t equal to 1:

if n is equal to 1, then it’s suddenly a natural log!

But I’ve realized that if I change it only a tiny bit, it becomes a really famous existing formula for e:

Still impressive that you have worked it out all on your own, Simon!

Coding, Community Projects, Computer Science, Contributing, Geometry Joys, JavaScript, Lingua franca, live stream, Machine Learning, Math and Computer Science Everywhere, Math Riddles, Math Tricks, Milestones, Murderous Maths, Notes on everyday life, Physics, Python, Set the beautiful mind free, Simon makes gamez, Simon teaching, Simon's Own Code, Simon's sketch book, Thoughts about the world

New Friends. New Horizons.

This is a little video compilation of a few moments I captured Simon talking to his new peers in April 2020

Thanks to the lock-down, Simon’s got new friends. For a little over a month now, he has been part of exciting daily discussions, challenging coding sessions and just playing together with his new gang (warning: playing always involves math). We’ve never seen him like this before, so drawn to socializing with his peers, even taking the lead in some meetings and initiating streams.

And then we realized: this is how social Simon is once he meets his tribe and can communicate in his language, at his level. Most of his new friends are in their late teens and early twenties. Most of them didn’t use to hang out together before the crisis, probably busy with college, commuting, etc. The extraordinary circumstances around covid-19 has freed up some extra online time for many talented young people, creating better chances to meet like-minded peers across the world. Finally, Simon has a group of friends he can really relate to, share what he is working on, ask for constructive help. And even though he is the youngest in the group, he is being treated as an equal. It’s beautiful to overhear his conversations and the laughter he shares with the guys (even though sometimes I wish he wasn’t listening to a physics lecture simultaneously, his speakers producing a whole cacophony of sound effects, but he likes it that way and seems to be able to process two incoming feeds at once).

Last week, Simon took part in a World Science Scholars workshop by Dr. Ruth Gotian, an internationally recognized mentorship expert. The workshop was about, you guessed it, how to go about finding a mentor. One of the things that struck me most in Dr. Gotian’s presentation was her mentioning the importance of ‘communities of practice’. I looked it up on Etienne Wenger’s site (the educational theorist who actually came up with the term in the 1990s):

A community of practice is a group of people who share a concern or a passion for something they do, and learn how to do it better as they interact regularly. This definition reflects the fundamentally social nature of human learning. It is very broad. It applies to a street gang, whose members learn how to survive in a hostile world, as well as a group of engineers who learn how to design better devices or a group of civil servants who seek to improve service to citizens. their interactions produce resources that affect their practice (whether they engage in actual practice together or separately).

It is through the process of sharing information and experiences with the group that members learn from each other, and have an opportunity to develop personally and professionally, Wenger wrote in 1991. But communities of practice isn’t a new thing. In fact, it’s the oldest way to acquire and imperfect one’s skills. John Dewey relied on this phenomenon in his principle of learning through occupation.

It has been almost spooky to observe this milestone in Simon’s development and learn the sociological term for it the same month, as if some cosmic puzzle has clicked together.

Of course, it would be a misrepresentation to say nothing of the internal conflict the new social reality unveiled in my mothering heart as I struggled to accept that Simon started skipping Stephen Wolfram’s livestreams in favour of coding together with his new friends. 👬Yet even those little episodes of friction we experienced have eventually led to us understand Simon better. We sat down for what turned into a very eye-opening talk, which involved Simon asking me to take down the framed Domain of Science posters we’d recently put up above his desktop and pointing to those infographics depicted on the posters that represented the areas of his greatest interest.

we got our posters at the DFTBA shop

Simon simply guided us through the Doughnut of Knowledge, Map of Physics, Map of Computer Science and Map of Mathematics posters as if were on tour inside his head. And he made it clear to us that he seriously preferred pure mathematics, theoretical computer science and computer architecture and programming to applied mathematics (anything applied, really) and even computational physics, even though he genuinely enjoyed cosmology and Wolfram’s books.

“Mom, you always think that what you’re interested in is also what I’m interested in”, he told me openheartedly. It was at that moment it hit me he had grown up enough to gain a clearer vision of his path (or rather, his web). That I no longer needed to absolutely expose him to a broadest possible plethora of the arts and sciences within the doughnut of knowledge, but that from now on, I can trust him even more as he ventures upon his first independent steps in the direction he has chosen for himself, leaning back on me when necessary.

So far, in just one month, Simon has led a live covid-19 simulation stream, programming in JS as he got live feedback from his friends, cooperated on a 3D rendering engine in turtle (🤯), co-created Twitch overlays, participated in over a hundred Clashes of Code (compelling coding battles) and multiple code katas (programming exercises with a bow to the to the Japanese concept of kata in the martial arts).

example of a Clash of Code problem
e of a Clash of Code problem
This is Simon’s code in one of the Clashes of Code (he won this round from 6 other players). Such programming battles last somewhere between 5 and 15 minutes and come in three modes: fastest mode (in which you must complete the puzzle as fast as possible), shortest mode (you need to write the lowest code size) and reverse mode (you have to guess what to do by observing the provided set of tests). Simon especially likes the last mode, because you have to find the code by finding patterns in the given test cases, which appeals to his mathematical talent.
CJ from the Coding Garden discussing Simon’s solution
Simon working on a 3D renderer project together with his friends
Simon came up with a plan to work on the 3D renderer

Last month, ten young programmers including Simon formed a separate “Secret Editors’ Club Riding Every Train” group on Discord, uniting some “nice and active” people who met on The Coding Train channel (they also included Dan Shiffman in the group). Simon really enjoys long voice chats with the other secret editors, going down the rabbit holes of math proofs and computer algorithms. Last Tuesday, he was ecstatic recounting his 3-hour call with his new peer Maxim during which Simon managed to convince Maxim that 0.999… equals 1 by “presenting a written proof that involved Calculus”:

We even talked about infinity along the way, aleph null and stuff. There was a part where he almost won, because of the proof I showed him when we talked about infinities. I was almost stumped.

The guys have now inspired Simon to take part in the Spring Challenge 2020 on CodingGame.com, a whole new adventure. To us, the lockdown experience has felt like an extra oxygen valve gone open in our world, another wall gone down, another door swung open, all allowing Simon to breathe, move and see a new horizon.

Simon trying to explain why he didn’t fulfil a promise, he has finally found the people who speak his language 🙂