Archive & search

Archive

Browse and search articles and short notes from the notebook.

240 entries

2026

Article

"My Baby Is Ugly"

Every time I finish a draft, I need to face the reality: my draft sucks. Stiff dialogue, absent descriptions, plot holes larger than my apartment. But I can make it better. …

  • Writing
Note

The Great 2026 Blog Renovation

I spent the first week of my summer vacation redesigning this blog. Now the home page is richer and more information-dense. There is still much to do but, for now, we are open for …

  • Personal
Article

The ChangeLog – July 2026

This summer is a never-ending fight against heatwaves. The best I can do is accept it and make the best of it. Therefore, in this lighter issue, I will go over a fantastic Medieval …

  • Personal
Article

The ChangeLog – June 2026

June 2026 has been a mix of events and emotions. I went to Greece for work, I hurt my back, and we booked our wedding location and date. But I also read the new Dungeon Crawler …

  • Personal
Article

The ChangeLog – May 2026

Yes, I am getting married. A symbolic representation of how I am breaking a decade of stagnation. Moreover, in this issue, the new chapter of On the Calculation of Volume, the …

  • Personal
Article

A D&D Encounter Calculator in Elixir

I am sharing a little Dungeons & Dragons encounter calculator I wrote in Elixir as an exercise. In the last two months I did two things: D&D and Elixir. It was only a matter of …

  • Programming
Article

The ChangeLog – April 2026

April wasn’t really a month of change, but it was one in which I put something in motion. In the meantime, I read Anathem and two other books, watched a 1945 movie, explored …

  • Personal
Article

The ChangeLog – March 2026

In a surprisinglly cold March, I read a lot not completing any book (next month!) and finally reached the final stretch of my James Bond watch-a-thon but, most importantly, I got …

  • Personal
Article

The Changelog – February 2026

February is the shortest month, and I always need to write it at the last moment. It is hard to write about what I did up to the 27th when the month has only one more day. So I am …

  • Personal
Note

The Problem With Measuring AI Productivity

Every time I read about some study measuring the productivity gain of AI-assisted development, I raise an eyebrow. There is too much variability in the usage of AI tools and …

  • Artificial Intelligence
Article

The Changelog – January 2026

The year started with a bang. I read an Einstein biography, watched a great, century-old movie, and got caught by Polish progressive rock once again. But, most importantly, I have …

  • Personal
Article

The Hyperdigestion of Modern Media

I am increasingly bothered by the fact that any piece of media that comes out is already old in less than 24 hours. Everybody feels the urge to have a strong take, to dissect it …

  • Philosophy
Note

Why I Quit Mastodon in 2026

I constantly wrote on Mastodon for the last 4 years. The environment is increasingly hostile and far from what I would like. So there is no point in staying.

  • Personal
Article

The Changelog – December 2025

This monthly edition is shorter than usual, as I spent most of my time revising my second novel-length story, doing this year’s Advent of Code, and living the Christmas atmosphere.

  • Personal

2025

Article

The Changelog – November 2025

October was very similar to November, with the same issues but also the same good things. I am focusing a lot on Music an RPGs as a coping mechanism. This month, I finished the …

  • Personal
Note

The Golden Rule of Using AI Agents

As with many, I played around with AI agents in code. Contrary to some opinions, AI agents made me rediscover the joy of coding (for many reasons I may discuss another time). …

  • Programming
Article

The Changelog – October 2025

October felt like it lasted a week. Still, it was a nice, cozy month. In this article we’ll talk about the fifth chapter of the Dungeon Crawler Carl series, two non-gory horror …

  • Personal
Article

The Changelog – September 2025

September was a great month. I finally have a desk, and I finally changed something in my daily routine. I read another two books of the Dungeon Crawler Carl series and finished …

  • Personal
Article

The Changelog – August 2025

August was a month of recharging. I spent a week in the mountains and reconnected with myself. In this month’s issue: my first taste of litRPG, a Japanese movie about food, …

  • Personal
Article

Review your week like a chess game

For the last year, I’ve been using a chess-inspired system to review time periods in my life. It is a stupidly simple system, but effective (in my expirience). So, I thought I …

  • Workflow
Note

Movie Posters Grid in Obsidian With Dataview

With the upcoming Bases update in Obsidian, this may become obsolete, but for the time being I am still quite happy using Dataview to embed little graphical elements in my notes. …

  • workflow
Article

The Changelog – July 2025

It has been a month of contrasts; of light and shadows. In the midst of all that, I read three books, listened to the new Messa’s album and, of course, I watched KPop Demon Hunters …

  • Personal
Article

The Changelog – June 2025

In this scorching hot June, I started to be myself again and I am again finally able to feel enthusiasm for projects and ideas. And for this reason, I read and watched more things. …

  • Personal
Article

The Changelog – May 2025

I dont’t feel like talking much. So let’s just talke about two books abotut the Roman Empire, a movie about Bob Dylan, and how I am catching up with the Mission: Impossible …

  • Personal
Article

The Changelog – April 2025

This month has been harsh. I spent most of it in my head, unable to control a wave of anxiety and catastrophic thoughts. Yet, I tried my best. I read Nexus, watched Conclave just …

  • Personal
Article

The Changelog – March 2025

