Computer Science, Crafty, Logic, Simon's sketch book

Simon crafting a search engine with sticky notes

Simon working on a simplified version of a search engine, including just a few documents, and performing calculations to determine how many searches one should do to make creating an index of all the documents efficient (something he has picked up in Brilliant.org’s Computer Science course.

screenshot from Brilliant.org’s Computer Science course
Biology, Computer Science, Geography, Group, In the Media, Milestones, Murderous Maths, Notes on everyday life, Physics, Trips

World Science Scholars Feature Simon’s visit to CERN in a newsletter. The current course is about neurons. Reading Stephen Wolfram.

Simon’s September visit to CERN has been featured in a World Science Scholars newsletter:

Here’s our update on the World Science Scholars program. Simon has finished the first bootcamp course on the theory and quantum mechanics by one of program’s founders, string theorist Professor Brian Greene and has taken part in three live sessions: with Professor Brian Greene, Professor Justin Khoury (dark matter research, alternatives to the inflationary paradigm, such as the Ekpyrotic Universe), and Professor Barry Barish (one of the leading experts in gravitational waves and particle detectors; won the Nobel Prize in Physics along with Rainer Weiss and Kip Thorne “for decisive contributions to the LIGO detector and the observation of gravitational waves”).

September 2019: Simon at a hotel room in Geneva taking pat in his first WSS live session, with Professor Brian Greene
September 2019: screenshot from Professor Brian Greene’s course module on quantum physics

At the moment, there isn’t much going on. Simon is following the second course offered by the program, at his own pace. It’s a course about neurology and neurological statistics by Professor Suzana Herculano-Houzel and is called “Big Brains, Small Brains: The Conundrum of Comparing Brains and Intelligence”. The course is compiled from Professor Herculano-Houzel’s presentations made at the World Science Festival so it doesn’t seem to have been recorded specifically for the scholars, like Professor Brian Greene’s course was.

Professor Herculano-Houzel has made “brain soup” (also called “isotropic fractionator”) out of dozens of animal species and has counted exactly how many neurons different brains are made of. Contrary to what Simon saw in Professor Greene’s course (mainly already familiar stuff as both relativity theory and quantum mechanics have been within his area of interest for quite some time), most of the material in this second course is very new to him. And possibly also less exciting. Although what helps is the mathematical way in which the data is presented. After all, the World Science Scholars program is about interdisciplinary themes that are intertwined with mathematical thinking.

Screenshots of the course’s quizzes. Simon has learned about scale invariance, the number of neurons in the human brain, allometric and isometric scaling relationships.

Another mathematical example: in Professor Herculano-Houzel’s course on brains we have witnessed nested patterns, as if they escaped from Stephen Wolfram’s book we’re reading now.

screenshot from the course by Professor Herculano-Houzel

Simon has also contributed to the discussion pages, trying out an experiment where paper surface represented cerebral cortex:

The top paper represents the cerebral cortex of a smaller animal. Cerebral cortex follows the same physical laws when folding is applied.

Simon: “Humans are not outliers because they’re outliers, they are outliers because there’s a hidden variable”.

screenshot from Professor Herculano-Houzel’s course: after colour has been added to the plot, the patterns reveal themselves

Simon is looking forward to Stephen Wolfram’s course (that he is recording for world science scholars) and, of course, to the live sessions with him. The information that Stephen Wolfram will be the next lecturer has stimulated Simon to dive deep into his writings (we are already nearly 400 pages through his “bible” A New Kind of Science) and sparked a renewed and more profound understanding of cellular automata and Turing machines and of ways to connect those to our observations in nature. I’m pretty sure this is just the beginning.

It’s amazing to observe how quickly Simon grasps the concepts described in A New Kind of Science; on several occasions he has tried to recreate the examples he read about the night before.

Simon playing around in Wolfram Mathematica, after reading about minor changes to the initial conditions of an idealised version of the kneading process
Simon working out a “study plan” for his Chinese lessons using a network system model he saw in Stephen Wolfram’s book “A New Kind of Science”
Computer Science, Engineering, Good Reads, Math and Computer Science Everywhere, Murderous Maths, Notes on everyday life, Physics, Simon teaching, Simon's sketch book, Together with sis

Zutopedia, a fun Computer Science Resource

Through the whole moth of October, Simon really loved watching Computer Science and Physics videos by Udi Aharoni, a researcher at IBM research labs and creator of the Udiprod channel https://www.youtube.com/user/udiprod and the Zutopedia website http://www.zutopedia.com/ Simon’s favourite has been the Halting Problem video that he also explained to his little sister.

In the example below, Simon has applied a compression algorithm to a sentence by transforming the sentence into a tree where all the letters have their corresponding frequencies in this sentence. “Can you get back to the sentence? You have to first transform the letters into ones and zeros using the tree (the tree is a way to encode it into ones and zeros that’s better than ASCII)”.

Simon learned this at http://www.zutopedia.com/compression.html
thanks to the Udiprod channel, Simon has also revisited sorting algorithms and spent hours comparing them, this time using self-made number cards
Computer Science, Contributing, Group, Logic, Math and Computer Science Everywhere, Milestones, Murderous Maths, Notes on everyday life

Brilliant Discussions

This is an example of the learning style that Simon enjoys most. He really likes doing the daily challenges on Brilliant.org. He later sometimes discusses them with other participants or even writes wikis!

Simon writing an explanation on Brilliant.org’s discussion page about a Computer Science Fundamentals daily challenge. Link to the full discussion: https://brilliant.org/daily-problems/what-variable-1/
The problem and Simon’s answer
Simon’s contribution to the discussion
Coding, Computer Science, Good Reads, JavaScript, Milestones, Murderous Maths, Notes on everyday life, Set the beautiful mind free, Simon's Own Code, Simon's sketch book

Simon’s first steps in Stephen Wolfram’s Computational Universe

Simon has been enjoying Stephen Wolfram’s huge volume called A New Kind of Science and is generally growingly fascinated with Wolfram’s visionary ideas about the computational universe. We have been reading the 1500-page A New Kind of Science every night for several weeks now, Simon voraciously soaking up the behaviour of hundreds of simple programs like cellular automata.

Wolfram’s main message is that, contrary to our intuition, simple rules can result in complex and often seemingly random behaviour and since humanity now has the computer as a tool to study and simulate that behaviour, it could open a beautiful new alternative to the existing models used in science. According to Wolfram, we may soon realise that the mathematical models we are currently using, based on equations and constraints instead of simple rules, are merely a historical artefact. I’m amazed at how much this is in line with Simon’s own tentative thoughts he was sharing with me earlier this year, about how maths will be taken over by computer science and how algorithms are a more powerful tool than equations. When he came up with those ideas he hadn’t discovered Wolfram’s research and philosophy yet, he used to only know Wolfram as the creator of Wolfram Mathematica and the Wolfram language, both of which Simon greatly admires for being so advanced.

Last night, Simon was watching a TED talk Stephen Wolfram gave in 2010 about the possibilities of computing the much aspired theory of everything, but not in the traditional mathematical way. “It’s about the universe!” Simon whispered to me wide-eyed, when I came to the living room to fetch him. “Mom, and you know who was in the audience there? Benoit Mandelbrot!” (Simon knows Mandelbrot died the same year, he is intrigued by the fact that his and Mandelbrot’s lifetimes have actually overlapped by one year).

We have been informed by the World Science Scholars program that Stephen Wolfram will be one of the professors preparing a course for this year’s scholars cohort, so Simon will have the unique experience of taking that course and engaging in a live session with Stephen Wolfram. It is breathtaking, a chance to connect with someone who is much older, renowned and accomplished, and at the same time so like-minded, a soulmate.

Inspired by reading Stephen Wolfram, Simon has revisited the world of cellular automata and Turing machines, and created a few beautiful Langton’s Ants:

Link to Simon’s sketch on p5: https://editor.p5js.org/simontiger/sketches/sHa6d-AFf
Simon especially likes the last example in the video: “I think of it as triangular houses surrounding a flower garden!”

Simon has also watched a talk by Stephen Wolfram for MIT course 6.S099: Artificial General Intelligence. He said it had things in it about Wolfram Alpha that he didn’t know yet.

Computer Science, Murderous Maths, Simon's sketch book

The most efficient base

I’ve discovered that base 3 is the most efficient base (not base 2). Actually the most efficient base is e, and 3 is the closest to e (the proof requires Calculus).

South Korea has published a complete design of a ternary computer in July 2019! So this is actually cutting edge material here!

(Inefficiency is calculated by multiplying the number of digits by the base number).

Simon has also showed me a trick to translate any number into binary using a grid:

using acorns instead of pebbles

and a card trick based on quickly translating a number into binary in his head:

Computer Science, Crafty, Electronics, Engineering, Good Reads, Milestones, Simon's sketch book

Simon trying to build a 8-bit computer in circuit simulators

As some of you may know, Simon is working on building a real-life 8-bit computer from scratch, guided by Ben Eater’s tutorials (it’s a huge project that may takes months). He has also been enchanted by the idea to build the computer in a simulator as well, researching all virtual environments possible. The best simulator Simon has tried so far has been Circuitverse.org, although he did stumble upon a stack overflow error once, approximately half-way through (maybe the memory wasn’t big enough for such an elaborate circuit, Simon said). You can view Simon’s projects on Circuitverse here: https://circuitverse.org/users/7241

Link to the project that ended up having a stack overflow: https://circuitverse.org/users/7241/projects/21712

And here is a link to Simon’s new and more successful attempt to put together a SAP-1 (simple as possible) processor (work in progress), something he has been reading about in his new favourite book, the Digital Computer Electronics eBook (third edition): https://circuitverse.org/users/7241/projects/22541

https://circuitverse.org/users/7241/projects/21712
the register
the RAM
https://circuitverse.org/users/7241/projects/22541

Simon has also tried building an 8-bit computer in Simulator.io, but it was really difficult and time consuming:

Version in simulator.io

The next hopeful candidate was the Virtual Breadboard desktop app for pc. Simon downloaded it about ten times from the Microsoft store but it somehow never arrived, most probably because our Windows version was slightly outdated but who knows.

And finally, Simon has also discovered Fritzing.org, an environment for creating your own pcbs with a real-life look. He may attempt actually making a hardcopy SAP-1 via Fritzing after he’s done with the Ben Eater project. Conclusion: sticking with Circuitverse for the time being.

Computer Science, Electronics, Engineering, Good Reads, Notes on everyday life, Uncategorized

The Digital Computer Electronics book

Simon has been mesmerised by this book for a couple of days by now, the Digital Computer Electronics eBook (third edition). He has downloaded it online and has been reading about the so called “simple as possible” processors or the sap’s (he loves the name) one of which is like the 8-bit computer he is currently trying to build from scratch.

Simon reading the book in the playroom. I hear him laughing and reading aloud.
a screenshot of the book
Taking notes on SAP-2 instructions (and listening to a quiz show on YouTube at the same time) – his way of learning
Computer Science, Crafty, Logic, Math and Computer Science Everywhere, Murderous Maths, Simon teaching, Simon's sketch book, Together with sis

The Diffe-Hellman key exchange algorithm

This is Simon explaining Diffe-Hellman key exchange (also called DiffeHellman protocol). He first explained the algorithm mixing watercolours (a color representing a key/ number) and then mathematically. The algorithm allows two parties (marked “you” and “your friend” in Simon’s diagram) with no prior knowledge of each other to establish a shared secret key over an insecure channel (a public area or an “eavesdropper”). This key can then be used to encrypt subsequent communications using a symmetric keycipher. Simon calls it “a neat algorithm”). Later the same night, he also gave me a lecture on a similar but more complicated algorithm called the RSA. Simon first learned about this on Computerphile and then also saw a video about the topic on MajorPrep. And here is another MajorPrep video on modular arithmetic.

originally there are two private keys (a and b) and one public key g
Neva helping Simon to mix the colors representing each key
Mixing g and b to create the public key for b
Mixing the public and the private keys to create a unique shared key
Done!Both a and b have a unique shared key (purplish)
Simon now expressed the same in mathematical formulas
Simon explained that the ≡ symbol (three stripes) means congruence in its modular arithmetic meaning (if a and b are congruent modulo n, they have no difference in modular arithmetic under modulo n)