Mastodon Icon RSS Icon GitHub Icon LinkedIn Icon RSS Icon

Ranking Systems 02 - The Elo Rating System

Header image for Ranking Systems 02 - The Elo Rating System

As we have said before, skill and ranking are never measured directly; instead, they are inferred from the observed performance of a player in previous matches. The idea of building an estimator based on pairwise wins and losses is quite old, but the Elo System represents the most simple and popular implementation.

Go is still fighting over generics. In 2019.

Header image for Go is still fighting over generics. In 2019.

I dislike Go. I dislike it a lot. Nevertheless, I usually do not bash on it because I am deeply convinced that people should use whatever they want and they like. Many people I respect use Go. I mean, this blog run on Hugo, that is written in Go! How could I be one of “those guys” who always bitch about what other people enjoy?

However, sometimes, I fall into watching discussions in the go community, and they are so absurd I cannot shut up. 

August 2019 Update

Header image for August 2019 Update

Last month, slowing down with socials and news became mandatory. I “won” Camp NaNoWriMo and but I still have the last third of the story to write. Heatwaves are everywhere.

To hot to think and words order fine screen in! Let’s just look at this month update before I catch fire!

Why I love Narration Through Discovery

Header image for Why I love Narration Through Discovery

Yesterday I was reflecting about an interesting fact: in the list of “my favorite games of all times,” the top 10 is packed with games that share all a common element. The games are:

  • Dark Souls
  • Dark Souls II
  • Well… every game of the soulborne genre.
  • Hollow Knight
  • The Legend of Zelda: Breath of the Wild
  • And more.

Can you guess what they all have in common?

Sure, they all have a decadent setting (the world is falling or is recovering after a cataclysm), but there is a way more common design element: narration through discovery.

July 2019 Update

Header image for July 2019 Update

This update will be quite straightforward: July will be the month of digital retreat. Summer is not for staying still. Summer is for side projects; summer is for recharging; summer is for everything but the mindless routines of the other seasons.

The Winter of Virtual Assistants

Header image for The Winter of Virtual Assistants

Seven years and eight months have passed since the release of the first really popular commercial virtual assistant (VA). Yet, seven years later, virtual assistants can do only marginally better.

Sure, they understand better, they speak better, they have learned some new trick; but in the end, they are still a funny but useless experience. After the first fun moments of experimentation when you start talking to them – that is, where you keep asking them silly jokes or dumb questions – they quickly came back to be pretty dumb object. I am pretty sure that the vast majority of user use a VA just for timers, weather and – occasionally – asking for the event on our calendar.

On Rogozhin's Universal Turing Machines

How to prove that a Turing Machine is Universal

Header image for On Rogozhin's Universal Turing Machines

Every now and then, we see some headline about Turing Completeness of something. For example, Minecraft or Dwarf Fortress, or even Minesweeper are famous examples of accidentally Turing complete systems.

If you know what a Turing machine is (and you should) you will have an intuitive idea of the claim: you know that X can compute any computable function. Sure; but if you stop thinking about that for a bit, it is not so intuitive how we can prove that. If we think long enough, we can start understanding how X can simulate a Turing machine, but how can we be sure that we can encode a Universal Turing Machine and what is the program of a UTM and how we can prove that it is, in fact, universal?

June 2019 Update

Header image for June 2019 Update

May is over. Here in Italy, it rained every day. Everybody is still waiting for spring, and I am still waiting for… something. Now that summer is at the door, it is time for thinking about summer projects.

Kotlin Development in VS Code

Header image for Kotlin Development in VS Code

Note: This article has not been updated in the last 2 years. The information may be outdated.

Kotlin is a really sweet language. It is the perfect thing in between a “super-powerful and but difficult language” like Rust or Modern C++, and a “super-easy but that seems to be designed in the 80s” like Go. With the upcoming release on Kotlin Native, then, you can even ditch the JVM!

However, while IntelliJ is a great IDE, often I do not like to rely on big IDEs — especially when VSCode works perfectly well for 90% of my use cases. Therefore, it is time to see if and how I can use Kotlin in VS Code (and see what is missing).

Ranking Systems 01 - What is Skill

Header image for Ranking Systems 01 - What is Skill

A Ranking Systems is a core element of every competitive game. Every game in which a player plays against another player need to have some way to rank them and compare the relative skill of each other. It happens for video games, but also sport (e.g., the FIFA ranking for football) or other games (e.g., FIDE Chess Ranking). Comparing stuff is in the human nature.