March was a month of contrasts, but, overall, I am happy with it. I wrote two articles, finally watched Flow, and read The Notebook, listen to the new clippings album. And now I am …

  • Personal
Article

It Is Okay to “Vibecode”

Critiques to vibecoding are often an example of right-Gaussian thinking. If you want to be a developer, you should avoid it. But if not, why should you not take advantage of new …

  • Programming
Article

MovingAI-Rust 2.1.0: Now panic-free!

I released version 2.1.0 of my MovingAI benchmark parser for Rust. The main change is that I removed all panics from the library because idiomatic Rust code should not panic if it …

  • Artificial Intelligence
Article

How to install MediaWiki on Docker

A quick 10-steps guide to have a MediaWiki instance running locally in 10 minutes with Docker. Because why not? Why should I not the most powerful wiki software to power my local …

  • Random
Article

The Changelog – February 2025

February was a pleasant month, but perhaps not a very memorable one. I read The Two Towers and Red Team Blues, watched Silo and Mythic Quest, and played Hades 2. I also listened to …

  • Personal
Article

The Changelog – January 2025

January was a fine month, but I need to shake things up. I read a book about Socrates and another Star Trek novel. I watched the entire Fast and Furious franchise. I listened to …

  • Personal
Article

The Books I Read in 2024

Another year of reading is now in the past! As the tradition wants, I am going to collect here every single comments I wrote on every book I read during 2024. All 32 of them. …

  • Personal
Article

The Changelog – December 2024

Happy New Year! Let’s wrap up 2024 with a look back at the last month of a solid year. In the last stretch of the year, I reached 196 watched movies, 32 books, and I fell back into …

  • Personal

2024

Article

My Default Apps for 2024

Let’s revisit last year’s article on the apps I used in 2023 and see what I changed in 2024.

  • Personal
Article

Testing Bluesky-Powered Comments

After seeing many similar experiments, I am testing a way to show and comment on this blog’s articles using Bluesky network. In the best case, it will make the comment section more …

  • Random
Article

Notes on this Bluesky Moment

In the last couple of months, Bluesky, one of the many post-Twitter attempts to reshape the landscape of social networks, is living its best moment. Powered by Twitter’s blunders …

  • Random
Article

The Changelog – November 2024

It was a more stable month, where I focused on NaNoWriMo and on training my writing muscle once again. I read a lot less, but I still had some good movies and series to recommend.

  • Personal
Article

The Changelog – October 2024

Another month with some wild ups and downs. I spent 5 days in Veneto, and they were wonderful days. I stumbled my way through the rest of the month. I finished the Star Trek: …

  • Personal
Article

The Changelog – September 2024

September was a month of ups and downs. At least, I read a lot of books. I watched Laura, The Post, and a lot of other movies. I listened to prograssive music and I played …

  • Personal
Article

The Changelog – August 2024

Finally, I was able to travel again! I spent four days in Edinburgh, and recharged for the “New Year”. But I also read two books, some wonderful Buñuel movies, and listened to all …

  • Personal
Article

How I use Calibre to manage my physical library

I love Calibre and I love to curate my digital library. But what about my physical books? How do I fill their gaps in my Calibre database? Luckily, there is a very easy way to …

  • Random
Article

The Changelog – July 2024

July was a very annoying month. I was tired, my arm was hurting, and the weather was unbearable. Still, surprisingly, something happened. Three boks, 18 movies, and two games.

  • Personal
Article

Why do we feel retro-computing nostalgia?

Why do we feel attraction for the past? Why do we look at the ‘old web’ with dreaming eyes? Why do we see old protocols and feel the lure of the past? Why do we feel nostalgia for …

  • Random
Article

The Changelog – June 2024

In the last issue, I lamented May’s lack of passion and my inability to connect with anything in particular. In June, instead, I caught up with everything. I got very invested in …

  • Personal
Article

The Changelog – May 2024

May was better than expected. Even if I had to deal with a week of flu. I read two books, watched 36 movies, binged the entire Marvel Cinematic Universe, and listened to a lot of …

  • Personal
Article

The Changelog – April 2024

Let’s see the three books I read in April 2024, the ending of Fallot and Shogun, a beautiful Japanese movie, and a never-ending album with 32 tracks. All that in a slowly declining …

  • Personal
Article

This website will always be open. For bots, too.

In period where everybody seems to care about the use of our content, I decided to take a stance: I will always make my content available to everybody, human and non-human alike. …

  • Artificial Intelligence
Article

The Changelog – March 2024

March flew by in a blink. For good reasons: I had some interesting work projects I focused on, and I spent the rest of the time reading, watching movies, and making music. While …

  • Personal
Article

The Changelog – February 2024

Let’s explore the events from last month! I’ll discuss why I moved my website back to my hosting server, how I watched more movies than I did in the last three years combined, the …

  • Personal
Article

The Changelog – January 2024

This has been a month of ups and downs. I started the year with a flu comeback, and I ended it with a lot of interesting things. I started my movie bucket list, I read the …

  • Personal
Article

The Books I Read in 2023

After another 12 months, I am back with the traditional summary list of the books I read in the previous solar year. So here are my 35 books that I read in 2023.

  • Personal
Article

The Changelog – December 2023

