Teaching my kids programming & math

For these exercises, all you need is some creativity and pen & paper.

The crucial bit is to come up with some exercises in order to get their attention. Find what they enjoy playing with, and gamify it. If they like pets, make commands to e.g. feed a pet. If they want toy soldiers games, make commands for e.g. moving and attacking.

Continue reading “Teaching my kids programming & math”

Philosophy for Everyone

While I was reading a book on the history of philosophy (1/3 through it), I became interested in philosophy in general.

I enrolled in a Coursera course Philosophy for Everyone, which seemed to be very popular. There’s also a book for it. In this post I will write an overview of every week and what I learned.

The way I consumed the content was to first read the handouts, write a quick review of them on this blog, and then continue by watching the videos.

Continue reading “Philosophy for Everyone”

A simple fact about politics

Disclaimer: I am not a politics expert (whatever that may mean) nor have I read any books about politics. My background is in software engineering and maths.

Every party wants to be the ruling party

  1. A political party is formed with the intent of it to be a ruling party.
  2. A political party spends resources on marketing.
  3. Therefore every political party wants to be ruling.

Every politician must lie sometimes

  1. Assume a politician of a party A always tells the truth.
  2. Assume there’s an opposing party B.
  3. Since every political party wants to be ruling, opposing party B can abuse the truth.
  4. Since every political party wants to be ruling, Party A doesn’t want the truth to be manipulated and lose points.
  5. Therefore it is not the case that a politician of party A always tells the truth, that is, a politician of party A must lie sometimes. Without loss of generality, every politician must lie sometimes.

Lying can be a simple fact about GDP, or even worse when combined with the fact that every party wants to be ruling: manipulate the population into believing that the other party is the ultimate evil.

Sophie’s World: History of Philosophy (part 1)

I’ve recently started reading this book, and it’s been a great summer read for me. It is about a 14 years old girl who starts receiving letters from a mysterious person that is explaining philosophical concepts and trying to capture the beauty of philosophy.

The book is full of ideas and in this post, I will post a brief overview of the topics and the thoughts that came to me as I was reading it. (Mainly writing them down for my future self, even though I might have different thoughts if I re-read the book at a later time 🙂)

Reading strategy, for each chapter:

  1. Skim through it
  2. Read it and, as reading, take notes and add them to blog posts like this
  3. Iterate on the notes one more time using the study guide linked in every chapter
Continue reading “Sophie’s World: History of Philosophy (part 1)”

Recursion from first principles

Recursion is one of the things that makes computation happen – whether you’re doing something on your computer, smart TV, or smartphone.

For example, here’s a definition of the addition function represented in first-order logic:

\forall y, add(0, y, y) \\ \forall x, y, z, add(x, y, z) \to add(S(x), y, S(z))

Or, the more commonly known variant:

\begin{aligned} 0+y &= y \\ S(x)+y &= S(x+y) \end{aligned}

In this blog post, we will generalize recursive functions.

Continue reading “Recursion from first principles”