chemistry, Coding, Electricity, JavaScript, Notes on everyday life, Simon makes gamez, Simon's Own Code

Test Tube Games

Simon has had hours of fun with Test Tube Games, a science games portal featuring interactive explanations and dynamic puzzles on Chemistry and Physics. He has created two simulations based on the games he played. The first one is an electromagnetic field simulator:

This project was inspired by the game/explanation “The Electric Shocktopus” on TestTubeGames.com

Code: https://editor.p5js.org/simontiger/sketches/nIwYhXLdj

Press “1” for positive charge, “2” for negative charge, “R” to run. Press “3” and “4” to create magnetic fields/ press “0” to erase them. Press Shift+1 and Shift+2 for “lazy particles”.

Simon’s other TestTubeGames-inspired project is called “Floating Astronaut”:

This project was inspired by the game/explanation “Why Do Astronauts Float?

Code: https://editor.p5js.org/simontiger/sketches/obGZyfVze

Haven’t figured out a way to put the astronaut inside the rocket yet though.

One more science game is definitely a hit at our home, “Bond Breaker” (on chemical bonds). At a certain point, it gets so hard you start feeling like a secret agent on a mission.

Simon playing “Bond Breaker”
Coding, Contributing, Group, JavaScript, Murderous Maths, Server Side Programming, Simon makes gamez, Simon's Own Code

Tchisla Clone

Simon is working on a clone of Tchisla, an absorbing number puzzle app from the (Russian!!) creators of Euclidea. The aim is to represent numbers as arithmetical expressions using only one of the digits from 1 to 9 and the shortest way possible. (For example 96 = 99 – √9 or 96 = 4 * 4! or 96 = 2 * 2 * (22 + 2) are all valid representations of 96).

It’s true what the makers say: “You suddenly discover that you know a lot of numbers and their properties: factorials, squares, cubes, prime numbers, roots and others. Tchisla imperceptibly helps you to improve your calculating skills.”

Simon doesn’t like the fact that you can currently only find Tchisla as an app while he wants to screenshare with his friends in a browser, so he has decided to develop his own version. So far he has completed these steps in Glitch:

The next step is to actually enable joining the lobby!
Coding, Computer Science, Crafty, Logic, Python, Simon's Own Code

A Small Program that Doubles Itself

I wrote a small program that copies itself. When the program doubles itself it executes itself twice. The code that doubles itself is now doubled. The second time you run it you will get 8 times its original copy. The following time it’s going to double 8 copies of itself 8 times. Afterwards it doubles 2048 copies of itself 2048 times — that I can’t run because it would overwhelm the universe 5 times!

Coding, Computer Science, Engineering, Logic, Math and Computer Science Everywhere, Python

Simon’s Halting Problem Gist

You can easily turn every statement into a program. If the program stops, or “halts”, then the statement is true, and if it never stops, or “loops”, the statement is false.

Like, for example, the following program corresponds to the statement: “There’s at least one even number that cannot be expressed as the sum of two primes” (this is the negation of the so-called “Goldbach Conjecture”):

So, if we can figure out if any program will halt or not halt, we can prove everything! Can we do that, though?

Read more on Simon’s GitHub

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

Coding, Contributing, JavaScript, Milestones, Server Side Programming, Simon's Own Code

Question Bot

Simon has built a question bot that will collect questions on The Coding Train Discord so that Daniel Shiffman can answer them during the following live session.

This is something Simon worked on for days and he was thrilled to be able to present a working bot to Daniel. The only issue that remains unresolved is whether the mods should control the bot via a secret password or should a more advanced security system be developed. Daniel has decided to take a long break from live streaming, so the whole project probably won’t be revived until the streams resume. In any case, as Simon has put it, “I know, it’s messy, but it works. And that’s what’s important to me”.

Simon has also created several other bots (and built a separate Discord playground where other people can test their bots as well). He has been doing quite a lot of server side programming lately.

The code is on GitHub: https://github.com/simon-tiger/Question-Bot

The website is on Heroku: http://questionbot-discord.herokuapp.com/

Simon’s “question-answering round” Discord bot is a clone of CJ (Coding Garden)’s VOX system.

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, Community Projects, Contributing, Curent Events, Experiments, Geography, JavaScript, Milestones, Murderous Maths, Notes on everyday life, Philosophy, Simon makes gamez, Simon teaching, Simon's Own Code, Simon's sketch book, Social Studies, Thoughts about the world

How Can Math Help Resolve Racial Segregation?

This is Simon’s contribution to #blacklivesmatter

How Can Math Help Resolve Racial Segregation? This video and coding project is based on Segregation Solitaire by Thomas Schelling, an American mathematician and economist who was awarded the 2005 Nobel Memorial Prize in Economic Sciences for “having enhanced our understanding of conflict and cooperation through game-theory analysis.”

I don’t like the name ‘Segregation Solitaire’, so I call it Schelling’s Game. This is also inspired by the famous Parable of the Polygons playable essay on the shape of society by Vi Hart and Nicky Case: https://ncase.me/polygons/

Simon binge reads Nicky Case’s essays and has made several remixes of their projects, all the more timely, considering today’s context.

Simon’s interactive version: https://editor.p5js.org/simontiger/present/mWwl1GsTe

Simon’s code: https://editor.p5js.org/simontiger/sketches/mWwl1GsTe

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.

Astronomy, Curent Events, Geography, Physics, Together with sis

Watching Bob and Doug start a new era of space exploration

We watched both on Wednesday, May 27 and Saturday, May 30 when it actually happened: the historic launch of Crew Dragon Demo-2, a commercial state-of-the-art aircraft, marking the start of a whole new era of space exploration for the whole of humankind. And then, 23 minutes after the launch, we rushed towards the balcony to watch them fly over Belgium, only to realize that it was too light outside… But we did get lucky the second time they passed! Exactly at 23:18, we spotted a little bright dot going from West to East, vanishing mid-way. It was a very memorable moment. #LaunchAmerica

Crew Dragon Demo 2’s approximate trajectory over Belgium. Image source link.