This issue will be another reduced and unconventional one. In fact, as I write this, I am still recovering from a winter flu. It seems to be a 2023 tradition that every time I take …

  • Personal

2023

Article

My Default Apps for 2023

Jumping on the bandwagon of the default apps for 2023 blog trend. What a time to be alive.

  • Personal
Article

The Changelog – November 2023

After the obnoxious events of last October, I had no hope for November. If you recall, I was exhausted, psychologically drained, and quite certain that I would have started …

  • Personal
Article

The Changelog – October 2023

October was supposed to be ”The Month.” After a complicated summer and an awful September, I had my October well planned. It was meant to be filled with things I wanted to do, fun …

  • Personal
Article

The Changelog – September 2023

In early September, I found myself in an emotional slump. For the first time since late 2019, I was overcome by crippling anxiety and disheartenment. It’s not that I hadn’t …

  • Personal
Article

Remove custom tags from SingleFile output

I often use SingleFile to archive the page I like. One day, I’ve found out that Readwise was injecting 2Mb of JavaScript in each page. That is a lot of wasted space. Luckily, there …

  • Random
Article

The Changelog – August 2023

I know, I am late, but I have a good excuse: I was on a short holiday break in my nearby town of Terracina. I had also planned to publish this article on one of those lazy …

  • Personal
Article

How to use ElevenLabs text-to-speech in Unity

ElevenLabs offers the best text-to-speech API on the market, and it is my go-to service when I want to have very good results. I had to add text-to-speech to Unity’s demos a lot of …

  • GameDev
Article

De-Bootstrapping my Blog - Part 2 - Going Mobile

I am writing a series of posts about the development of a new blog theme. In the second part, I describe how I conquered my fears, and implemented a responsive layout and a …

  • Programming
Article

Why I don't do Time Tracking

Time tracking is a popular productivity technique. Many people swear by it as the most effective intentionality tool. However, it never worked for me. It made things worse. Here, I …

  • Workflow
Article

The Changelog – July 2023

Notwithstanding the Sud-European heatwave, I survived. This is already a good result for July, per se. Hailstorms and high-speed winds scourged Northern Italy, while forest fires …

  • Personal
Article

I still not trust Arc

Now that Arc is available without an invitation, many people will try it for the first time. Unfortunately, while I think it is a good browser, I still don’t trust it.

  • Personal
Article

De-Bootstrapping my Blog - Part 1

I am writing a series of posts about the development of a new blog theme. In this first post, I talk about the history of web design (in my experience) and the new best thing in …

  • Programming
Article

The Changelog – June 2023

June was fine. I wish I could express more positive sentiments, but that’s how I feel. It was, however, a big step forward compared to May. Not because I resolved anything (on the …

  • Personal
Article

The Changelog – May 2023

In the previous issue of the Changelog, I mentioned that May is my apathy month: a time when my motivation plummets, my mood darkens, and I become more introverted than usual. …

  • Personal
Article

In Memory of Lotus Organizer

I stumbled upon an old screenshot of my favorite piece of software as a kid: Lotus Organizer. Therefore, I decided to share some old memories.

  • Personal
Article

The Changelog – April 2023

They say that to err is human, but to persist is diabolical. If that’s the case, then I must be the devil himself. April has been grossly underwhelming; I had little motivation, …

  • Personal
Article

The Changelog – March 2023

This damn month. It went fast. It went weird. It went backward but also kinda forward. So it went technically sideways, in the Cambridge Dictionary sense of “something went wrong …

  • Personal
Article

The Changelog – February 2023

There is a little trick I find helpful to get unstuck. Take the one thing you would like to do. Take the smallest related activity that you would consider a goal. Divide that …

  • Personal
Article

Mastodon Revisited

A couple of years ago, I wrote critically about Mastodon. Now, with Twitter pluging into a disgusting shittification, I was exiled on Mastodon. Let’s see where and how my opinion …

  • Personal
Article

The Changelog – January 2023

The first month of the year is always a month of change. However, the mistake is to make it a month of drastic change. First, for once, the months start with the New Year’s Eve …

  • Personal
Article

The books I read in 2022

I believe nothing describes a person better than looking at the books they read. If that list is empty, you already know that you should reconsider that human interaction (unless, …

  • Personal
Article

The Changelog – December 2022

Oh, December. You beautiful cozy lazy month. It is the month in which I delude that I can make 10000 different things, but, instead, I spend all my time reading and being with my …

  • Personal

2022

Article

The Changelog – November 2022

This November has been weird. If I had to describe it, my first instinct would be to say that it felt like slipped time. After all, my emotional status has been all over the place, …

  • Personal
Article

Utility-based AI for Games

Finite-State Machines (FSM) are the bread-and-butter of game AI due to their simplicity (both in implementation and theory) and effectiveness. As such, FSMs are the topic of many …

  • Gamedev
Article

The Changelog – October 2022

It was an October that didn’t look like October: the maximum temperatures never went under 25 °C; it was almost always sunny, and everything looked more like spring than autumn. …

  • Personal
Article

“Matteo squashed a lizard and Davide cried”

In one of my earliest memories, on a warm sunny morning, I am in my school backyard with my teachers and schoolmates. Something catch my attention. On a sidewalk, I see a small, …

  • Philosophy
Article

The Changelog – September 2022

September is the best month. It is the “back to school” month. The time when you sprint into a new season of life. Only that, this time, I think I forgot about that. I still have a …

  • Personal
Article

The Changelog – August 2022

August was my summer vacation month. Therefore I had more time on my hand, some of which had been utterly wasted. In general, though, I think I had a good month of new activities, …

  • Personal
Article

The Freakout-Free Guide to Generative AI

I saw a bit of a heated debate around generative AI and AI art. So this is my “guide” for the general public, where I try to answer some common questions. What is generative AI? …

  • Artificial Intelligence
Article

The Changelog – July 2022

Every time a new month begins, I start looking for something different to do. Something that would create a memorable milestone in the journey of life. Unfortunately, when I reach …

  • Personal
Article

The Changelog – June 2022

This issue came a bit earlier. In fact, tomorrow I’ll be traveling to Athens for work (and fun, I hope), and I’ll be back on July 3rd. So I think it is better to release earlier …

  • Personal
Article

The Changelog – May 2022

Why am I starting again with the monthly changelogs? I constantly have the burning desire to have a place to write something completely free. My blog is mostly about technology, …

  • Personal
Article

Julia Revisited

Years ago, I wrote that Julia failed to reach any reasonable expectation. At the time, development was struggling, and the language had many problems trying to achieve any …

  • Personal
Article

The books I read in 2021

Last year was an excellent year for reading. I’ve read 31 books, totaling almost 10,000 pages: 17 fiction books (way more than last year), 13 non-fiction (as a surprise, because I …

  • Personal

2021

Article

Machine Consciousness is Inevitable

Can a robot become self-conscious? It looks like an interesting question, but it is not: machine consciousness is just inevitable. The true interesting questions are hidden in the …

  • Artificial Intelligence
Article

The Problem with Mastodon and the Fediverse

I tried to jump on the Mastodon train several times; however, I was never really convinced by it. To be honest, I was never really interested in any open-source clone of popular …

  • Random
Article

Use Obsidian's Plugin Responsibly

This is just a reminder for an undesirable side effect of some Obsidian’s Plugin: they make your notes Obsidian-dependent. Here I will describe what is the problem and how can you …

  • Workflow
Article

Exploring the Small Web

I stumbled into the Small Web. A minimal barebone version of the web. It’s a place that remember me of a long gone web. It is the Small Web powered by the Gopher and Gemini …

  • Programming
Article

A simple Event System in TypeScript

Events are an intuitive way to model the execution flows of applications when several modules, each one with complex lifecycles, need to synchronize with each other. In this …

  • Programming
Article

How VSCode's RestClient saved me from Postman

I do not think Postman is bad (in the general sense), but it is the piece of software I hate the most that I need to use on a daily basis. Well, not anymore! I’ve recently found …

  • Programming
Article

Will Zig be the "sweet spot" I am looking for?

Let’s continue our exploration of novel kinda-low-level languages. After a quick exploration of Crystal, it is time to look at another language that is constantly popping up on my …

  • Programming
Article

Will Crystal be the "sweet spot" I am looking for?

The Crystal programming language recently reached version 1.0. As a modern compiled language, it caught my attention. It is time to spend some time playing with it to have a better …

  • Programming
Article

The Grammar of Game Design

Game Design is a kind of language. It has basic elements, it has rules, and we use it to express specific sensations. Therefore, as a language, it has a proper grammar with its …

  • GameDev

2020

Article

Property-Based Testing in Typescript with Fast-Check

Property-based testing is probably the thing I missed the most from my time working with Haskel. It is such an elegant way of testing functionalities that it is hard to not use it. …

  • Programming
Article

The Trolley Cart Problem is not an AI problem

Every time there is a discussion on the future of AI-powered Autonomous Vehicles, somebody put the Trolley Cart Problem (TCP) on the table. And every time this happens, I am …

  • Artificial Intelligence
Article

Five Tabletop Games for Creating Stuff

We already know that Procedural Content Generation (PCG) is a masterful tool for building games. But can PGC become a game by itself? This seems a silly question at first. After …

  • Gamedev
Article

And so you want to choose a Fantasy Console

Making a game on a Fantasy Console is one of the best activity for any game development enthusiast. This small, curated, nostalgic “emulators” for consoles that never existed can …

  • Gamedev
Article

The Great Convergence of AAA Games

Let’s be honest: nowadays, almost every AAA game looks the same. They are all action games with RGP elements and a crafting system and some kind of open world. It is almost like …

  • GameDev
Article

How to convert a Java/Spring project to Kotlin

In the last week I converted a medium-sized legacy Java/Spring codebase to Kotlin. In this article I’ll discuss the pro and the challenges I faced during this transition.

  • Programming
Article

My First Deno Experiment

This is another not-requested opinion on Deno! But what can I do? When I read “node replacement,” “TypeScript,” and “Rust,” I lose any inhibition. Therefore, I ported to Deno an …

  • Programming
Article

Overwhelmed by your workflow? Reset it.

Productivity and organization workflows can quickly become addictive. If you like apps and all that comes with them, your workflows can snowball out of control. I run into this …

  • Workflow
Article

How to Export your Kindle Highlights

This is a quick article to share a very surprising and beautiful thing I discovered today: it is possible to request a PDF with all your Kindle’s highlights directly from the …

  • Workflow
Article

Overview of Three Techniques for Procedural Storytelling

Inspired by a recent paper I read this week, I decided to explain the three major “classic solutions” to the generative storytelling problem: Simulation, Planning, and Context-Free …

  • Artificial Intelligence
Article

My favorite Visual Studio Code extensions

Visual Studio Code is my editor of choice. I started with it because of the top-notch TypeScript integration, and then I stuck with it for all the rest (all but for big projects in …

  • Programming
Article

What makes a story a good story

At the beginning of January, I put my hands on a dirty cheap Play Station 4 because, in the new house, I have no space for a gaming PC. Since then, I decided to make up for a bunch …

  • GameDev
Article

Marginalia: Rebooting AI by Gary Marcus and Ernest Davis

With this new year, let’s try a new format. Marginalia will be a series in which I’ll share notes and comments on interesting books I read. The name is directly inspired by the old …

  • Artificial Intelligence

2019

Article

Unity Game Optimization is now available!

The new edition of Unity Game Optimization is finally out! I already announced that in my December monthly update, but I think it is worth to spend a bit more words on it.

  • GameDev
Article

December 2019 Update

This update is in huge delay. I am sorry, but this November, especially the last couple of weeks have been hectic and expensive. Now that I have a bit of time, I should really …

  • Personal
Article

November 2019 Update

What a horrible October; I feel I am psychologically destroyed, and I am all over the places. Fortunately, I have good news too. 👻

  • Personal
Article

Apple Arcade made my mobile gaming fun again

It is about a month that I am trying Apple Arcade on my iPad. During this month, I realized that it made my iPad a totally legitimate gaming platform. I had zero games on my phone …

  • GameDev
Article

The Subscription Model Fatigue

Unlike many, I am usually fine with the subscription model: I understand why it is useful for the developers and I think that, if priced correctly, it is not bad for the users for …

  • Random
Article

October 2019 Update

September has been sweet and kind to me; but also harsh and challenging. Nevertheless, it is October and under pumpkins 🎃 and ghosts 👻, I am still here for a monthly update. About …

  • Personal
Article

September 2019 Update

September is the true “new year”. Summer vacations are usually over, and we are ready to start a new powerful working season. So why I feel more tired than before?

  • Personal
Article

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 …

  • Math
Article

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 …

  • Programming
Article

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 …

  • Personal
Article

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 …

  • GameDev
Article

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 …

  • Personal
Article

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 …

  • Artificial Intelligence
Article

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 …

  • Programming
  • Advanced
Article

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 …

  • Personal
Article

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 …

  • Programming
Article

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 …

  • Math
Article

May 2019 Update

April has been strange. It has been a month of festivities, rain, and food: a lot of it. But it has also been a month that felt very fast and yet swamped. I did a lot in April, and …

  • Personal
Article

Boardgames may be good for your mental health

As developers — especially game developers — we are naturally attracted to digital games: after all, video games are what we do; right? We are immersed in that world, we thrive for …

  • Personal
Article

April 2019 Update

Luck is not on my side. I went to Milan for business, I’ve got the flu and stayed in the hotel room for the entire week. Is this a glorious waste of time and money? Probably. …

  • Personal
Article

Game Design: Gathering Quests Sucks

Some years ago I was playing one of those big AAA games, an epic RPG saga, a staple of single player games. While I was leading my army against the forces of evil, in one of the …

  • GameDev
Article

March 2019 Update

This month I am a bit late; I have good reasons! A lot of things happened in between the end of February and the begin of March. So, it is better not to lose more time.

  • Personal
Article

The time I forgot how to relax

It was the summer of 2018. I was a bit burnt out by a mix of anxiety, work and a bloody hot week. So, I decided to go to my parent’s mountain house. The plan was straightforward: …

  • Personal
Article

February 2019 Update

Here we are again on this monthly update in which I talk about everything and nothing — a small summary of what I am doing, arranging and brewing, both on tech than in life.

  • Personal
Article

Small introduction to Random Walking

Random Walking is a handy technique to have in your gamdev toolbelt and - despite the name - it is most useful for everything but actual walking. With random walking, we define the …

  • GameDev

2018

Article

Quick Look at F# in Unity

I am a functional-oriented developer. I have a bit of expertise in game development, especially in Unity 3D. It comes naturally that I am interested in the obvious link between the …

  • GameDev
  • Programming
Article

My take on the reproducibility of academic papers

In these days I am reviewing CIG papers. At the moment, I am not active in academia, but I enjoy being around in the community. Even if only with this “simple” tasks. This, …

  • Academic
Article

[Link] Go: the Good, the Bad and the Ugly

My opinion is that talking about languages is usually a very unproductive use of time. If these discussions are just cat fights, then it is even worse. Unless you are a language …

  • Programming
Article

Game Design: Taxonomy of Fishing Mini-games

Fishing is probably the most common mini-game in gaming history. Before I started working on this article, I never realized how many games include a fishing as mini-game. The list …

  • GameDev
Article

The State of Game Development in Rust

Game Development is one of the fields in which Rust can gain a lot of traction. As a modern compiled language with performances comparable to C++, Rust can finally free us from the …

  • GameDev
  • Programming
Article

MovingAI pathfinding benchmark parser in Rust

You know I worked a lot with pathfinding. In academia, the MovingAI benchmark created by the MovingAI Lab of the University of Denver is a must for benchmarking pathfinding …

  • Academic
  • Artificial Intelligence
Article

Choosing between Behavior Tree and GOAP (Planning)

I would like to expand the answer I gave on /r/gamedesign some days ago. The main point of the question was: how can I decide if it “better” to implement the decision-making layer …

  • GameDev
Article

GameDesign Math: RPG Level-based Progression

Level-based progression is an extremely popular way of providing the player with the feeling of “getting stronger.” The system is born with Role-Playing Games (RPG), but it is …

  • GameDev
Article

Small rant about "blockchain" overuse

A lot of startups are using “blockchain” as a replacement hyped word for “distributed database”. Well, a blockchain is the most inefficient and slow “distributed database” ever …

  • Programming
Article

How to add a logo in Rust documentation

Note: This article has not been updated in the last 2 years. The information may be outdated. One of the feature I like the most on Rust is automatic documentation. Documentation …

  • Programming

2017

Article

The Most Promising Programming Languages for 2018

This is the time of the year in which I propose 5 emerging/new languages that you should keep an eye on the next year. I’ve done it last year, and the year before, and the year …

  • Programming
Article

Preserving a Cryptography book from 1897

Some time ago I found on my grandma’s house an old Italian book on cryptography from 1897. Why a 120 years old book on cryptography was on my grandma house, is a mystery. I’d like …

  • Programming
Article

NaNoWriMo 2017 in Stats

This year I joined and won the NaNoWriMo challenge: write 50000 words for a novel in 30 days. I did it. Now the nerd side need to splat on this page all the accumulated stats. The …

  • Random
Article

Procedural Calendar Generation & Lunar Phases

Here we are again! This is Part 3 of a small series on how to randomly generate a physically accurate calendar starting from planet’s orbital parameters. You can find the general …

  • GameDev
Article

Seasons Generation from Orbital Parameters

Welcome back to part 3 of the Procedural Calendar Generation series. In the first part we looked on how to compute celestial body position in a simple two-body system. The second …

  • GameDev
Article

Not every classification error is the same

In this article, I would like to talk about a common mistake new people approaching Machine Learning and classification algorithm often do. In particular, when we evaluate (and …

  • Artificial Intelligence
Article

Cuphead is not "hard"

During the last few weeks, I’ve seen over and over people saying that Cuphead is hard. That it is brutal. That is the “dark souls of the side shooter”. For this reason, before this …

  • GameDev
Article

A Dwarf Fortress calendar in PureScript + Halogen

My last week project involves PureScript and Halogen and the Dwarf Fortress calendar. I wanted to give a first-hand experience with some pure functional language for web front-end …

  • Programming
Article

Crash course on basic ellipse geometry

Because I started a small series about astronomical algorithms and the magic of math in space, I think we need to cover an important prerequisite. In the series, I will talk a lot …

  • Math
Article

WordPress abandoning React: a Facebook horror story

Today, during my daily web crawling, I found this article by Matt Mullenweg. I will not dwell in details, you can read the full story in the linked post. But I try to give you the …

  • Programming
Article

Looking at the path so far...

Now that I finally completed my PhD studies, I started rethinking about my path up here. This is a path I started a long time ago. For some reason, this was the path I traced for …

  • Random
Article

Minimized Cave Generation with Cellular Automata

Yesterday I wrote a cellular automaton based procedural caves generator algorithm that fits in a business card. The algorithm itself is not new. I already did it in C++, Rust, …

  • Programming
Article

Typescript Unit Test for Web Applications

You know, I quite enjoy TypeScript. It is not my favorite language ever, I am more a functional type of guy, but it is the best way to bring order into the JavaScript mess without …

  • Programming
Article

How to build rusqlite on Windows

Note: This article has not been updated in the last 2 years. The information may be outdated. Yesterday I spent way more time than needed for compiling this dependency on Windows. …

  • Programming
Article

Any news from Clojure front?

Some days ago, I was cleaning my Code folder from old snippets and test projects when I found an old Clojure package I did to test some Clojure feature. I remember that I kept the …

  • Programming

2016

Article

Most Promising Programming Languages of 2017

Another year, another 5 promising programming languages you should keep an eye on in 2017. As usual, I’d like to write the warning I put here every year: in this list, you will not …

  • Programming
Article

PCG without a Computer: Combinatorial Literature

For us computer scientists and game developers, Procedural Content Generation is directly connected with computers and algorithms. It seems such a modern thing! In reality, the …

  • GameDev
Article

How to manage a Videogames Bibliography in LaTeX

There is a common question in academia for people working on videogames: “Is there a consensus on how to cite videogames in academic papers?”. Obviously not, there is no consensus …

  • Academic
  • GameDev
Article

THREE.js Shader Loading from External File

As usual, trying to nicely separate into different files the various application parts in JavaScript is a titanic challenge. This time, I wanted to separate the “.frag” and “.vert” …

  • GameDev
Article

Announcement: Procjam's Seed #1

This is just a small announcement. Some days ago the first issue of Seed, the official ProcJam magazine, has been released. If you are interested in procedural generation you …

  • Uncategorized
Article

How to build a Telegram SpyBot

Internet/Tech literate people continuously talk about privacy. The majority of people, however, do not care. This is hard to digest for the first group of people, but it is the …

  • Programming
Article

Procedural Generation in the Post No Man's Sky Era

I think the time is ready to talk about Procedural Contents Generation (PCG) in the post No Man’s Sky era. I’m talking about “era” for a good reason: No Man’s Sky huge failure will …

  • GameDev
Article

Python for Practical Statistics

These days were a bit busy. I want to break the silence with an interesting link to a video. This is an interesting and fun to watch talk coming from the last PyCon. It talks …

  • Programming
Article

On Designing Games for Infinite Players

When you design a game, one of the most important aspect to take into account is the number of players. Games can be designed for a single player, two players, four players or …

  • GameDev
Article

On the procedural generation of a proto-language

As you probably know, last week I was at the DiGRA-FDG conference in Dundee, Scotland. The conference ended last week, but I have the urge to add something to a really interesting …

  • Academic
  • GameDev
Article

Back from Nucl.ai 2016: A small report

I’m back! During the last week, I had a beautiful experience as a volunteer at the Nucl.ai 2016 conference, one of the nicest Game AI related conferences in Europe. I like this …

  • Academic
  • GameDev
Article

My view on Elixir and Clojure

Elixir and Clojure are two uprising and fun functional languages. As you know, I talked about both of them in the article on the most promising languages of 2016, and, in fact, …

  • Programming
Article

TypeScript Binary Heap

Yesterday I converted a Binary Heap data structure in TypeScript. The original code is here, in the Eloquent JavaScript online book by Marijn Haverbeke. In short, a Binary Heap is …

  • Programming
Article

Game Design Essentials: Single Button Controls

I hope you agree with me: controls are the true essence of every game. Sometimes, controls schemes are enough to define the game itself: once you decide the game controls …

  • GameDev
Article

How to generate passphrases with an RPG Dice Set

Times ago, I was reading something on numerical systems and password generators and I find myself discovering Diceware, a system for generating a passphrase using several 6-side …

  • Math
Article

You need to decide your decisions

If there is something that I learned from my daily struggle with procrastination, is that every day you just have a limited amount of decisions. Every day, you can only do 5, 8, …

  • Random
Article

Inventory-Aware Pathfinding - Part 1

Everybody know what pathfinding is. I don’t think I have to explain to a game developers audience why pathfinding is so important in games. If something in your game is moving not …

  • Academic
  • GameDev
Article

The Primes Ancestor Tree

This will be just a small theoretical article on the Primes Ancestor Tree. We will explore the possibility to label a generic tree in such way that it will be possible to verify if …

  • Math
Article

How to use Rust in Python (Part 3)

Note: This article has not been updated in the last 2 years. The information may be outdated. You can follow the links to read the first part and the second part of this series. …

  • Programming
Article

How to use Rust in Python (Part 2)

You can find the first part of this article HERE. In the previous part we have seen how to run simple Rust functions with integer arguments. This is not enough, of course. We need …

  • Programming
Article

How to use Rust in Python (Part 1)

Note: This article has not been updated in the last 2 years. The information may be outdated. Rust is an amazing language. It is one of the best potential alternatives to C and …

  • Programming
Article

Convert images to MovingAI maps

The MovingAI Benchmark Database is one of the most famous collections of maps for benchmark on pathfinding algorithms. I use it a lot during my work, it is useful to test an …

  • GameDev
  • Programming
Article

Research Code vs. Commercial Code

Since the beginning of my working life, I was torn between my researcher and software developer self. As a software development enthusiast, during my experience as a Ph.D. student, …

  • Programming
Article

Postmortem: Writer's Block - 1GAM January

The first month of the year is gone and I’ve made a game! The January 2016 entry of 1GAM, namely “Writer’s Block”, is now completed (kind of)! January 2016 has been a great start …

  • GameDev
Article

Fast (Approximated) Moving Average Computation

Computing the Moving Average of a sequence is a common task in games (and other applications). The motivation is simple: if something happened too far in the past, probably it does …

  • GameDev
  • Programming

2015

Article

YoshiX: Experiments made easy

Some months ago, I was frustrated by the monotony of the task of writing, running and collecting data from experiments. I was bored of facing always the same challenges, writing …

  • Programming
Article

The most promising languages of 2016

It is time to update one othe most popular article in this blog. It is time to talk about the most promising languages of 2016! But first, let me repeat the small notice I did the …

  • Programming
Article

The Challenge of Infinite Space

A.K.A. why Elite: Dangerous, Star Citizen and No Man’s Sky could be doomed to fail Since the beginning of the videogame era, developers aim to reach a perfect simulation of the …

  • GameDev
Article

How to design a Pokémon-like Combat System

The Combat System is one of the main gameplay element in a game. Of course there are a lot of games without “combat”: puzzles, simulation games, driving games and so on. However …

  • GameDev
Article

When cheating with a robot is really cheating?

Hi guys. I wrote a small reflection on the future of Artificial Intelligence. The question is always the same: when would we consider a robot as a “living beings” with …

  • Random
Article

A Month of Writing: August 2015

A month ago I started questioning my ability to stay focused on thing I like. Kill the procrastination monkey is the first thing to achieve any goal in life and I felt that I was …

  • Random
Article

Boost Hierarchical Pathfinding with Extended Graphs

As you may already know if you follow me on Twitter (why not?), I often work with pathfinding. This thing started as a small side quest during my Ph.D. and then grew up to become …

  • GameDev
  • Programming
Article

Bacon Game Jam 09: Back in Business

Hi everyone! I’m here to tell you the story of my last game jam: the Bacon Game Jam 09. It was a long time since my last game jam (and my game-dev stuff in general). I was a bit …

  • GameDev
Article

Procedural Contents Generation in Modern Videogames

8th September 2016 Update: I uploaded these slides on SlideShare. You can see them here. Hi guys! In the last month I’ve prepared a presentation on Procedural Contents Generation …

  • Academic
  • GameDev
Article

Weekly Inspirational #2

Here we are again! For five brand new inspirational articles found on the web (mostly on Reddit to be honest, but who care). This time we will see a lot of Procedurally Contents …

  • GameDev
  • Programming
Article

Weekly Inspirational #1

Stay inspired during the boring working week is the best way to fight procrastination and stay on board of the “do-stuff” train. There is nothing better than looking at a creative …

  • Programming
Article

Javascript is not so bad, after all

I have to admit it. I was a big Javascript hater. I used to criticize the language on every possible aspect: syntax, maintainability, error prevention and management, and so on. …

  • Programming
Article

Debug with Git Binary Search

I don’t think I have to spend too many words on Git. Every programmer who was not on the moon in the last 5 years should already be a proficient Git user. Git is an amazing, …

  • Programming
Article

Never underestimate a smooth workflow

To be productive, you have to be constant. To be constant, you have to be organized. To be organized, you have to be happy about what are you doing. This are three simple rules …

  • Programming
Article

Quadarto: a didactic project in Haskell

The last week I spent some time build a small tool for abstracting an image into a mosaic, for fun. To do this I’ve used Haskell, of course. However, this is my first “complete” …

  • Programming
Article

The definitive guide to start with ClojureScript

Yesterday, while my working machine was crunching tons of numbers, graphs and maps to produce some (hopefully) meaningful data for a research work, I was looking for a simple guide …

  • Programming
Article

My peek on Atom

People who know me already know: I’m a tool maniac. I can spend hours searching for the perfect configuration of keys, plugins, colors, themes, debugging tools and so on, and …

  • Programming
Article

Global Game Jam 2015 Postmortem

First of all, some time ago I stated that I would like to start writing more. Unfortunately, a combination of personal issues, flu and other psychological breaks did not allow me …

  • GameDev
Article

The most promising languages of 2015 - Part 2

UPDATE: There is a new version of this article for 2016! In the the previous post we have seen what are the general trends of the previous year with regard to the fascinating world …

  • GameDev
Article

The most promising languages of 2015 - Part 1

UPDATE: There is a new version of this article for 2016! At the very beginning of a new year, it is customary to try to predict what will happen in the future. That is the selling …

  • Programming
Article

One Game A Month - December 2014

The new year is come, full of good resolutions and appealing feelings of renovation. For my part I have two main target. The first one is to write a bit more. I always feel that I …

  • GameDev

2014

Article

LowPoly in Blender

Recently I started exploring the low poly modeling in Blender. Well, there is this guy on youtube that is simply amazing. I really love his work and I’d suggest to watch his …

  • GameDev
Article

On developer anxiety

You are finally back home. During your work day your mind was totally a volcano of creativity. You have so many cool ideas to implement (or at least to sketch). You go to your …

  • Programming
Article

Random Maps with Cellular Automata

In the spirit of the ProcJam2014 (that unfortunately I have to skip because of a ton of academic duties :<) I’m presenting to you a simple algorithm to generate maps: the cellular …

  • GameDev
Article

Towards the ProcJam 2014

Procedural Contents Generation (PCG) is a family of techniques, algorithms and procedures used for generating contents in an automatic way rather than manually. In other words, …

  • GameDev
Article

Back from AIIDE 2014

Hi everyone! Sorry for the long absence but my days are really full of commitments and terrible news. It is still not over, but but I really need write about something before is …

  • Academic
Article

Speccy Jam 2014 Postmortem

As I said in a previous post, in these days me and my colleague at Noctua were working in the SpeccyJam 2014. The goal of the jam/competition is to make a game with the same look …

  • GameDev
Article

Random Goblin Name Generator

Hi everyone. In these days, me and my friend and colleague at Noctua (EDIT: we don’t have a webpage anymore) are working at a new game jam: the SpeccyJam. The goal of this jam is …

  • GameDev
Article

Back from ECAI 2014

Hi everyone! I’m back. In the last week I was in Prague to attend to the 21th European Conerence on Artificial Intelligence (a.k.a. ECAI2014). This was my first real academic …

  • Academic
Article

Lazy, Bloody Summer (starting again)

I don’t know if my life is starting to be more interesting or just more hard. Anyhow, in this bloody hot August summer I really feel the need to recollect my digital goods and …

  • Random