<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href="/styles/rss-style.xsl" type="text/xsl"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us"><generator uri="https://gohugo.io/" version="0.157.0">Hugo</generator><title type="html">Davide Aversa</title><link href="https://www.davideaversa.it/index.xml" rel="self" type="application/atom+xml" title="atom"/><link href="https://www.davideaversa.it/" rel="alternate" type="text/html" title="html"/><link href="https://www.davideaversa.it/index.json" rel="alternate" type="application/json" title="json"/><updated>2026-03-01T14:57:17+01:00</updated><logo>https://www.davideaversa.it//images/logo.svg</logo><icon>https://www.davideaversa.it/favicon.svg</icon><author><name>Davide Aversa</name></author><id>https://www.davideaversa.it/index.xml</id><entry><title type="html">The Changelog – February 2026</title><link href="https://www.davideaversa.it/blog/changelog-february-2026/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-july-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2025"/><link href="https://www.davideaversa.it/blog/changelog-june-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2025"/><link href="https://www.davideaversa.it/blog/changelog-january-2026/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2026"/><link href="https://www.davideaversa.it/blog/changelog-december-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2025"/><link href="https://www.davideaversa.it/blog/changelog-november-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2025"/><id>https://www.davideaversa.it/blog/changelog-february-2026/</id><author><name>Davide Aversa</name></author><published>2026-03-01T14:42:46+01:00</published><updated>2026-03-01T14:42:46+01:00</updated><content type="html">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 always short on time, and I never learn my lesson. I didn’t learn it even this time. Still, in the end, I have still something to show off. -- &lt;a href="https://www.davideaversa.it/blog/changelog-february-2026/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Problem With Measuring AI Productivity</title><link href="https://www.davideaversa.it/bytes/202602031610-the-problem-with-measuring-ai-productivity/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/bytes/202602031610-the-problem-with-measuring-ai-productivity/</id><author><name>Davide Aversa</name></author><published>2026-02-03T16:10:13+01:00</published><updated>2026-02-03T16:10:13+01:00</updated><content type="html">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 techniques, making it difficult to draw meaningful conclusions. So, let me share my personal opinion. -- &lt;a href="https://www.davideaversa.it/bytes/202602031610-the-problem-with-measuring-ai-productivity/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/ai" term="ai" label="AI"/><category scheme="https://www.davideaversa.it/tags/productivity" term="productivity" label="Productivity"/><category scheme="https://www.davideaversa.it/tags/software-development" term="software-development" label="Software Development"/></entry><entry><title type="html">The Changelog – January 2026</title><link href="https://www.davideaversa.it/blog/changelog-january-2026/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-december-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2025"/><link href="https://www.davideaversa.it/blog/changelog-november-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2025"/><link href="https://www.davideaversa.it/blog/changelog-october-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2025"/><link href="https://www.davideaversa.it/blog/changelog-september-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2025"/><link href="https://www.davideaversa.it/blog/changelog-august-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2025"/><id>https://www.davideaversa.it/blog/changelog-january-2026/</id><author><name>Davide Aversa</name></author><published>2026-02-01T11:34:33+01:00</published><updated>2026-02-01T11:34:33+01:00</updated><content type="html">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 a cat now. -- &lt;a href="https://www.davideaversa.it/blog/changelog-january-2026/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Hyperdigestion of Modern Media</title><link href="https://www.davideaversa.it/blog/the-hyperdigestion-of-modern-media/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/time-forgot-how-relax/?utm_source=atom_feed" rel="related" type="text/html" title="The time I forgot how to relax"/><link href="https://www.davideaversa.it/blog/bluesky-notes/?utm_source=atom_feed" rel="related" type="text/html" title="Notes on this Bluesky Moment"/><link href="https://www.davideaversa.it/blog/hades-case-study-storytelling-roguelike-games/?utm_source=atom_feed" rel="related" type="text/html" title="Hades: a case study in storytelling for roguelike games"/><link href="https://www.davideaversa.it/blog/convergence-aaa-games/?utm_source=atom_feed" rel="related" type="text/html" title="The Great Convergence of AAA Games"/><link href="https://www.davideaversa.it/blog/swift-announces-official-windows-support/?utm_source=atom_feed" rel="related" type="text/html" title="Swift announces official Windows support — maybe too late"/><id>https://www.davideaversa.it/blog/the-hyperdigestion-of-modern-media/</id><author><name>Davide Aversa</name></author><published>2026-01-09T17:43:48+01:00</published><updated>2026-01-09T17:43:48+01:00</updated><content type="html">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 and analyze it. In doing so, we lose the ability to let a piece of media filter through our minds and become part of us. -- &lt;a href="https://www.davideaversa.it/blog/the-hyperdigestion-of-modern-media/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/philosophy" term="philosophy" label="Philosophy"/><category scheme="https://www.davideaversa.it/tags/media" term="media" label="media"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/><category scheme="https://www.davideaversa.it/tags/social-media" term="social-media" label="social media"/><category scheme="https://www.davideaversa.it/tags/society" term="society" label="society"/></entry><entry><title type="html">Why I Quit Mastodon in 2026</title><link href="https://www.davideaversa.it/bytes/202601061843-why-i-quit-mastodon-in-2026/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/mastodon-revisited/?utm_source=atom_feed" rel="related" type="text/html" title="Mastodon Revisited"/><link href="https://www.davideaversa.it/blog/bluesky-notes/?utm_source=atom_feed" rel="related" type="text/html" title="Notes on this Bluesky Moment"/><link href="https://www.davideaversa.it/blog/problem-mastodon-fediverse/?utm_source=atom_feed" rel="related" type="text/html" title="The Problem with Mastodon and the Fediverse"/><link href="https://www.davideaversa.it/blog/default-apps-2024/?utm_source=atom_feed" rel="related" type="text/html" title="My Default Apps for 2024"/><link href="https://www.davideaversa.it/blog/default-apps-2023/?utm_source=atom_feed" rel="related" type="text/html" title="My Default Apps for 2023"/><id>https://www.davideaversa.it/bytes/202601061843-why-i-quit-mastodon-in-2026/</id><author><name>Davide Aversa</name></author><published>2026-01-06T18:48:46+01:00</published><updated>2026-01-06T18:48:46+01:00</updated><content type="html">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. -- &lt;a href="https://www.davideaversa.it/bytes/202601061843-why-i-quit-mastodon-in-2026/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/mastodon" term="mastodon" label="mastodon"/><category scheme="https://www.davideaversa.it/tags/activitypub" term="activitypub" label="activitypub"/><category scheme="https://www.davideaversa.it/tags/fediverse" term="fediverse" label="fediverse"/></entry><entry><title type="html">The Changelog – December 2025</title><link href="https://www.davideaversa.it/blog/changelog-december-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-november-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2025"/><link href="https://www.davideaversa.it/blog/changelog-october-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2025"/><link href="https://www.davideaversa.it/blog/changelog-september-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2025"/><link href="https://www.davideaversa.it/blog/changelog-august-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2025"/><link href="https://www.davideaversa.it/blog/changelog-july-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2025"/><id>https://www.davideaversa.it/blog/changelog-december-2025/</id><author><name>Davide Aversa</name></author><published>2026-01-03T13:03:51+01:00</published><updated>2026-01-03T13:03:51+01:00</updated><content type="html"><![CDATA[This monthly edition is shorter than usual, as I spent most of my time revising my second novel-length story, doing this year&rsquo;s <a href="https://adventofcode.com">Advent of Code</a>, and living the Christmas atmosphere. -- <a href="https://www.davideaversa.it/blog/changelog-december-2025/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – November 2025</title><link href="https://www.davideaversa.it/blog/changelog-november-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-october-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2025"/><link href="https://www.davideaversa.it/blog/changelog-september-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2025"/><link href="https://www.davideaversa.it/blog/changelog-august-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2025"/><link href="https://www.davideaversa.it/blog/changelog-july-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2025"/><link href="https://www.davideaversa.it/blog/changelog-june-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2025"/><id>https://www.davideaversa.it/blog/changelog-november-2025/</id><author><name>Davide Aversa</name></author><published>2025-12-01T12:22:33+01:00</published><updated>2025-12-01T12:22:33+01:00</updated><content type="html"><![CDATA[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 last two books from the Dungeon Crawler Carl series, watched Del Toro&rsquo;s Frankenstein and another bunch of James Bond movies. And an important news: after 2 years, I finally started Baldur&rsquo;s Gate 3. -- <a href="https://www.davideaversa.it/blog/changelog-november-2025/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Golden Rule of Using AI Agents</title><link href="https://www.davideaversa.it/bytes/202511121732-the-golden-rule-of-using-ai-agents/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/why-no-time-tracking/?utm_source=atom_feed" rel="related" type="text/html" title="Why I don't do Time Tracking"/><link href="https://www.davideaversa.it/blog/overwhelmed-by-your-workflow-reset-it/?utm_source=atom_feed" rel="related" type="text/html" title="Overwhelmed by your workflow? Reset it."/><link href="https://www.davideaversa.it/blog/it-is-okay-vibecode/?utm_source=atom_feed" rel="related" type="text/html" title="It Is Okay to “Vibecode”"/><link href="https://www.davideaversa.it/blog/need-decide-decisions/?utm_source=atom_feed" rel="related" type="text/html" title="You need to decide your decisions"/><link href="https://www.davideaversa.it/blog/on-the-developer-anxiety/?utm_source=atom_feed" rel="related" type="text/html" title="On developer anxiety"/><id>https://www.davideaversa.it/bytes/202511121732-the-golden-rule-of-using-ai-agents/</id><author><name>Davide Aversa</name></author><published>2025-11-12T17:32:03+01:00</published><updated>2025-11-12T17:32:03+01:00</updated><content type="html"><![CDATA[<p>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). However, I am not blind, and I owe my satisfaction with AI agents to a strict mental model and practice.</p>
<p>If you are not a software developer and you use AI to jam together personal scripts for yourself, do not worry, <a href="https://www.davideaversa.it/blog/it-is-okay-vibecode/">you can do as you want</a>. If you are using them to learn something, don&rsquo;t worry either.</p> -- <a href="https://www.davideaversa.it/bytes/202511121732-the-golden-rule-of-using-ai-agents/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/ai-agents" term="ai-agents" label="ai-agents"/><category scheme="https://www.davideaversa.it/tags/programming" term="programming" label="programming"/><category scheme="https://www.davideaversa.it/tags/productivity" term="productivity" label="productivity"/></entry><entry><title type="html">The Changelog – October 2025</title><link href="https://www.davideaversa.it/blog/changelog-october-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-september-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2025"/><link href="https://www.davideaversa.it/blog/changelog-august-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2025"/><link href="https://www.davideaversa.it/blog/changelog-july-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2025"/><link href="https://www.davideaversa.it/blog/changelog-june-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2025"/><link href="https://www.davideaversa.it/blog/changelog-may-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2025"/><id>https://www.davideaversa.it/blog/changelog-october-2025/</id><author><name>Davide Aversa</name></author><published>2025-11-01T13:03:55+01:00</published><updated>2025-11-01T13:03:55+01:00</updated><content type="html"><![CDATA[October felt like it lasted a week. Still, it was a nice, cozy month. In this article we&rsquo;ll talk about the fifth chapter of the Dungeon Crawler Carl series, two non-gory horror movies, another AOR album, and my experience with <em>Ghost of Yotei</em> -- <a href="https://www.davideaversa.it/blog/changelog-october-2025/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – September 2025</title><link href="https://www.davideaversa.it/blog/changelog-september-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-august-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2025"/><link href="https://www.davideaversa.it/blog/changelog-july-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2025"/><link href="https://www.davideaversa.it/blog/changelog-june-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2025"/><link href="https://www.davideaversa.it/blog/changelog-may-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2025"/><link href="https://www.davideaversa.it/blog/changelog-april-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2025"/><id>https://www.davideaversa.it/blog/changelog-september-2025/</id><author><name>Davide Aversa</name></author><published>2025-10-01T12:31:22+02:00</published><updated>2025-10-01T12:31:22+02:00</updated><content type="html">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 the Three-Body Problem trilogy. I watched High and Low and The Phantom of the Opera, and I will share my connection I Love My Computer by Ninajirachi. Finally, my two cents about Silksong. -- &lt;a href="https://www.davideaversa.it/blog/changelog-september-2025/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – August 2025</title><link href="https://www.davideaversa.it/blog/changelog-august-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-july-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2025"/><link href="https://www.davideaversa.it/blog/changelog-june-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2025"/><link href="https://www.davideaversa.it/blog/changelog-may-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2025"/><link href="https://www.davideaversa.it/blog/changelog-april-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2025"/><link href="https://www.davideaversa.it/blog/changelog-march-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2025"/><id>https://www.davideaversa.it/blog/changelog-august-2025/</id><author><name>Davide Aversa</name></author><published>2025-09-01T16:27:45+02:00</published><updated>2025-09-01T16:27:45+02:00</updated><content type="html"><![CDATA[August was a month of recharging. I spent a week in the mountains and reconnected with myself. In this month&rsquo;s issue: my first taste of <em>litRPG</em>, a Japanese movie about food, multiple Ulysses, and two progressive rock Ukrainian albums. -- <a href="https://www.davideaversa.it/blog/changelog-august-2025/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">Review your week like a chess game</title><link href="https://www.davideaversa.it/blog/review-your-week-like-in-chess/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/use-obsidian-plugin-responsibly/?utm_source=atom_feed" rel="related" type="text/html" title="Use Obsidian's Plugin Responsibly"/><link href="https://www.davideaversa.it/bytes/202508181825-movie-posters-grid-in-obsidian-with-dataview/?utm_source=atom_feed" rel="related" type="text/html" title="Movie Posters Grid in Obsidian With Dataview"/><link href="https://www.davideaversa.it/blog/default-apps-2024/?utm_source=atom_feed" rel="related" type="text/html" title="My Default Apps for 2024"/><link href="https://www.davideaversa.it/blog/changelog-february-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2024"/><link href="https://www.davideaversa.it/blog/default-apps-2023/?utm_source=atom_feed" rel="related" type="text/html" title="My Default Apps for 2023"/><id>https://www.davideaversa.it/blog/review-your-week-like-in-chess/</id><author><name>Davide Aversa</name></author><published>2025-08-24T18:53:46+02:00</published><updated>2025-08-24T18:53:46+02:00</updated><content type="html">For the last year, I&amp;rsquo;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 could share it with you. -- &lt;a href="https://www.davideaversa.it/blog/review-your-week-like-in-chess/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/workflow" term="workflow" label="Workflow"/><category scheme="https://www.davideaversa.it/tags/workflow" term="workflow" label="workflow"/></entry><entry><title type="html">Movie Posters Grid in Obsidian With Dataview</title><link href="https://www.davideaversa.it/bytes/202508181825-movie-posters-grid-in-obsidian-with-dataview/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/use-obsidian-plugin-responsibly/?utm_source=atom_feed" rel="related" type="text/html" title="Use Obsidian's Plugin Responsibly"/><link href="https://www.davideaversa.it/blog/default-apps-2024/?utm_source=atom_feed" rel="related" type="text/html" title="My Default Apps for 2024"/><link href="https://www.davideaversa.it/blog/changelog-february-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2024"/><link href="https://www.davideaversa.it/blog/default-apps-2023/?utm_source=atom_feed" rel="related" type="text/html" title="My Default Apps for 2023"/><id>https://www.davideaversa.it/bytes/202508181825-movie-posters-grid-in-obsidian-with-dataview/</id><author><name>Davide Aversa</name></author><published>2025-08-18T18:25:56+02:00</published><updated>2025-08-18T18:25:56+02:00</updated><content type="html"><![CDATA[<p>With the upcoming Bases update in <a href="https://obsidian.md/">Obsidian</a>, this may become obsolete, but for the time being I am still quite happy using Dataview to embed little graphical elements in my notes.</p>
<p>For example, I have a note summarizing all the movies I watched each month. For that I use a combination of CSS and a Dataview query to generate a grid of movie posters. Until recently I used a very simple Dataview query, but I had a problem: if I watched a movie twice in a month, I got only one entry in my poster grid. This is not what I wanted, so I had to do something more complicated.</p> -- <a href="https://www.davideaversa.it/bytes/202508181825-movie-posters-grid-in-obsidian-with-dataview/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/workflow" term="workflow" label="workflow"/><category scheme="https://www.davideaversa.it/tags/obsidian" term="obsidian" label="obsidian"/></entry><entry><title type="html">The Changelog – July 2025</title><link href="https://www.davideaversa.it/blog/changelog-july-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-june-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2025"/><link href="https://www.davideaversa.it/blog/changelog-february-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2025"/><link href="https://www.davideaversa.it/blog/changelog-november-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2024"/><link href="https://www.davideaversa.it/blog/changelog-may-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2025"/><link href="https://www.davideaversa.it/blog/changelog-april-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2025"/><id>https://www.davideaversa.it/blog/changelog-july-2025/</id><author><name>Davide Aversa</name></author><published>2025-08-01T16:05:03+02:00</published><updated>2025-08-01T16:05:03+02:00</updated><content type="html">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&amp;rsquo;s album and, of course, I watched KPop Demon Hunters like everybody else. -- &lt;a href="https://www.davideaversa.it/blog/changelog-july-2025/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – June 2025</title><link href="https://www.davideaversa.it/blog/changelog-june-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-january-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2025"/><link href="https://www.davideaversa.it/blog/changelog-may-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2025"/><link href="https://www.davideaversa.it/blog/changelog-april-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2025"/><link href="https://www.davideaversa.it/blog/changelog-march-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2025"/><link href="https://www.davideaversa.it/blog/changelog-february-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2025"/><id>https://www.davideaversa.it/blog/changelog-june-2025/</id><author><name>Davide Aversa</name></author><published>2025-07-01T14:35:54+02:00</published><updated>2025-06-02T15:13:23+02:00</updated><content type="html"><![CDATA[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. So let&rsquo;s explore last month&rsquo;s books, movie, and my favorite Japanese web radio. -- <a href="https://www.davideaversa.it/blog/changelog-june-2025/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – May 2025</title><link href="https://www.davideaversa.it/blog/changelog-may-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-april-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2025"/><link href="https://www.davideaversa.it/blog/changelog-march-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2025"/><link href="https://www.davideaversa.it/blog/changelog-february-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2025"/><link href="https://www.davideaversa.it/blog/changelog-january-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2025"/><link href="https://www.davideaversa.it/blog/changelog-december-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2024"/><id>https://www.davideaversa.it/blog/changelog-may-2025/</id><author><name>Davide Aversa</name></author><published>2025-06-02T15:13:23+02:00</published><updated>2025-06-02T15:13:23+02:00</updated><content type="html"><![CDATA[I dont&rsquo;t feel like talking much. So let&rsquo;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 franchise. And Expedition 33. -- <a href="https://www.davideaversa.it/blog/changelog-may-2025/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – April 2025</title><link href="https://www.davideaversa.it/blog/changelog-april-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-march-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2025"/><link href="https://www.davideaversa.it/blog/changelog-october-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2024"/><link href="https://www.davideaversa.it/blog/changelog-february-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2025"/><link href="https://www.davideaversa.it/blog/changelog-january-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2025"/><link href="https://www.davideaversa.it/blog/changelog-december-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2024"/><id>https://www.davideaversa.it/blog/changelog-april-2025/</id><author><name>Davide Aversa</name></author><published>2025-05-01T12:19:21+02:00</published><updated>2025-05-01T12:19:21+02:00</updated><content type="html">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 in time for the real one and found another obsucre gem in Netflix back catalog. -- &lt;a href="https://www.davideaversa.it/blog/changelog-april-2025/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – March 2025</title><link href="https://www.davideaversa.it/blog/changelog-march-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-october-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2024"/><link href="https://www.davideaversa.it/blog/changelog-june-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2024"/><link href="https://www.davideaversa.it/blog/changelog-february-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2025"/><link href="https://www.davideaversa.it/blog/changelog-january-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2025"/><link href="https://www.davideaversa.it/blog/changelog-december-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2024"/><id>https://www.davideaversa.it/blog/changelog-march-2025/</id><author><name>Davide Aversa</name></author><published>2025-04-01T15:12:50+02:00</published><updated>2025-04-01T15:12:50+02:00</updated><content type="html"><![CDATA[March was a month of contrasts, but, overall, I am happy with it. I wrote two articles, finally watched Flow, and read <em>The Notebook</em>, listen to the new <em>clippings</em> album. And now I am ready for the new season! -- <a href="https://www.davideaversa.it/blog/changelog-march-2025/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">It Is Okay to “Vibecode”</title><link href="https://www.davideaversa.it/blog/it-is-okay-vibecode/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/one-surprising-thing-about-llms-nobody-is-talking-about/?utm_source=atom_feed" rel="related" type="text/html" title="One surprising thing about LLMs nobody is talking about"/><link href="https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/?utm_source=atom_feed" rel="related" type="text/html" title="Go is still fighting over generics. In 2019."/><link href="https://www.davideaversa.it/blog/julia-revisited-2022/?utm_source=atom_feed" rel="related" type="text/html" title="Julia Revisited"/><link href="https://www.davideaversa.it/blog/will-zig-sweet-spot-looking-for/?utm_source=atom_feed" rel="related" type="text/html" title='Will Zig be the "sweet spot" I am looking for?'/><link href="https://www.davideaversa.it/blog/will-crystal-sweet-spot-looking-for/?utm_source=atom_feed" rel="related" type="text/html" title='Will Crystal be the "sweet spot" I am looking for?'/><id>https://www.davideaversa.it/blog/it-is-okay-vibecode/</id><author><name>Davide Aversa</name></author><published>2025-03-25T11:50:13+01:00</published><updated>2025-03-25T11:50:13+01:00</updated><content type="html">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 tools? Just be aware of the limitations. Here I try to explain why vibecoding is not a cardinal sin. -- &lt;a href="https://www.davideaversa.it/blog/it-is-okay-vibecode/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/llm" term="llm" label="llm"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/></entry><entry><title type="html">MovingAI-Rust 2.1.0: Now panic-free!</title><link href="https://www.davideaversa.it/blog/movingai-rust-2.1.0/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/convert-images-to-movingai-maps/?utm_source=atom_feed" rel="related" type="text/html" title="Convert images to MovingAI maps"/><link href="https://www.davideaversa.it/blog/movingai-pathfinding-benchmark-parser-rust/?utm_source=atom_feed" rel="related" type="text/html" title="MovingAI pathfinding benchmark parser in Rust"/><link href="https://www.davideaversa.it/blog/my-first-deno-experiment/?utm_source=atom_feed" rel="related" type="text/html" title="My First Deno Experiment"/><link href="https://www.davideaversa.it/links/happy-birthday-rust/?utm_source=atom_feed" rel="related" type="text/html" title="Happy 5-Years Birthday Rust!"/><link href="https://www.davideaversa.it/blog/state-game-development-rust/?utm_source=atom_feed" rel="related" type="text/html" title="The State of Game Development in Rust"/><id>https://www.davideaversa.it/blog/movingai-rust-2.1.0/</id><author><name>Davide Aversa</name></author><published>2025-03-12T14:46:38+00:00</published><updated>2025-03-12T14:46:38+00:00</updated><content type="html">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 can return a &lt;code>Result&lt;/code> object. -- &lt;a href="https://www.davideaversa.it/blog/movingai-rust-2.1.0/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/movingai" term="movingai" label="movingai"/><category scheme="https://www.davideaversa.it/tags/pathfinding" term="pathfinding" label="pathfinding"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/></entry><entry><title type="html">How to install MediaWiki on Docker</title><link href="https://www.davideaversa.it/blog/how-to-install-mediawiki/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/export-kindle-highlights/?utm_source=atom_feed" rel="related" type="text/html" title="How to Export your Kindle Highlights"/><link href="https://www.davideaversa.it/blog/how-to-add-a-logo-in-rust-documentation/?utm_source=atom_feed" rel="related" type="text/html" title="How to add a logo in Rust documentation"/><link href="https://www.davideaversa.it/blog/build-rusqlite-windows/?utm_source=atom_feed" rel="related" type="text/html" title="How to build rusqlite on Windows"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-3/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 3)"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 1)"/><id>https://www.davideaversa.it/blog/how-to-install-mediawiki/</id><author><name>Davide Aversa</name></author><published>2025-03-06T12:33:03+01:00</published><updated>2025-03-06T12:33:03+01:00</updated><content type="html">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 home wiki? -- &lt;a href="https://www.davideaversa.it/blog/how-to-install-mediawiki/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/mediawiki" term="mediawiki" label="mediawiki"/><category scheme="https://www.davideaversa.it/tags/docker" term="docker" label="docker"/><category scheme="https://www.davideaversa.it/tags/wiki" term="wiki" label="wiki"/><category scheme="https://www.davideaversa.it/tags/knowledge-managment" term="knowledge-managment" label="knowledge managment"/><category scheme="https://www.davideaversa.it/tags/how-to" term="how-to" label="how-to"/></entry><entry><title type="html">The Changelog – February 2025</title><link href="https://www.davideaversa.it/blog/changelog-february-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-january-2025/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2025"/><link href="https://www.davideaversa.it/blog/changelog-december-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2024"/><link href="https://www.davideaversa.it/blog/changelog-november-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2024"/><link href="https://www.davideaversa.it/blog/changelog-october-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2024"/><link href="https://www.davideaversa.it/blog/changelog-september-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2024"/><id>https://www.davideaversa.it/blog/changelog-february-2025/</id><author><name>Davide Aversa</name></author><published>2025-03-01T11:00:16+01:00</published><updated>2025-03-01T11:00:16+01:00</updated><content type="html">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 the new albums by Oklou, Benjamin Booker, and MIKE. -- &lt;a href="https://www.davideaversa.it/blog/changelog-february-2025/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – January 2025</title><link href="https://www.davideaversa.it/blog/changelog-january-2025/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-december-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2024"/><link href="https://www.davideaversa.it/blog/changelog-november-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2024"/><link href="https://www.davideaversa.it/blog/changelog-october-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2024"/><link href="https://www.davideaversa.it/blog/changelog-september-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2024"/><link href="https://www.davideaversa.it/blog/changelog-august-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2024"/><id>https://www.davideaversa.it/blog/changelog-january-2025/</id><author><name>Davide Aversa</name></author><published>2025-02-01T10:33:05+01:00</published><updated>2025-02-01T10:33:05+01:00</updated><content type="html">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 embarassing AOR and played Hades 2. And, finally, the Switch 2 was announced. -- &lt;a href="https://www.davideaversa.it/blog/changelog-january-2025/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Books I Read in 2024</title><link href="https://www.davideaversa.it/blog/books-read-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/books-read-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Books I Read in 2023"/><link href="https://www.davideaversa.it/blog/changelog-june-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2024"/><link href="https://www.davideaversa.it/blog/changelog-march-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2024"/><link href="https://www.davideaversa.it/blog/changelog-september-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2024"/><link href="https://www.davideaversa.it/blog/changelog-february-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2024"/><id>https://www.davideaversa.it/blog/books-read-2024/</id><author><name>Davide Aversa</name></author><published>2025-01-12T11:48:21+01:00</published><updated>2025-01-12T11:48:21+01:00</updated><content type="html">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. Enjoy! -- &lt;a href="https://www.davideaversa.it/blog/books-read-2024/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/></entry><entry><title type="html">The Changelog – December 2024</title><link href="https://www.davideaversa.it/blog/changelog-december-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-march-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2024"/><link href="https://www.davideaversa.it/blog/changelog-september-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2024"/><link href="https://www.davideaversa.it/blog/changelog-february-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2024"/><link href="https://www.davideaversa.it/blog/changelog-january-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2024"/><link href="https://www.davideaversa.it/blog/changelog-november-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2024"/><id>https://www.davideaversa.it/blog/changelog-december-2024/</id><author><name>Davide Aversa</name></author><published>2025-01-01T11:44:17+01:00</published><updated>2025-01-01T11:44:17+01:00</updated><content type="html"><![CDATA[Happy New Year! Let&rsquo;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 my Steam Deck. I also wrote about the anime movie <em>Look Back</em>, the Christmas movie <em>Klaus</em>, and the end of <em>Star Trek: Lower Decks</em> Season 5. -- <a href="https://www.davideaversa.it/blog/changelog-december-2024/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">My Default Apps for 2024</title><link href="https://www.davideaversa.it/blog/default-apps-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/default-apps-2023/?utm_source=atom_feed" rel="related" type="text/html" title="My Default Apps for 2023"/><link href="https://www.davideaversa.it/blog/still-not-trust-arc/?utm_source=atom_feed" rel="related" type="text/html" title="I still not trust Arc"/><link href="https://www.davideaversa.it/blog/in-memory-lotus-organizer/?utm_source=atom_feed" rel="related" type="text/html" title="In Memory of Lotus Organizer"/><link href="https://www.davideaversa.it/blog/subscription-model-fatigue/?utm_source=atom_feed" rel="related" type="text/html" title="The Subscription Model Fatigue"/><link href="https://www.davideaversa.it/blog/bluesky-notes/?utm_source=atom_feed" rel="related" type="text/html" title="Notes on this Bluesky Moment"/><id>https://www.davideaversa.it/blog/default-apps-2024/</id><author><name>Davide Aversa</name></author><published>2024-12-16T10:04:54+01:00</published><updated>2024-12-16T10:04:54+01:00</updated><content type="html"><![CDATA[Let&rsquo;s revisit last year&rsquo;s article on the apps I used in 2023 and see what I changed in 2024. -- <a href="https://www.davideaversa.it/blog/default-apps-2024/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/software" term="software" label="software"/></entry><entry><title type="html">Testing Bluesky-Powered Comments</title><link href="https://www.davideaversa.it/blog/bluesky-comments/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/bluesky-notes/?utm_source=atom_feed" rel="related" type="text/html" title="Notes on this Bluesky Moment"/><link href="https://www.davideaversa.it/blog/debootstrapping-part-2/?utm_source=atom_feed" rel="related" type="text/html" title="De-Bootstrapping my Blog - Part 2 - Going Mobile"/><link href="https://www.davideaversa.it/blog/debootstrapping-part-1/?utm_source=atom_feed" rel="related" type="text/html" title="De-Bootstrapping my Blog - Part 1"/><link href="https://www.davideaversa.it/blog/changelog-february-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2024"/><link href="https://www.davideaversa.it/blog/problem-mastodon-fediverse/?utm_source=atom_feed" rel="related" type="text/html" title="The Problem with Mastodon and the Fediverse"/><id>https://www.davideaversa.it/blog/bluesky-comments/</id><author><name>Davide Aversa</name></author><published>2024-12-12T16:49:22+01:00</published><updated>2024-12-16T09:26:55+01:00</updated><content type="html">After seeing many similar experiments, I am testing a way to show and comment on this blog&amp;rsquo;s articles using Bluesky network. In the best case, it will make the comment section more lively. In the worst case, I would had learned something new. -- &lt;a href="https://www.davideaversa.it/blog/bluesky-comments/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/blog" term="blog" label="blog"/><category scheme="https://www.davideaversa.it/tags/social-networks" term="social-networks" label="social networks"/><category scheme="https://www.davideaversa.it/tags/bluesky" term="bluesky" label="bluesky"/><category scheme="https://www.davideaversa.it/tags/internet" term="internet" label="internet"/></entry><entry><title type="html">Notes on this Bluesky Moment</title><link href="https://www.davideaversa.it/blog/bluesky-notes/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/mastodon-revisited/?utm_source=atom_feed" rel="related" type="text/html" title="Mastodon Revisited"/><link href="https://www.davideaversa.it/blog/problem-mastodon-fediverse/?utm_source=atom_feed" rel="related" type="text/html" title="The Problem with Mastodon and the Fediverse"/><link href="https://www.davideaversa.it/blog/hades-case-study-storytelling-roguelike-games/?utm_source=atom_feed" rel="related" type="text/html" title="Hades: a case study in storytelling for roguelike games"/><link href="https://www.davideaversa.it/blog/convergence-aaa-games/?utm_source=atom_feed" rel="related" type="text/html" title="The Great Convergence of AAA Games"/><link href="https://www.davideaversa.it/blog/swift-announces-official-windows-support/?utm_source=atom_feed" rel="related" type="text/html" title="Swift announces official Windows support — maybe too late"/><id>https://www.davideaversa.it/blog/bluesky-notes/</id><author><name>Davide Aversa</name></author><published>2024-12-03T15:17:05+01:00</published><updated>2024-12-03T15:17:05+01:00</updated><content type="html">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&amp;rsquo;s blunders and by the continuous alienation provided by his power-hungry owner, Bluesky doubled its user base from around 10 millions users to the current 24 millions. It is time to annotate some of my thoughts. -- &lt;a href="https://www.davideaversa.it/blog/bluesky-notes/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/><category scheme="https://www.davideaversa.it/tags/social-networks" term="social-networks" label="social networks"/><category scheme="https://www.davideaversa.it/tags/bluesky" term="bluesky" label="bluesky"/><category scheme="https://www.davideaversa.it/tags/mastodon" term="mastodon" label="mastodon"/><category scheme="https://www.davideaversa.it/tags/enshittification" term="enshittification" label="enshittification"/><category scheme="https://www.davideaversa.it/tags/decentralization" term="decentralization" label="decentralization"/><category scheme="https://www.davideaversa.it/tags/internet" term="internet" label="internet"/><category scheme="https://www.davideaversa.it/tags/activitypub" term="activitypub" label="activitypub"/></entry><entry><title type="html">The Changelog – November 2024</title><link href="https://www.davideaversa.it/blog/changelog-november-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-october-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2024"/><link href="https://www.davideaversa.it/blog/changelog-november-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2023"/><link href="https://www.davideaversa.it/blog/changelog-september-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2024"/><link href="https://www.davideaversa.it/blog/changelog-august-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2024"/><id>https://www.davideaversa.it/blog/changelog-november-2024/</id><author><name>Davide Aversa</name></author><published>2024-12-01T11:46:07+01:00</published><updated>2024-12-01T11:46:12+01:00</updated><content type="html">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. -- &lt;a href="https://www.davideaversa.it/blog/changelog-november-2024/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – October 2024</title><link href="https://www.davideaversa.it/blog/changelog-october-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-september-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2024"/><link href="https://www.davideaversa.it/blog/changelog-august-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2024"/><link href="https://www.davideaversa.it/blog/changelog-july-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2024"/><link href="https://www.davideaversa.it/blog/changelog-june-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2024"/><link href="https://www.davideaversa.it/blog/changelog-may-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2024"/><id>https://www.davideaversa.it/blog/changelog-october-2024/</id><author><name>Davide Aversa</name></author><published>2024-11-01T14:58:35+01:00</published><updated>2024-11-01T14:58:35+01:00</updated><content type="html"><![CDATA[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 <em>Star Trek: Vanguard</em> series, watched a lot of Japanese spooky movies, and played a bit of <em>The Legend of Zelda: Echoes of Wisdom</em>. And because I am fond of soundtracks, and I spent a lot of time listening to Bear McCreary&rsquo;s compositions. -- <a href="https://www.davideaversa.it/blog/changelog-october-2024/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – September 2024</title><link href="https://www.davideaversa.it/blog/changelog-september-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-august-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2024"/><link href="https://www.davideaversa.it/blog/changelog-july-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2024"/><link href="https://www.davideaversa.it/blog/changelog-june-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2024"/><link href="https://www.davideaversa.it/blog/changelog-may-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2024"/><link href="https://www.davideaversa.it/blog/changelog-april-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2024"/><id>https://www.davideaversa.it/blog/changelog-september-2024/</id><author><name>Davide Aversa</name></author><published>2024-10-01T08:56:18+02:00</published><updated>2024-10-01T08:56:18+02:00</updated><content type="html">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 Castlevania Dominus Collection and Shogun Showdown. -- &lt;a href="https://www.davideaversa.it/blog/changelog-september-2024/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – August 2024</title><link href="https://www.davideaversa.it/blog/changelog-august-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-july-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2024"/><link href="https://www.davideaversa.it/blog/changelog-june-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2024"/><link href="https://www.davideaversa.it/blog/changelog-may-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2024"/><link href="https://www.davideaversa.it/blog/changelog-april-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2024"/><link href="https://www.davideaversa.it/blog/changelog-march-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2024"/><id>https://www.davideaversa.it/blog/changelog-august-2024/</id><author><name>Davide Aversa</name></author><published>2024-09-01T11:26:15+02:00</published><updated>2024-09-01T11:26:15+02:00</updated><content type="html"><![CDATA[Finally, I was able to travel again! I spent four days in Edinburgh, and recharged for the &ldquo;New Year&rdquo;. But I also read two books, some wonderful Buñuel movies, and listened to all the amazing new music we got in August. It was a good month! So let&rsquo;s check it out. -- <a href="https://www.davideaversa.it/blog/changelog-august-2024/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">How I use Calibre to manage my physical library</title><link href="https://www.davideaversa.it/blog/how-calibre-manage-physical-library/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-july-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2024"/><link href="https://www.davideaversa.it/blog/changelog-june-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2024"/><link href="https://www.davideaversa.it/blog/changelog-may-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2024"/><link href="https://www.davideaversa.it/blog/changelog-april-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2024"/><link href="https://www.davideaversa.it/blog/changelog-march-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2024"/><id>https://www.davideaversa.it/blog/how-calibre-manage-physical-library/</id><author><name>Davide Aversa</name></author><published>2024-08-13T21:32:10+02:00</published><updated>2024-08-13T21:32:16+02:00</updated><content type="html">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 track them using Calibre as well. -- &lt;a href="https://www.davideaversa.it/blog/how-calibre-manage-physical-library/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/calibre" term="calibre" label="Calibre"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/organization" term="organization" label="organization"/><category scheme="https://www.davideaversa.it/tags/toml" term="toml" label="TOML"/></entry><entry><title type="html">The Changelog – July 2024</title><link href="https://www.davideaversa.it/blog/changelog-july-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-may-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2024"/><link href="https://www.davideaversa.it/blog/changelog-june-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2024"/><link href="https://www.davideaversa.it/blog/changelog-april-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2024"/><link href="https://www.davideaversa.it/blog/changelog-march-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2024"/><link href="https://www.davideaversa.it/blog/changelog-february-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2024"/><id>https://www.davideaversa.it/blog/changelog-july-2024/</id><author><name>Davide Aversa</name></author><published>2024-08-01T12:25:03+02:00</published><updated>2024-08-01T12:25:03+02:00</updated><content type="html">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. -- &lt;a href="https://www.davideaversa.it/blog/changelog-july-2024/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">Why do we feel retro-computing nostalgia?</title><link href="https://www.davideaversa.it/blog/why-do-we-feel-retro-computing-nostalgia/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/hades-case-study-storytelling-roguelike-games/?utm_source=atom_feed" rel="related" type="text/html" title="Hades: a case study in storytelling for roguelike games"/><link href="https://www.davideaversa.it/blog/convergence-aaa-games/?utm_source=atom_feed" rel="related" type="text/html" title="The Great Convergence of AAA Games"/><link href="https://www.davideaversa.it/blog/swift-announces-official-windows-support/?utm_source=atom_feed" rel="related" type="text/html" title="Swift announces official Windows support — maybe too late"/><link href="https://www.davideaversa.it/blog/what-makes-story-good/?utm_source=atom_feed" rel="related" type="text/html" title="What makes a story a good story"/><link href="https://www.davideaversa.it/blog/apple-arcane-mobile-game-fun-again/?utm_source=atom_feed" rel="related" type="text/html" title="Apple Arcade made my mobile gaming fun again"/><id>https://www.davideaversa.it/blog/why-do-we-feel-retro-computing-nostalgia/</id><author><name>Davide Aversa</name></author><published>2024-07-07T17:00:38+02:00</published><updated>2024-07-07T17:00:38+02:00</updated><content type="html"><![CDATA[Why do we feel attraction for the past? Why do we look at the &lsquo;old web&rsquo; with dreaming eyes? Why do we see old protocols and feel the lure of the past? Why do we feel nostalgia for old technology? In this article, I explore my reasons behind the retro-computing nostalgia. -- <a href="https://www.davideaversa.it/blog/why-do-we-feel-retro-computing-nostalgia/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/><category scheme="https://www.davideaversa.it/tags/retro-computing" term="retro-computing" label="retro-computing"/></entry><entry><title type="html">The Changelog – June 2024</title><link href="https://www.davideaversa.it/blog/changelog-june-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-march-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2024"/><link href="https://www.davideaversa.it/blog/changelog-may-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2024"/><link href="https://www.davideaversa.it/blog/changelog-april-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2024"/><link href="https://www.davideaversa.it/blog/changelog-february-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2024"/><link href="https://www.davideaversa.it/blog/changelog-january-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2024"/><id>https://www.davideaversa.it/blog/changelog-june-2024/</id><author><name>Davide Aversa</name></author><published>2024-07-01T09:00:43+02:00</published><updated>2024-07-01T09:00:43+02:00</updated><content type="html">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 many things. I loved tons of movies, and I lost myself (and spent too much money) in a lot of different music genres. -- &lt;a href="https://www.davideaversa.it/blog/changelog-june-2024/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">One surprising thing about LLMs nobody is talking about</title><link href="https://www.davideaversa.it/blog/one-surprising-thing-about-llms-nobody-is-talking-about/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/this-website-will-always-be-open/?utm_source=atom_feed" rel="related" type="text/html" title="This website will always be open. For bots, too."/><link href="https://www.davideaversa.it/blog/freakout-free-guide-generative-ai/?utm_source=atom_feed" rel="related" type="text/html" title="The Freakout-Free Guide to Generative AI"/><link href="https://www.davideaversa.it/blog/machine-consciousness-is-inevitable/?utm_source=atom_feed" rel="related" type="text/html" title="Machine Consciousness is Inevitable"/><link href="https://www.davideaversa.it/blog/trolley-cart-problem-is-not-ai/?utm_source=atom_feed" rel="related" type="text/html" title="The Trolley Cart Problem is not an AI problem"/><link href="https://www.davideaversa.it/blog/overview-procedural-storytelling/?utm_source=atom_feed" rel="related" type="text/html" title="Overview of Three Techniques for Procedural Storytelling"/><id>https://www.davideaversa.it/blog/one-surprising-thing-about-llms-nobody-is-talking-about/</id><author><name>Davide Aversa</name></author><published>2024-06-23T16:17:19+02:00</published><updated>2024-08-18T13:05:38+02:00</updated><content type="html">Large Language Models (LLMs) maybe be controversial, somehow, but I am still amazed by their mathematical properties. In this article, I will reflect on my favorite one. -- &lt;a href="https://www.davideaversa.it/blog/one-surprising-thing-about-llms-nobody-is-talking-about/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/artificial-intelligence" term="artificial-intelligence" label="artificial intelligence"/><category scheme="https://www.davideaversa.it/tags/llm" term="llm" label="llm"/></entry><entry><title type="html">The Changelog – May 2024</title><link href="https://www.davideaversa.it/blog/changelog-may-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-april-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2024"/><link href="https://www.davideaversa.it/blog/changelog-march-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2024"/><link href="https://www.davideaversa.it/blog/changelog-february-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2024"/><link href="https://www.davideaversa.it/blog/changelog-january-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2024"/><link href="https://www.davideaversa.it/blog/changelog-december-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2023"/><id>https://www.davideaversa.it/blog/changelog-may-2024/</id><author><name>Davide Aversa</name></author><published>2024-06-01T13:28:52+02:00</published><updated>2024-06-01T13:28:52+02:00</updated><content type="html">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 music. I also started playing Tunic. -- &lt;a href="https://www.davideaversa.it/blog/changelog-may-2024/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – April 2024</title><link href="https://www.davideaversa.it/blog/changelog-april-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-march-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2024"/><link href="https://www.davideaversa.it/blog/changelog-february-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2024"/><link href="https://www.davideaversa.it/blog/changelog-january-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2024"/><link href="https://www.davideaversa.it/blog/changelog-december-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2023"/><link href="https://www.davideaversa.it/blog/changelog-november-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2023"/><id>https://www.davideaversa.it/blog/changelog-april-2024/</id><author><name>Davide Aversa</name></author><published>2024-05-01T13:03:29+02:00</published><updated>2024-05-01T13:03:29+02:00</updated><content type="html">Let&amp;rsquo;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 mood. Hurray! -- &lt;a href="https://www.davideaversa.it/blog/changelog-april-2024/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">This website will always be open. For bots, too.</title><link href="https://www.davideaversa.it/blog/this-website-will-always-be-open/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/freakout-free-guide-generative-ai/?utm_source=atom_feed" rel="related" type="text/html" title="The Freakout-Free Guide to Generative AI"/><link href="https://www.davideaversa.it/blog/machine-consciousness-is-inevitable/?utm_source=atom_feed" rel="related" type="text/html" title="Machine Consciousness is Inevitable"/><link href="https://www.davideaversa.it/blog/trolley-cart-problem-is-not-ai/?utm_source=atom_feed" rel="related" type="text/html" title="The Trolley Cart Problem is not an AI problem"/><link href="https://www.davideaversa.it/blog/overview-procedural-storytelling/?utm_source=atom_feed" rel="related" type="text/html" title="Overview of Three Techniques for Procedural Storytelling"/><link href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/?utm_source=atom_feed" rel="related" type="text/html" title="Marginalia: Rebooting AI by Gary Marcus and Ernest Davis"/><id>https://www.davideaversa.it/blog/this-website-will-always-be-open/</id><author><name>Davide Aversa</name></author><published>2024-04-21T16:21:25+02:00</published><updated>2024-04-21T16:21:25+02:00</updated><content type="html">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. Because copyright is a already a problem as it is. -- &lt;a href="https://www.davideaversa.it/blog/this-website-will-always-be-open/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/artificial-intelligence" term="artificial-intelligence" label="artificial intelligence"/><category scheme="https://www.davideaversa.it/tags/copyright" term="copyright" label="copyright"/></entry><entry><title type="html">The Changelog – March 2024</title><link href="https://www.davideaversa.it/blog/changelog-march-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-february-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2024"/><link href="https://www.davideaversa.it/blog/changelog-january-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2024"/><link href="https://www.davideaversa.it/blog/changelog-december-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2023"/><link href="https://www.davideaversa.it/blog/changelog-november-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2023"/><id>https://www.davideaversa.it/blog/changelog-march-2024/</id><author><name>Davide Aversa</name></author><published>2024-04-01T17:21:09+02:00</published><updated>2024-04-01T17:21:09+02:00</updated><content type="html">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 there were things I wanted to write (I have three rough blog posts drafts), it was a nice pace. -- &lt;a href="https://www.davideaversa.it/blog/changelog-march-2024/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – February 2024</title><link href="https://www.davideaversa.it/blog/changelog-february-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-january-2024/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2024"/><link href="https://www.davideaversa.it/blog/changelog-december-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2023"/><link href="https://www.davideaversa.it/blog/changelog-november-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2023"/><link href="https://www.davideaversa.it/blog/changelog-september-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2023"/><id>https://www.davideaversa.it/blog/changelog-february-2024/</id><author><name>Davide Aversa</name></author><published>2024-03-01T15:56:05+01:00</published><updated>2024-03-01T15:56:05+01:00</updated><content type="html"><![CDATA[Let&rsquo;s explore the events from last month! I&rsquo;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 three books I read, DJ Rozwell&rsquo;s roguelike album, and more. -- <a href="https://www.davideaversa.it/blog/changelog-february-2024/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – January 2024</title><link href="https://www.davideaversa.it/blog/changelog-january-2024/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-december-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2023"/><link href="https://www.davideaversa.it/blog/changelog-november-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2023"/><link href="https://www.davideaversa.it/blog/changelog-september-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2023"/><link href="https://www.davideaversa.it/blog/changelog-august-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2023"/><id>https://www.davideaversa.it/blog/changelog-january-2024/</id><author><name>Davide Aversa</name></author><published>2024-02-01T11:35:49+01:00</published><updated>2024-12-31T13:45:49+01:00</updated><content type="html">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 grandfather of all noirs novels, and I completed Hogwarts Legacy. Just to name a few things. -- &lt;a href="https://www.davideaversa.it/blog/changelog-january-2024/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Books I Read in 2023</title><link href="https://www.davideaversa.it/blog/books-read-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-april-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2023"/><link href="https://www.davideaversa.it/blog/changelog-february-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2023"/><link href="https://www.davideaversa.it/blog/changelog-june-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2023"/><link href="https://www.davideaversa.it/blog/changelog-march-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2023"/><id>https://www.davideaversa.it/blog/books-read-2023/</id><author><name>Davide Aversa</name></author><published>2024-01-14T15:15:58+01:00</published><updated>2024-01-14T15:15:58+01:00</updated><content type="html">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. -- &lt;a href="https://www.davideaversa.it/blog/books-read-2023/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/></entry><entry><title type="html">The Changelog – December 2023</title><link href="https://www.davideaversa.it/blog/changelog-december-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-november-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2023"/><link href="https://www.davideaversa.it/blog/changelog-september-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2023"/><link href="https://www.davideaversa.it/blog/changelog-august-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><id>https://www.davideaversa.it/blog/changelog-december-2023/</id><author><name>Davide Aversa</name></author><published>2024-01-02T12:11:38+01:00</published><updated>2024-01-02T12:11:38+01:00</updated><content type="html">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 a week off from work, I am struck by some pathogen. This year, I swear&amp;hellip; -- &lt;a href="https://www.davideaversa.it/blog/changelog-december-2023/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">My Default Apps for 2023</title><link href="https://www.davideaversa.it/blog/default-apps-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/still-not-trust-arc/?utm_source=atom_feed" rel="related" type="text/html" title="I still not trust Arc"/><link href="https://www.davideaversa.it/blog/in-memory-lotus-organizer/?utm_source=atom_feed" rel="related" type="text/html" title="In Memory of Lotus Organizer"/><link href="https://www.davideaversa.it/blog/subscription-model-fatigue/?utm_source=atom_feed" rel="related" type="text/html" title="The Subscription Model Fatigue"/><link href="https://www.davideaversa.it/blog/changelog-november-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2023"/><link href="https://www.davideaversa.it/blog/changelog-june-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2023"/><id>https://www.davideaversa.it/blog/default-apps-2023/</id><author><name>Davide Aversa</name></author><published>2023-12-04T19:43:45+01:00</published><updated>2023-12-04T19:43:45+01:00</updated><content type="html">Jumping on the bandwagon of the default apps for 2023 blog trend. What a time to be alive. -- &lt;a href="https://www.davideaversa.it/blog/default-apps-2023/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/software" term="software" label="software"/></entry><entry><title type="html">The Changelog – November 2023</title><link href="https://www.davideaversa.it/blog/changelog-november-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-october-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2023"/><link href="https://www.davideaversa.it/blog/changelog-september-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2023"/><link href="https://www.davideaversa.it/blog/changelog-august-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><link href="https://www.davideaversa.it/blog/changelog-july-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2023"/><id>https://www.davideaversa.it/blog/changelog-november-2023/</id><author><name>Davide Aversa</name></author><published>2023-12-01T10:48:20+01:00</published><updated>2023-12-01T10:48:20+01:00</updated><content type="html">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 digging. Instead, the thing that happens every time I stop caring happened: I start doing things without overthinking them, I put myself in unpredictable situations, and – as a consequence – things changes. -- &lt;a href="https://www.davideaversa.it/blog/changelog-november-2023/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – October 2023</title><link href="https://www.davideaversa.it/blog/changelog-october-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-september-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2023"/><link href="https://www.davideaversa.it/blog/changelog-august-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><link href="https://www.davideaversa.it/blog/changelog-july-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2023"/><link href="https://www.davideaversa.it/blog/changelog-september-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2022"/><id>https://www.davideaversa.it/blog/changelog-october-2023/</id><author><name>Davide Aversa</name></author><published>2023-11-01T09:47:20+01:00</published><updated>2023-11-01T09:47:20+01:00</updated><content type="html">October was supposed to be &lt;em>”The Month.”&lt;/em> 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 events, enjoyable travels, and inspiring experiences that could have helped me reverse the spiraling downward momentum of the last few months. Instead, everything went down the toilet. -- &lt;a href="https://www.davideaversa.it/blog/changelog-october-2023/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">The Changelog – September 2023</title><link href="https://www.davideaversa.it/blog/changelog-september-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-august-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><link href="https://www.davideaversa.it/blog/changelog-july-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2023"/><link href="https://www.davideaversa.it/blog/changelog-june-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2023"/><link href="https://www.davideaversa.it/blog/changelog-may-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2023"/><id>https://www.davideaversa.it/blog/changelog-september-2023/</id><author><name>Davide Aversa</name></author><published>2023-10-01T11:30:16+02:00</published><updated>2023-10-10T11:30:16+02:00</updated><content type="html"><![CDATA[<p>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&rsquo;s not that I hadn&rsquo;t experienced anxiety since 2019, but I had never reached this level of intensity (which isn&rsquo;t a bad accomplishment considering I had to navigate a global pandemic).</p>
<p>Fortunately, I have some experience with these situations, so I was able to regain control in a week instead of the three months it used to take.</p> -- <a href="https://www.davideaversa.it/blog/changelog-september-2023/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">Remove custom tags from SingleFile output</title><link href="https://www.davideaversa.it/blog/remove-custom-tags-from-singlefile-output/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/remove-custom-tags-from-singlefile-output/</id><author><name>Davide Aversa</name></author><published>2023-09-10T16:09:01+02:00</published><updated>2023-09-10T16:09:01+02:00</updated><content type="html">I often use SingleFile to archive the page I like. One day, I&amp;rsquo;ve found out that Readwise was injecting 2Mb of JavaScript in each page. That is a lot of wasted space. Luckily, there is a (not simple) way to filter out custom tags from archived pages. -- &lt;a href="https://www.davideaversa.it/blog/remove-custom-tags-from-singlefile-output/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/singlefile" term="singlefile" label="SingleFile"/><category scheme="https://www.davideaversa.it/tags/readwise" term="readwise" label="Readwise"/><category scheme="https://www.davideaversa.it/tags/html" term="html" label="HTML"/></entry><entry><title type="html">The Changelog – August 2023</title><link href="https://www.davideaversa.it/blog/changelog-august-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-july-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><link href="https://www.davideaversa.it/blog/changelog-june-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2023"/><link href="https://www.davideaversa.it/blog/changelog-may-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2023"/><link href="https://www.davideaversa.it/blog/changelog-april-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2023"/><id>https://www.davideaversa.it/blog/changelog-august-2023/</id><author><name>Davide Aversa</name></author><published>2023-09-03T10:08:41+02:00</published><updated>2023-09-03T10:08:41+02:00</updated><content type="html"><![CDATA[<p>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 afternoons. However, when I arrived, I noticed that the mobile connection was practically non-existent (I hadn&rsquo;t seen 1kbps since the early 2000s), so I gave up.</p>
<p>No real damage, I suppose. I guess nobody lost any sleep over it. 😅</p> -- <a href="https://www.davideaversa.it/blog/changelog-august-2023/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/></entry><entry><title type="html">How to use ElevenLabs text-to-speech in Unity</title><link href="https://www.davideaversa.it/blog/elevenlabs-text-to-speech-unity-script/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/utility-based-ai/?utm_source=atom_feed" rel="related" type="text/html" title="Utility-based AI for Games"/><link href="https://www.davideaversa.it/blog/unity-artificial-intelligence-programming-5/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Artificial Intelligence Programming – Fifth Edition"/><link href="https://www.davideaversa.it/blog/unity-game-optimization-is-out/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Game Optimization is now available!"/><link href="https://www.davideaversa.it/blog/quick-look-at-f-in-unity/?utm_source=atom_feed" rel="related" type="text/html" title="Quick Look at F# in Unity"/><link href="https://www.davideaversa.it/blog/one-game-a-month-december-2014/?utm_source=atom_feed" rel="related" type="text/html" title="One Game A Month - December 2014"/><id>https://www.davideaversa.it/blog/elevenlabs-text-to-speech-unity-script/</id><author><name>Davide Aversa</name></author><published>2023-08-27T16:54:36+02:00</published><updated>2024-01-16T09:48:53+01:00</updated><content type="html">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&amp;rsquo;s demos a lot of times in the last months, and I decided to share the basic script I use to do it. -- &lt;a href="https://www.davideaversa.it/blog/elevenlabs-text-to-speech-unity-script/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/text-to-speech" term="text-to-speech" label="text-to-speech"/><category scheme="https://www.davideaversa.it/tags/ai" term="ai" label="ai"/><category scheme="https://www.davideaversa.it/tags/unity" term="unity" label="unity"/><category scheme="https://www.davideaversa.it/tags/elevenlabs" term="elevenlabs" label="elevenlabs"/></entry><entry><title type="html">De-Bootstrapping my Blog - Part 2 - Going Mobile</title><link href="https://www.davideaversa.it/blog/debootstrapping-part-2/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/debootstrapping-part-1/?utm_source=atom_feed" rel="related" type="text/html" title="De-Bootstrapping my Blog - Part 1"/><link href="https://www.davideaversa.it/blog/i-killing-comments-i-will-not-kill-discussion/?utm_source=atom_feed" rel="related" type="text/html" title="I am killing comments. I will not kill discussion."/><id>https://www.davideaversa.it/blog/debootstrapping-part-2/</id><author><name>Davide Aversa</name></author><published>2023-08-22T16:39:52+02:00</published><updated>2023-08-22T16:39:52+02:00</updated><content type="html">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 hamburger menu in pure CSS. -- &lt;a href="https://www.davideaversa.it/blog/debootstrapping-part-2/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/blog" term="blog" label="blog"/><category scheme="https://www.davideaversa.it/tags/css" term="css" label="css"/><category scheme="https://www.davideaversa.it/tags/bootstrap" term="bootstrap" label="bootstrap"/><category scheme="https://www.davideaversa.it/tags/web-design" term="web-design" label="web-design"/></entry><entry><title type="html">Why I don't do Time Tracking</title><link href="https://www.davideaversa.it/blog/why-no-time-tracking/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/overwhelmed-by-your-workflow-reset-it/?utm_source=atom_feed" rel="related" type="text/html" title="Overwhelmed by your workflow? Reset it."/><link href="https://www.davideaversa.it/blog/use-obsidian-plugin-responsibly/?utm_source=atom_feed" rel="related" type="text/html" title="Use Obsidian's Plugin Responsibly"/><link href="https://www.davideaversa.it/blog/never-underestimate-a-smooth-workflow/?utm_source=atom_feed" rel="related" type="text/html" title="Never underestimate a smooth workflow"/><link href="https://www.davideaversa.it/blog/need-decide-decisions/?utm_source=atom_feed" rel="related" type="text/html" title="You need to decide your decisions"/><link href="https://www.davideaversa.it/blog/on-the-developer-anxiety/?utm_source=atom_feed" rel="related" type="text/html" title="On developer anxiety"/><id>https://www.davideaversa.it/blog/why-no-time-tracking/</id><author><name>Davide Aversa</name></author><published>2023-08-08T11:37:41+02:00</published><updated>2023-08-08T11:37:41+02:00</updated><content type="html">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 explain the three reasons why it failed me. -- &lt;a href="https://www.davideaversa.it/blog/why-no-time-tracking/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/workflow" term="workflow" label="Workflow"/><category scheme="https://www.davideaversa.it/tags/productivity" term="productivity" label="productivity"/><category scheme="https://www.davideaversa.it/tags/time-tracking" term="time-tracking" label="time tracking"/></entry><entry><title type="html">The Changelog – July 2023</title><link href="https://www.davideaversa.it/blog/changelog-july-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-june-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2023"/><link href="https://www.davideaversa.it/blog/changelog-may-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2023"/><link href="https://www.davideaversa.it/blog/changelog-april-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2023"/><link href="https://www.davideaversa.it/blog/changelog-march-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2023"/><link href="https://www.davideaversa.it/blog/changelog-february-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2023"/><id>https://www.davideaversa.it/blog/changelog-july-2023/</id><author><name>Davide Aversa</name></author><published>2023-08-01T17:47:41+02:00</published><updated>2023-08-01T17:47:41+02:00</updated><content type="html"><![CDATA[<p><strong>Notwithstanding the Sud-European heatwave, I survived.</strong></p>
<p>This is already a good result for July, <em>per se</em>. Hailstorms and high-speed winds scourged Northern Italy, while forest fires tormented Southern Italy. I, in the middle, only had to endure 45°C. If you look at this in perspective, it is not so bad.</p>
<p>However, surviving was not enough. While the world slowed down, burdened by the sluggish progression of an overheated July, I felt more in tune with myself.</p> -- <a href="https://www.davideaversa.it/blog/changelog-july-2023/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/movies" term="movies" label="movies"/><category scheme="https://www.davideaversa.it/tags/retrogaming" term="retrogaming" label="retrogaming"/></entry><entry><title type="html">I still not trust Arc</title><link href="https://www.davideaversa.it/blog/still-not-trust-arc/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/in-memory-lotus-organizer/?utm_source=atom_feed" rel="related" type="text/html" title="In Memory of Lotus Organizer"/><link href="https://www.davideaversa.it/blog/subscription-model-fatigue/?utm_source=atom_feed" rel="related" type="text/html" title="The Subscription Model Fatigue"/><id>https://www.davideaversa.it/blog/still-not-trust-arc/</id><author><name>Davide Aversa</name></author><published>2023-07-26T21:33:44+02:00</published><updated>2023-07-26T21:33:44+02:00</updated><content type="html">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. -- &lt;a href="https://www.davideaversa.it/blog/still-not-trust-arc/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/browser" term="browser" label="browser"/><category scheme="https://www.davideaversa.it/tags/software" term="software" label="software"/></entry><entry><title type="html">De-Bootstrapping my Blog - Part 1</title><link href="https://www.davideaversa.it/blog/debootstrapping-part-1/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/i-killing-comments-i-will-not-kill-discussion/?utm_source=atom_feed" rel="related" type="text/html" title="I am killing comments. I will not kill discussion."/><id>https://www.davideaversa.it/blog/debootstrapping-part-1/</id><author><name>Davide Aversa</name></author><published>2023-07-09T15:36:26+02:00</published><updated>2023-07-09T15:36:26+02:00</updated><content type="html">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 town: CSS Grid. -- &lt;a href="https://www.davideaversa.it/blog/debootstrapping-part-1/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/blog" term="blog" label="blog"/><category scheme="https://www.davideaversa.it/tags/css" term="css" label="css"/><category scheme="https://www.davideaversa.it/tags/bootstrap" term="bootstrap" label="bootstrap"/><category scheme="https://www.davideaversa.it/tags/web-design" term="web-design" label="web-design"/></entry><entry><title type="html">The Changelog – June 2023</title><link href="https://www.davideaversa.it/blog/changelog-june-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-may-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2023"/><link href="https://www.davideaversa.it/blog/changelog-march-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2023"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><link href="https://www.davideaversa.it/blog/changelog-april-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2023"/><link href="https://www.davideaversa.it/blog/changelog-february-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2023"/><id>https://www.davideaversa.it/blog/changelog-june-2023/</id><author><name>Davide Aversa</name></author><published>2023-07-03T09:58:42+02:00</published><updated>2023-07-03T09:58:42+02:00</updated><content type="html"><![CDATA[<p>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 contrary, my frustrations grew stronger) but rather because I put a certain emotional scar tissue around my problems so that they interfere less with my intentions.</p>
<p>June was also the month in which I was supposed to get the new car I ordered back in January. But no. No luck. I must continue with my old garbage-car for a bit (if she doesn&rsquo;t fail me first).</p> -- <a href="https://www.davideaversa.it/blog/changelog-june-2023/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/></entry><entry><title type="html">The Changelog – May 2023</title><link href="https://www.davideaversa.it/blog/changelog-may-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-april-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – April 2023"/><link href="https://www.davideaversa.it/blog/changelog-march-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2023"/><link href="https://www.davideaversa.it/blog/changelog-february-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2023"/><link href="https://www.davideaversa.it/blog/changelog-december-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2022"/><link href="https://www.davideaversa.it/blog/changelog-november-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2022"/><id>https://www.davideaversa.it/blog/changelog-may-2023/</id><author><name>Davide Aversa</name></author><published>2023-06-01T15:34:29+02:00</published><updated>2023-06-01T15:34:29+02:00</updated><content type="html"><![CDATA[<p>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.</p>
<p>Unfortunately, I was right. Over the past 30 days, I have felt myself slowly sliding to the bottom of my emotional pit. Moreover, my &ldquo;preventive care trip&rdquo; to Ferrara got canceled <a href="https://en.wikipedia.org/wiki/2023_Emilia-Romagna_floods">due to the extensive and destructive floods in the region</a>, so I had no other option but to accept the sliding.</p> -- <a href="https://www.davideaversa.it/blog/changelog-may-2023/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/></entry><entry><title type="html">Polymorphic Class Serialization in Spring and MongoDB</title><link href="https://www.davideaversa.it/blog/polymorphic-class-serialization-spring-mongodb/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/document-kotlin-spring-application-springdoc-openapi/?utm_source=atom_feed" rel="related" type="text/html" title="How to document a Kotlin/Spring application with Springdoc and OpenAI"/><link href="https://www.davideaversa.it/blog/converting-java-spring-kotlin/?utm_source=atom_feed" rel="related" type="text/html" title="How to convert a Java/Spring project to Kotlin"/><link href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/?utm_source=atom_feed" rel="related" type="text/html" title="Kotlin Development in VS Code"/><link href="https://www.davideaversa.it/blog/i-needed-trust-gut-feelings-kotlin-android/?utm_source=atom_feed" rel="related" type="text/html" title="I needed to trust my gut feelings: Kotlin and Android"/><link href="https://www.davideaversa.it/blog/new-clojure-front/?utm_source=atom_feed" rel="related" type="text/html" title="Any news from Clojure front?"/><id>https://www.davideaversa.it/blog/polymorphic-class-serialization-spring-mongodb/</id><author><name>Davide Aversa</name></author><published>2023-05-16T14:15:25+02:00</published><updated>2023-05-16T14:15:25+02:00</updated><content type="html">I was recently faced with the perplexing problem of making Spring and MongoDB serialize/deserialize a polymorphic class. Initially, it seemed like a simple task, but it proved to be more complicated than anticipated. Allow me to share my solution. -- &lt;a href="https://www.davideaversa.it/blog/polymorphic-class-serialization-spring-mongodb/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/spring" term="spring" label="spring"/><category scheme="https://www.davideaversa.it/tags/kotlin" term="kotlin" label="kotlin"/><category scheme="https://www.davideaversa.it/tags/mongodb" term="mongodb" label="mongodb"/></entry><entry><title type="html">In Memory of Lotus Organizer</title><link href="https://www.davideaversa.it/blog/in-memory-lotus-organizer/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/subscription-model-fatigue/?utm_source=atom_feed" rel="related" type="text/html" title="The Subscription Model Fatigue"/><id>https://www.davideaversa.it/blog/in-memory-lotus-organizer/</id><author><name>Davide Aversa</name></author><published>2023-05-08T16:22:20+02:00</published><updated>2023-05-08T16:22:20+02:00</updated><content type="html">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. -- &lt;a href="https://www.davideaversa.it/blog/in-memory-lotus-organizer/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/lotus-organizer" term="lotus-organizer" label="lotus organizer"/><category scheme="https://www.davideaversa.it/tags/software" term="software" label="software"/></entry><entry><title type="html">The Changelog – April 2023</title><link href="https://www.davideaversa.it/blog/changelog-april-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-march-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – March 2023"/><link href="https://www.davideaversa.it/blog/changelog-february-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2023"/><link href="https://www.davideaversa.it/blog/changelog-december-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2022"/><link href="https://www.davideaversa.it/blog/changelog-november-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2022"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><id>https://www.davideaversa.it/blog/changelog-april-2023/</id><author><name>Davide Aversa</name></author><published>2023-05-01T20:57:53+02:00</published><updated>2023-05-01T20:57:53+02:00</updated><content type="html"><![CDATA[<p>They say that to err is human, but to persist is diabolical. If that&rsquo;s the case, then I must be the devil himself.</p>
<p>April has been grossly underwhelming; I had little motivation, energy, and found myself in a persistent state of low-level anxiety.</p>
<p>Unfortunately, this has dramatically impacted my ability to mentally organize my things. For example, I usually follow a seasonal schedule where I reevaluate the previous three months at the end of each quarter to see what worked and what didn&rsquo;t, and plan for the next quarter. It&rsquo;s kinda like having a &ldquo;new year&rdquo; every 12 weeks.</p> -- <a href="https://www.davideaversa.it/blog/changelog-april-2023/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/></entry><entry><title type="html">The Changelog – March 2023</title><link href="https://www.davideaversa.it/blog/changelog-march-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-february-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – February 2023"/><link href="https://www.davideaversa.it/blog/changelog-december-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2022"/><link href="https://www.davideaversa.it/blog/changelog-november-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2022"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><link href="https://www.davideaversa.it/blog/changelog-january-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2023"/><id>https://www.davideaversa.it/blog/changelog-march-2023/</id><author><name>Davide Aversa</name></author><published>2023-04-02T16:28:10+02:00</published><updated>2023-04-02T16:28:10+02:00</updated><content type="html"><![CDATA[<p>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 &ldquo;something went wrong or didn’t go as planned,&rdquo; but also in the more precise feeling that I don&rsquo;t know if I made any progress on anything or not.</p>
<p>With a quick statistical exploration of my diary, &ldquo;kitchen&rdquo; was the third most used word, followed only by &ldquo;things&rdquo; and &ldquo;do.&rdquo; I don&rsquo;t need GPT-4. Even this stupidly simple stat nails the two main issues this month: finding it very hard to do anything and fighting with my damn kitchen.</p> -- <a href="https://www.davideaversa.it/blog/changelog-march-2023/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/></entry><entry><title type="html">The Changelog – February 2023</title><link href="https://www.davideaversa.it/blog/changelog-february-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-december-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2022"/><link href="https://www.davideaversa.it/blog/changelog-november-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2022"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><link href="https://www.davideaversa.it/blog/changelog-january-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2023"/><link href="https://www.davideaversa.it/blog/changelog-september-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2022"/><id>https://www.davideaversa.it/blog/changelog-february-2023/</id><author><name>Davide Aversa</name></author><published>2023-03-03T11:32:02+01:00</published><updated>2023-03-03T11:32:02+01:00</updated><content type="html"><![CDATA[<p>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 effort by ten.</p>
<p><strong>I wanted to actively come back to fiction writing for a long time</strong>, but I never managed to get myself to do anything in that regard. So this month, I followed my own advice and asked myself to write for 30 minutes three days a week. It is really nothing. But it worked, and I wrote the first 2000 words of fiction in a long time. Not much, but still 2000 more words than in the previous 13 months. And even if I continue with this laughable average, I will still have a complete novel in 1 year. Not bad for &ldquo;getting unstuck.&rdquo;</p> -- <a href="https://www.davideaversa.it/blog/changelog-february-2023/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/></entry><entry><title type="html">Mastodon Revisited</title><link href="https://www.davideaversa.it/blog/mastodon-revisited/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/problem-mastodon-fediverse/?utm_source=atom_feed" rel="related" type="text/html" title="The Problem with Mastodon and the Fediverse"/><link href="https://www.davideaversa.it/blog/changelog-january-2023/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – January 2023"/><id>https://www.davideaversa.it/blog/mastodon-revisited/</id><author><name>Davide Aversa</name></author><published>2023-02-15T10:54:51+01:00</published><updated>2023-02-15T11:30:15+01:00</updated><content type="html"><![CDATA[A couple of years ago, I wrote critically about Mastodon. Now, with Twitter pluging into a disgusting <em>shittification</em>, I was exiled on Mastodon. Let&rsquo;s see where and how my opinion on the Don changed in the last month. -- <a href="https://www.davideaversa.it/blog/mastodon-revisited/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/mastodon" term="mastodon" label="mastodon"/><category scheme="https://www.davideaversa.it/tags/activitypub" term="activitypub" label="activitypub"/></entry><entry><title type="html">The Changelog – January 2023</title><link href="https://www.davideaversa.it/blog/changelog-january-2023/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-december-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2022"/><link href="https://www.davideaversa.it/blog/changelog-november-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2022"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><link href="https://www.davideaversa.it/blog/changelog-september-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2022"/><link href="https://www.davideaversa.it/blog/changelog-august-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2022"/><id>https://www.davideaversa.it/blog/changelog-january-2023/</id><author><name>Davide Aversa</name></author><published>2023-02-01T12:47:07+01:00</published><updated>2023-02-01T12:47:07+01:00</updated><content type="html"><![CDATA[<p>The first month of the year is always a month of change. However, the mistake is to make it a month of <em>drastic change</em>. First, for once, the months start with the New Year&rsquo;s Eve celebrations hangover, so we are already set up for failure. Second, drastic changes are doomed to failure anyway, so we should not put all our hopes on the line with bold new years resolutions.</p>
<p>Is this a good reason to give up? Absolutely not. But if we want to build a tower, we must prepare the terrain first. This is what January is for: not for tracking down goals but for preparing ourselves to veer the boat in the right direction.</p> -- <a href="https://www.davideaversa.it/blog/changelog-january-2023/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/></entry><entry><title type="html">The books I read in 2022</title><link href="https://www.davideaversa.it/blog/books-read-2022/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-december-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – December 2022"/><link href="https://www.davideaversa.it/blog/changelog-november-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2022"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><link href="https://www.davideaversa.it/blog/changelog-september-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2022"/><link href="https://www.davideaversa.it/blog/changelog-august-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2022"/><id>https://www.davideaversa.it/blog/books-read-2022/</id><author><name>Davide Aversa</name></author><published>2023-01-12T09:56:45+01:00</published><updated>2023-01-11T21:46:59+01:00</updated><content type="html"><![CDATA[<p>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, of course, there are good, valid reasons). But if that list is not empty, we can also know what kind of person they are.</p>
<p>So what this list tells about me?</p>
<p>For one, it says that I am a bit disappointed. I ended the year with only 28 books: three less than 2021, even if there are more short books. So, I should look back and see what didn&rsquo;t work out. For instance, I started too many books in parallel. Another thing is that this tragically eventful year has deeply distracted me. Finally, I only read 7 fiction books (last year, they were 17). 2 of these 7 were really boring bricks that slowed me down <strong>a lot.</strong> The lesson is that I should learn how to drop a book that is draining the life out of me.</p> -- <a href="https://www.davideaversa.it/blog/books-read-2022/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/></entry><entry><title type="html">The Changelog – December 2022</title><link href="https://www.davideaversa.it/blog/changelog-december-2022/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-november-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – November 2022"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><link href="https://www.davideaversa.it/blog/changelog-september-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2022"/><link href="https://www.davideaversa.it/blog/changelog-august-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2022"/><link href="https://www.davideaversa.it/blog/changelog-july-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2022"/><id>https://www.davideaversa.it/blog/changelog-december-2022/</id><author><name>Davide Aversa</name></author><published>2023-01-01T10:57:25+01:00</published><updated>2022-12-01T17:13:52+01:00</updated><content type="html"><![CDATA[<p>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 family. Not a bad thing to do, don&rsquo;t you agree?</p>
<p>December is also when winter begins. People see winter as a gloomy season, but I see it as the season of rest. If you look around, winter is when Nature goes to rest. Some animals go into hibernation, plants look dead, and sprouts and seeds lie sleeping under the snow. Winter is when Nature takes it slow.</p> -- <a href="https://www.davideaversa.it/blog/changelog-december-2022/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/board-games" term="board-games" label="board games"/></entry><entry><title type="html">The Changelog – November 2022</title><link href="https://www.davideaversa.it/blog/changelog-november-2022/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – October 2022"/><link href="https://www.davideaversa.it/blog/changelog-september-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2022"/><link href="https://www.davideaversa.it/blog/changelog-august-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2022"/><link href="https://www.davideaversa.it/blog/changelog-july-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2022"/><link href="https://www.davideaversa.it/blog/changelog-june-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2022"/><id>https://www.davideaversa.it/blog/changelog-november-2022/</id><author><name>Davide Aversa</name></author><published>2022-12-01T17:13:52+01:00</published><updated>2022-12-01T17:13:52+01:00</updated><content type="html"><![CDATA[<p>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, with moments of genuine excitement and moments of dread.</p>
<p><strong>November is usually a bad month.</strong> It is always full of bad memories and events. Even this year, November hit again early in the month: once again, I had to attend a November funeral. So I was ready to accept another black month in which the best I could do was to collect the pieces.</p> -- <a href="https://www.davideaversa.it/blog/changelog-november-2022/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/><category scheme="https://www.davideaversa.it/tags/board-games" term="board-games" label="board games"/><category scheme="https://www.davideaversa.it/tags/steam-deck" term="steam-deck" label="steam deck"/></entry><entry><title type="html">Utility-based AI for Games</title><link href="https://www.davideaversa.it/blog/utility-based-ai/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/utility-based-ai/</id><author><name>Davide Aversa</name></author><published>2022-11-25T17:02:17+01:00</published><updated>2022-11-26T11:47:24+01:00</updated><content type="html"><![CDATA[<p><strong>Finite-State Machines (FSM)</strong> 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 tutorials and guides. Unfortunately, most of them focus on the <em>States</em> part of FSM. After all, they are called Finite-<strong>State Machines</strong>, so you expect that states are the critical part.</p>
<p>Well, no. The critical part is the other: <strong>transitions</strong>.</p>
<p>Transitions can make or break your AI independently of how carefully crafted the states are. In other words, <strong>intelligence is in change</strong>, and the element of <em>change</em> in an FSM is represented by transitions.</p> -- <a href="https://www.davideaversa.it/blog/utility-based-ai/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="Gamedev"/><category scheme="https://www.davideaversa.it/tags/finite-state-machine" term="finite-state-machine" label="finite state machine"/><category scheme="https://www.davideaversa.it/tags/ai" term="ai" label="ai"/><category scheme="https://www.davideaversa.it/tags/ai-for-games" term="ai-for-games" label="ai for games"/><category scheme="https://www.davideaversa.it/tags/utility-based-ai" term="utility-based-ai" label="utility-based ai"/></entry><entry><title type="html">The Changelog – October 2022</title><link href="https://www.davideaversa.it/blog/changelog-october-2022/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-september-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2022"/><link href="https://www.davideaversa.it/blog/changelog-august-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2022"/><link href="https://www.davideaversa.it/blog/changelog-july-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2022"/><link href="https://www.davideaversa.it/blog/changelog-june-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2022"/><link href="https://www.davideaversa.it/blog/changelog-may-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2022"/><id>https://www.davideaversa.it/blog/changelog-october-2022/</id><author><name>Davide Aversa</name></author><published>2022-11-01T17:01:39+00:00</published><updated>2022-11-01T17:01:39+00:00</updated><content type="html"><![CDATA[<p>It was an October that didn&rsquo;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.</p>
<p><strong>This threw me off a bit.</strong> At the moment I am writing, it is Halloween, yet I do not really feel it. Well, I didn&rsquo;t feel the October vibes for the other part of the month, either. So I will probably call this month <em>September 2.0</em>, hope for a more traditional November (or not; I am okay with mild temperatures this year), and move on.</p> -- <a href="https://www.davideaversa.it/blog/changelog-october-2022/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/><category scheme="https://www.davideaversa.it/tags/videogame" term="videogame" label="videogame"/></entry><entry><title type="html">“Matteo squashed a lizard and Davide cried”</title><link href="https://www.davideaversa.it/blog/matteo-squashed-lizard-davide-cried/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-september-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – September 2022"/><link href="https://www.davideaversa.it/blog/changelog-august-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2022"/><link href="https://www.davideaversa.it/blog/changelog-july-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2022"/><link href="https://www.davideaversa.it/blog/changelog-june-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2022"/><link href="https://www.davideaversa.it/blog/changelog-may-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2022"/><id>https://www.davideaversa.it/blog/matteo-squashed-lizard-davide-cried/</id><author><name>Davide Aversa</name></author><published>2022-10-05T08:21:05+00:00</published><updated>2022-10-05T08:21:05+00:00</updated><content type="html">&lt;p>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, motionless lizard. Maybe it is injured, or perhaps it is already dead (it is in the nature of childhood memories to be uncertain). What I know is that I bend over it in awe: “There is a lizard!” I say to my friends with the typical enthusiasm for the small things of a six-year-old.&lt;/p> -- &lt;a href="https://www.davideaversa.it/blog/matteo-squashed-lizard-davide-cried/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/philosophy" term="philosophy" label="Philosophy"/><category scheme="https://www.davideaversa.it/tags/philosophy" term="philosophy" label="philosophy"/><category scheme="https://www.davideaversa.it/tags/life" term="life" label="life"/></entry><entry><title type="html">The Changelog – September 2022</title><link href="https://www.davideaversa.it/blog/changelog-september-2022/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-august-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – August 2022"/><link href="https://www.davideaversa.it/blog/changelog-july-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2022"/><link href="https://www.davideaversa.it/blog/changelog-june-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2022"/><link href="https://www.davideaversa.it/blog/changelog-may-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2022"/><link href="https://www.davideaversa.it/blog/unity-artificial-intelligence-programming-5/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Artificial Intelligence Programming – Fifth Edition"/><id>https://www.davideaversa.it/blog/changelog-september-2022/</id><author><name>Davide Aversa</name></author><published>2022-10-01T08:48:38+00:00</published><updated>2022-10-01T08:48:38+00:00</updated><content type="html"><![CDATA[<p>September is the best month. It is the &ldquo;back to school&rdquo; month. The time when you sprint into a new season of life. Only that, this time, <strong>I think I forgot about that</strong>. I still have a task I put on my to-do list on September 1st. It is about my regular planning and organization for the new season. I usually need to do that in the first week of September. But it is still there at the time of writing (September 28th).</p> -- <a href="https://www.davideaversa.it/blog/changelog-september-2022/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/></entry><entry><title type="html">The Changelog – August 2022</title><link href="https://www.davideaversa.it/blog/changelog-august-2022/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-july-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – July 2022"/><link href="https://www.davideaversa.it/blog/changelog-june-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2022"/><link href="https://www.davideaversa.it/blog/changelog-may-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2022"/><link href="https://www.davideaversa.it/blog/unity-artificial-intelligence-programming-5/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Artificial Intelligence Programming – Fifth Edition"/><link href="https://www.davideaversa.it/blog/books-read-2021/?utm_source=atom_feed" rel="related" type="text/html" title="The books I read in 2021"/><id>https://www.davideaversa.it/blog/changelog-august-2022/</id><author><name>Davide Aversa</name></author><published>2022-09-01T09:22:13+00:00</published><updated>2022-09-01T09:22:13+00:00</updated><content type="html"><![CDATA[<p>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, a weekend in Tuscany, friendly human interactions, and a good chunk of consumed media (I put a big dent in my extra-large-neverending watch/read/playlist).</p>
<p>I&rsquo;ve also finally updated this blog with an extensive article. The funny thing is that it was not any of my &ldquo;currently in draft&rdquo; articles. Instead, I tried to intervene in a bit of drama between the artist community, the recent progress of Computational Creativity, and the state of the art in &ldquo;AI-Generated Images.&rdquo; So if you don&rsquo;t know what I am talking about, but if you like AI, are an artist, or simply want a freakout-free guide to &ldquo;AI Artists,&rdquo; <a href="https://www.davideaversa.it/blog/freakout-free-guide-generative-ai/">you are the perfect audience for my article</a>.</p> -- <a href="https://www.davideaversa.it/blog/changelog-august-2022/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/tv-series" term="tv-series" label="tv series"/></entry><entry><title type="html">The Freakout-Free Guide to Generative AI</title><link href="https://www.davideaversa.it/blog/freakout-free-guide-generative-ai/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/machine-consciousness-is-inevitable/?utm_source=atom_feed" rel="related" type="text/html" title="Machine Consciousness is Inevitable"/><link href="https://www.davideaversa.it/blog/trolley-cart-problem-is-not-ai/?utm_source=atom_feed" rel="related" type="text/html" title="The Trolley Cart Problem is not an AI problem"/><link href="https://www.davideaversa.it/blog/overview-procedural-storytelling/?utm_source=atom_feed" rel="related" type="text/html" title="Overview of Three Techniques for Procedural Storytelling"/><link href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/?utm_source=atom_feed" rel="related" type="text/html" title="Marginalia: Rebooting AI by Gary Marcus and Ernest Davis"/><link href="https://www.davideaversa.it/blog/unity-artificial-intelligence-programming-5/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Artificial Intelligence Programming – Fifth Edition"/><id>https://www.davideaversa.it/blog/freakout-free-guide-generative-ai/</id><author><name>Davide Aversa</name></author><published>2022-08-24T15:42:41+00:00</published><updated>2022-08-24T15:42:41+00:00</updated><content type="html"><![CDATA[I saw a bit of a heated debate around generative AI and AI art. So this is my &ldquo;guide&rdquo; for the general public, where I try to answer some common questions. What is generative AI? How does it work? What are its problems? What are their advantages? Do we all die because of it? (no). -- <a href="https://www.davideaversa.it/blog/freakout-free-guide-generative-ai/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/artificial-intelligence" term="artificial-intelligence" label="artificial intelligence"/><category scheme="https://www.davideaversa.it/tags/computational-creativity" term="computational-creativity" label="computational creativity"/><category scheme="https://www.davideaversa.it/tags/generative-ai" term="generative-ai" label="generative ai"/><category scheme="https://www.davideaversa.it/tags/art" term="art" label="art"/></entry><entry><title type="html">The Changelog – July 2022</title><link href="https://www.davideaversa.it/blog/changelog-july-2022/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-june-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – June 2022"/><link href="https://www.davideaversa.it/blog/changelog-may-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2022"/><link href="https://www.davideaversa.it/blog/unity-artificial-intelligence-programming-5/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Artificial Intelligence Programming – Fifth Edition"/><link href="https://www.davideaversa.it/blog/books-read-2021/?utm_source=atom_feed" rel="related" type="text/html" title="The books I read in 2021"/><link href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/?utm_source=atom_feed" rel="related" type="text/html" title="Marginalia: Rebooting AI by Gary Marcus and Ernest Davis"/><id>https://www.davideaversa.it/blog/changelog-july-2022/</id><author><name>Davide Aversa</name></author><published>2022-08-01T12:17:10+00:00</published><updated>2022-08-01T12:17:10+00:00</updated><content type="html"><![CDATA[<p>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 the end of the month, I realize that I often fail at this simple goal. It is not easy to break the routine and create something memorable every 30 days.</p>
<p>But July was not one of those months. In fact, when it started, I was sitting at a beach bar in <strong>Attica</strong>, <strong>Greece</strong>, looking at the moon reflecting on the nigh sea after the <strong>first day of the company retreat</strong> (to be precise, the first retreat after the pandemic pause).</p> -- <a href="https://www.davideaversa.it/blog/changelog-july-2022/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/><category scheme="https://www.davideaversa.it/tags/music" term="music" label="music"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/></entry><entry><title type="html">The Changelog – June 2022</title><link href="https://www.davideaversa.it/blog/changelog-june-2022/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/changelog-may-2022/?utm_source=atom_feed" rel="related" type="text/html" title="The Changelog – May 2022"/><link href="https://www.davideaversa.it/blog/unity-artificial-intelligence-programming-5/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Artificial Intelligence Programming – Fifth Edition"/><link href="https://www.davideaversa.it/blog/books-read-2021/?utm_source=atom_feed" rel="related" type="text/html" title="The books I read in 2021"/><link href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/?utm_source=atom_feed" rel="related" type="text/html" title="Marginalia: Rebooting AI by Gary Marcus and Ernest Davis"/><link href="https://www.davideaversa.it/blog/unity-game-optimization-is-out/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Game Optimization is now available!"/><id>https://www.davideaversa.it/blog/changelog-june-2022/</id><author><name>Davide Aversa</name></author><published>2022-06-28T12:22:43+00:00</published><updated>2024-12-31T13:41:41+01:00</updated><content type="html"><![CDATA[<p>This issue came a bit earlier. In fact, tomorrow I&rsquo;ll be traveling to Athens for work (and fun, I hope), and I&rsquo;ll be back on July 3rd. So I think it is better to release earlier than late and leave the traveling part for next month.</p>
<p>But let&rsquo;s come back to the chase: June. June started as May ended: in an emotional disaster. Fortunately, though, things got better along the way. If it weren&rsquo;t for my usual travel-induced anxiety, I&rsquo;d be in a very good spot.</p> -- <a href="https://www.davideaversa.it/blog/changelog-june-2022/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/></entry><entry><title type="html">The Changelog – May 2022</title><link href="https://www.davideaversa.it/blog/changelog-may-2022/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/unity-artificial-intelligence-programming-5/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Artificial Intelligence Programming – Fifth Edition"/><link href="https://www.davideaversa.it/blog/books-read-2021/?utm_source=atom_feed" rel="related" type="text/html" title="The books I read in 2021"/><link href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/?utm_source=atom_feed" rel="related" type="text/html" title="Marginalia: Rebooting AI by Gary Marcus and Ernest Davis"/><link href="https://www.davideaversa.it/blog/unity-game-optimization-is-out/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Game Optimization is now available!"/><id>https://www.davideaversa.it/blog/changelog-may-2022/</id><author><name>Davide Aversa</name></author><published>2022-06-01T12:58:51+00:00</published><updated>2022-06-01T12:58:51+00:00</updated><content type="html"><![CDATA[<p><em>Why am I starting again with the monthly changelogs?</em></p>
<p>I constantly have the burning desire to have a place to write something completely free. My blog is mostly about technology, and my Medium publication is about political philosophy, but what about everything else? In the last two years, my interests shifted, and while I am definitively still working in tech fields, and I will still write about it, I missed having a small place where to explore different things that are not big enough to be worth an entire article or, even worse, a separate blog.</p> -- <a href="https://www.davideaversa.it/blog/changelog-may-2022/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/changelog" term="changelog" label="changelog"/></entry><entry><title type="html">Unity Artificial Intelligence Programming – Fifth Edition</title><link href="https://www.davideaversa.it/blog/unity-artificial-intelligence-programming-5/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/unity-game-optimization-is-out/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Game Optimization is now available!"/><link href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/?utm_source=atom_feed" rel="related" type="text/html" title="Marginalia: Rebooting AI by Gary Marcus and Ernest Davis"/><link href="https://www.davideaversa.it/blog/overview-procedural-storytelling/?utm_source=atom_feed" rel="related" type="text/html" title="Overview of Three Techniques for Procedural Storytelling"/><link href="https://www.davideaversa.it/blog/books-read-2021/?utm_source=atom_feed" rel="related" type="text/html" title="The books I read in 2021"/><link href="https://www.davideaversa.it/blog/december-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="December 2019 Update"/><id>https://www.davideaversa.it/blog/unity-artificial-intelligence-programming-5/</id><author><name>Davide Aversa</name></author><published>2022-04-20T15:31:25+00:00</published><updated>2022-04-20T15:31:25+00:00</updated><content type="html"><![CDATA[<p>Hey, everyone. As you know, I am not particularly present recently (I need to find out how to handle this blog while my interests spread out on non-technical stuff, but this is something for another time).</p>
<p>However, I am back with an announcement: I have recently published the fifth edition of <a href="https://www.packtpub.com/product/unity-artificial-intelligence-programming-fifth-edition/9781803238531">Unity Artificial Intelligence Programming</a>.</p>



















<figure >
  
  <div class="img-wrapper"> 


  <img
        src="header"
        
        
        
         style="max-width: 100%;" />
    </div>
  
  
  
</figure>

<p>Not only have I updated the book for Unity 2022, but the book is also a <strong>massive</strong> improvement over the last edition in terms of code quality and consistency (and I really need to thank Kazimieras Mikelis for the extensive and detailed review). Moreover, I added a chapter on Procedural Content Generation because it is my main interest, of course.</p> -- <a href="https://www.davideaversa.it/blog/unity-artificial-intelligence-programming-5/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/unity" term="unity" label="unity"/></entry><entry><title type="html">Julia Revisited</title><link href="https://www.davideaversa.it/blog/julia-revisited-2022/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-2/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2015 - Part 2"/><link href="https://www.davideaversa.it/blog/will-zig-sweet-spot-looking-for/?utm_source=atom_feed" rel="related" type="text/html" title='Will Zig be the "sweet spot" I am looking for?'/><link href="https://www.davideaversa.it/blog/will-crystal-sweet-spot-looking-for/?utm_source=atom_feed" rel="related" type="text/html" title='Will Crystal be the "sweet spot" I am looking for?'/><link href="https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/?utm_source=atom_feed" rel="related" type="text/html" title="Go is still fighting over generics. In 2019."/><link href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/?utm_source=atom_feed" rel="related" type="text/html" title="Kotlin Development in VS Code"/><id>https://www.davideaversa.it/blog/julia-revisited-2022/</id><author><name>Davide Aversa</name></author><published>2022-02-17T14:44:33+00:00</published><updated>2022-02-17T14:44:33+00:00</updated><content type="html"><![CDATA[<p>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 meaningful momentum.</p>
<p>Fortunately, time proved me wrong. And I am delighted I was. I am not sure what happened (as I said, I stopped following it), but the language had significant acceleration, and it finally got enough adoption and interest that it finally popped up a lot under my radar.</p> -- <a href="https://www.davideaversa.it/blog/julia-revisited-2022/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/programming-language" term="programming-language" label="programming language"/><category scheme="https://www.davideaversa.it/tags/julia" term="julia" label="julia"/><category scheme="https://www.davideaversa.it/tags/advent-of-code" term="advent-of-code" label="advent-of-code"/></entry><entry><title type="html">The books I read in 2021</title><link href="https://www.davideaversa.it/blog/books-read-2021/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/?utm_source=atom_feed" rel="related" type="text/html" title="Marginalia: Rebooting AI by Gary Marcus and Ernest Davis"/><link href="https://www.davideaversa.it/blog/unity-game-optimization-is-out/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Game Optimization is now available!"/><link href="https://www.davideaversa.it/blog/preserving-cryptography-book-1897/?utm_source=atom_feed" rel="related" type="text/html" title="Preserving a Cryptography book from 1897"/><id>https://www.davideaversa.it/blog/books-read-2021/</id><author><name>Davide Aversa</name></author><published>2022-01-29T22:25:44+00:00</published><updated>2022-01-29T22:25:44+00:00</updated><content type="html"><![CDATA[<p>Last year was an excellent year for reading. I&rsquo;ve read <strong>31 books</strong>, totaling almost <strong>10,000 pages</strong>: <strong>17 fiction books</strong> (way more than last year), <strong>13 non-fiction</strong> (as a surprise, because I usually read non-fiction faster), and <strong>one graphic novel</strong>. Some books were unbelievable literary mistakes. Others were absolute gems that I&rsquo;ll keep in my mind and heart (it is wise for the Chinese to have a single word for both: 心).</p> -- <a href="https://www.davideaversa.it/blog/books-read-2021/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/></entry><entry><title type="html">Machine Consciousness is Inevitable</title><link href="https://www.davideaversa.it/blog/machine-consciousness-is-inevitable/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/trolley-cart-problem-is-not-ai/?utm_source=atom_feed" rel="related" type="text/html" title="The Trolley Cart Problem is not an AI problem"/><link href="https://www.davideaversa.it/blog/overview-procedural-storytelling/?utm_source=atom_feed" rel="related" type="text/html" title="Overview of Three Techniques for Procedural Storytelling"/><link href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/?utm_source=atom_feed" rel="related" type="text/html" title="Marginalia: Rebooting AI by Gary Marcus and Ernest Davis"/><link href="https://www.davideaversa.it/blog/artificial-anxiety-and-the-problem-mental-issues-in-ai/?utm_source=atom_feed" rel="related" type="text/html" title='Artificial Anxiety and the problem "Mental Issues" in AI'/><link href="https://www.davideaversa.it/blog/when-cheating-with-a-robot-is-really-cheating/?utm_source=atom_feed" rel="related" type="text/html" title="When cheating with a robot is really cheating?"/><id>https://www.davideaversa.it/blog/machine-consciousness-is-inevitable/</id><author><name>Davide Aversa</name></author><published>2021-08-31T15:19:55+02:00</published><updated>2021-08-31T15:19:55+02:00</updated><content type="html">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 details of how such consciousness will emerge and how it will look like. -- &lt;a href="https://www.davideaversa.it/blog/machine-consciousness-is-inevitable/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/artificial-intelligence" term="artificial-intelligence" label="artificial intelligence"/><category scheme="https://www.davideaversa.it/tags/philosophy" term="philosophy" label="philosophy"/><category scheme="https://www.davideaversa.it/tags/robot" term="robot" label="robot"/></entry><entry><title type="html">The Problem with Mastodon and the Fediverse</title><link href="https://www.davideaversa.it/blog/problem-mastodon-fediverse/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/exploring-the-small-web/?utm_source=atom_feed" rel="related" type="text/html" title="Exploring the Small Web"/><id>https://www.davideaversa.it/blog/problem-mastodon-fediverse/</id><author><name>Davide Aversa</name></author><published>2021-08-22T19:22:21+02:00</published><updated>2021-08-22T21:52:21+02:00</updated><content type="html">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 commercial social networks. And like me, 99% of the non-technical people I know. Why? A quick answer for a bloody hot August. -- &lt;a href="https://www.davideaversa.it/blog/problem-mastodon-fediverse/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/mastodon" term="mastodon" label="mastodon"/><category scheme="https://www.davideaversa.it/tags/internet" term="internet" label="internet"/><category scheme="https://www.davideaversa.it/tags/fediverse" term="fediverse" label="fediverse"/><category scheme="https://www.davideaversa.it/tags/opensource" term="opensource" label="opensource"/></entry><entry><title type="html">Use Obsidian's Plugin Responsibly</title><link href="https://www.davideaversa.it/blog/use-obsidian-plugin-responsibly/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/export-kindle-highlights/?utm_source=atom_feed" rel="related" type="text/html" title="How to Export your Kindle Highlights"/><link href="https://www.davideaversa.it/blog/never-underestimate-a-smooth-workflow/?utm_source=atom_feed" rel="related" type="text/html" title="Never underestimate a smooth workflow"/><link href="https://www.davideaversa.it/blog/on-the-developer-anxiety/?utm_source=atom_feed" rel="related" type="text/html" title="On developer anxiety"/><id>https://www.davideaversa.it/blog/use-obsidian-plugin-responsibly/</id><author><name>Davide Aversa</name></author><published>2021-07-25T18:37:11+02:00</published><updated>2021-07-25T18:37:11+02:00</updated><content type="html"><![CDATA[This is just a reminder for an undesirable side effect of some Obsidian&rsquo;s Plugin: they make your notes <em>Obsidian-dependent</em>. Here I will describe what is the problem and how can you easily avoid it to keep your note really <em>futureproof</em>. -- <a href="https://www.davideaversa.it/blog/use-obsidian-plugin-responsibly/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/workflow" term="workflow" label="Workflow"/><category scheme="https://www.davideaversa.it/tags/workflow" term="workflow" label="workflow"/><category scheme="https://www.davideaversa.it/tags/obsidian" term="obsidian" label="obsidian"/><category scheme="https://www.davideaversa.it/tags/notes" term="notes" label="notes"/></entry><entry><title type="html">Exploring the Small Web</title><link href="https://www.davideaversa.it/blog/exploring-the-small-web/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/exploring-the-small-web/</id><author><name>Davide Aversa</name></author><published>2021-05-30T09:53:00+02:00</published><updated>2021-05-30T09:53:00+02:00</updated><content type="html"><![CDATA[I stumbled into the Small Web. A minimal barebone version of the web. It&rsquo;s a place that remember me of a long gone web. It is the Small Web powered by the Gopher and Gemini protocols. Let&rsquo;s see what it is and why I decided to create there a small intimate island. -- <a href="https://www.davideaversa.it/blog/exploring-the-small-web/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/gemini" term="gemini" label="gemini"/><category scheme="https://www.davideaversa.it/tags/internet" term="internet" label="internet"/></entry><entry><title type="html">"How Small Open-World Games Feel Big" by Razbuten</title><link href="https://www.davideaversa.it/links/small-worlds-big/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/links/crafting-is-pointless/?utm_source=atom_feed" rel="related" type="text/html" title='"Crafting Is (Kinda) Pointless" by Razbuten'/><link href="https://www.davideaversa.it/blog/apple-arcane-mobile-game-fun-again/?utm_source=atom_feed" rel="related" type="text/html" title="Apple Arcade made my mobile gaming fun again"/><link href="https://www.davideaversa.it/blog/how-choose-fantasy-console/?utm_source=atom_feed" rel="related" type="text/html" title="And so you want to choose a Fantasy Console"/><link href="https://www.davideaversa.it/blog/state-game-development-rust/?utm_source=atom_feed" rel="related" type="text/html" title="The State of Game Development in Rust"/><id>https://www.davideaversa.it/links/small-worlds-big/</id><author><name>Davide Aversa</name></author><published>2021-05-28T09:48:31+02:00</published><updated>2021-05-28T09:48:31+02:00</updated><content type="html"><![CDATA[Razbuten always nails it (great minds think alike, they say 😃). In this short video, he explains a game design aspect that I started to notice exactly after playing A Small Hike. I have nothing to add on this subject and I really recommend Razbuten&rsquo;s video. The only major difference is that I 100%-completed <em>Ghost of Tsushima</em>, but there are many other personal reasons for that. 😃 -- <a href="https://www.davideaversa.it/links/small-worlds-big/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/gamedev" term="gamedev" label="gamedev"/></entry><entry><title type="html">A simple Event System in TypeScript</title><link href="https://www.davideaversa.it/blog/simple-event-system-typescript/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/property-based-testing-typescript-fast-check/?utm_source=atom_feed" rel="related" type="text/html" title="Property-Based Testing in Typescript with Fast-Check"/><link href="https://www.davideaversa.it/blog/my-first-deno-experiment/?utm_source=atom_feed" rel="related" type="text/html" title="My First Deno Experiment"/><link href="https://www.davideaversa.it/blog/typescript-unit-test-web-applications/?utm_source=atom_feed" rel="related" type="text/html" title="Typescript Unit Test for Web Applications"/><link href="https://www.davideaversa.it/blog/typescript-binary-heap/?utm_source=atom_feed" rel="related" type="text/html" title="TypeScript Binary Heap"/><link href="https://www.davideaversa.it/blog/quick-dev-tips-pixel-perfect-scaling-phaser-game/?utm_source=atom_feed" rel="related" type="text/html" title="Quick Dev Tips: Pixel-Perfect Scaling of a Phaser game"/><id>https://www.davideaversa.it/blog/simple-event-system-typescript/</id><author><name>Davide Aversa</name></author><published>2021-05-17T09:12:49+02:00</published><updated>2021-05-17T09:12:49+02:00</updated><content type="html">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 article, I go over a very simple and minimal Event System for Typescript so that you can use it too, or understand the basic principles of existing event system packages. -- &lt;a href="https://www.davideaversa.it/blog/simple-event-system-typescript/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/typescript" term="typescript" label="typescript"/><category scheme="https://www.davideaversa.it/tags/events" term="events" label="events"/></entry><entry><title type="html">How VSCode's RestClient saved me from Postman</title><link href="https://www.davideaversa.it/blog/vscode-restclient-saved-me-from-postman/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/how-to-remote-debug-nodejs-vscode/?utm_source=atom_feed" rel="related" type="text/html" title="How to debug a Node.js application remotely in VSCode"/><link href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/?utm_source=atom_feed" rel="related" type="text/html" title="Kotlin Development in VS Code"/><link href="https://www.davideaversa.it/blog/visual-studio-code-favorite-extensions/?utm_source=atom_feed" rel="related" type="text/html" title="My favorite Visual Studio Code extensions"/><id>https://www.davideaversa.it/blog/vscode-restclient-saved-me-from-postman/</id><author><name>Davide Aversa</name></author><published>2021-05-11T12:25:10+02:00</published><updated>2021-05-11T12:25:10+02:00</updated><content type="html">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&amp;rsquo;ve recently found the perfect Visual Studio Code extension for managing APIs: RestClient. -- &lt;a href="https://www.davideaversa.it/blog/vscode-restclient-saved-me-from-postman/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/vscode" term="vscode" label="vscode"/></entry><entry><title type="html">Will Zig be the "sweet spot" I am looking for?</title><link href="https://www.davideaversa.it/blog/will-zig-sweet-spot-looking-for/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/will-crystal-sweet-spot-looking-for/?utm_source=atom_feed" rel="related" type="text/html" title='Will Crystal be the "sweet spot" I am looking for?'/><link href="https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/?utm_source=atom_feed" rel="related" type="text/html" title="Go is still fighting over generics. In 2019."/><link href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/?utm_source=atom_feed" rel="related" type="text/html" title="Kotlin Development in VS Code"/><id>https://www.davideaversa.it/blog/will-zig-sweet-spot-looking-for/</id><author><name>Davide Aversa</name></author><published>2021-04-15T17:40:13+02:00</published><updated>2021-04-15T17:40:13+02:00</updated><content type="html">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 sources: &lt;a href="https://ziglang.org/">Zig&lt;/a>. It will be my new love? It will be the perfect tool I was looking for? It is the beginning of a new programming langue star? Let’s find out that together. -- &lt;a href="https://www.davideaversa.it/blog/will-zig-sweet-spot-looking-for/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/zig" term="zig" label="zig"/><category scheme="https://www.davideaversa.it/tags/languages" term="languages" label="languages"/></entry><entry><title type="html">Will Crystal be the "sweet spot" I am looking for?</title><link href="https://www.davideaversa.it/blog/will-crystal-sweet-spot-looking-for/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/?utm_source=atom_feed" rel="related" type="text/html" title="Go is still fighting over generics. In 2019."/><link href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/?utm_source=atom_feed" rel="related" type="text/html" title="Kotlin Development in VS Code"/><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="related" type="text/html" title="Most Promising Programming Languages of 2017"/><id>https://www.davideaversa.it/blog/will-crystal-sweet-spot-looking-for/</id><author><name>Davide Aversa</name></author><published>2021-04-01T17:10:40+02:00</published><updated>2021-04-01T17:10:40+02:00</updated><content type="html"><![CDATA[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 idea of its potentialities. Will this &ldquo;Compiled Ruby&rdquo; be the sweet spot between Python and Rust I am looking for? -- <a href="https://www.davideaversa.it/blog/will-crystal-sweet-spot-looking-for/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/crystal" term="crystal" label="crystal"/><category scheme="https://www.davideaversa.it/tags/languages" term="languages" label="languages"/></entry><entry><title type="html">The Grammar of Game Design</title><link href="https://www.davideaversa.it/blog/grammar-game-design/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/hades-case-study-storytelling-roguelike-games/?utm_source=atom_feed" rel="related" type="text/html" title="Hades: a case study in storytelling for roguelike games"/><link href="https://www.davideaversa.it/blog/convergence-aaa-games/?utm_source=atom_feed" rel="related" type="text/html" title="The Great Convergence of AAA Games"/><link href="https://www.davideaversa.it/blog/what-makes-story-good/?utm_source=atom_feed" rel="related" type="text/html" title="What makes a story a good story"/><link href="https://www.davideaversa.it/blog/why-love-narration-through-discovery/?utm_source=atom_feed" rel="related" type="text/html" title="Why I love Narration Through Discovery"/><link href="https://www.davideaversa.it/blog/gamedesign-math-rpg-level-based-progression/?utm_source=atom_feed" rel="related" type="text/html" title="GameDesign Math: RPG Level-based Progression"/><id>https://www.davideaversa.it/blog/grammar-game-design/</id><author><name>Davide Aversa</name></author><published>2021-03-19T17:32:07+01:00</published><updated>2021-03-19T17:32:07+01:00</updated><content type="html"><![CDATA[Game Design <strong>is</strong> 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 <em>alphabet</em>, its <em>morphology</em>, and its <em>syntax</em> and <em>semantic</em>. In this article I’ll briefly try to exapand this thought. -- <a href="https://www.davideaversa.it/blog/grammar-game-design/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/videogames" term="videogames" label="videogames"/><category scheme="https://www.davideaversa.it/tags/game-design" term="game-design" label="game design"/></entry><entry><title type="html">The link between n-Bounded Compositions and the extended Fibonacci Sequence</title><link href="https://www.davideaversa.it/blog/link-bounded-compositions-extended-fibonacci-sequence/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/rogozhin-universal-turing-machines/?utm_source=atom_feed" rel="related" type="text/html" title="On Rogozhin's Universal Turing Machines"/><link href="https://www.davideaversa.it/blog/gamedesign-math-rpg-level-based-progression/?utm_source=atom_feed" rel="related" type="text/html" title="GameDesign Math: RPG Level-based Progression"/><link href="https://www.davideaversa.it/blog/how-hidden-variables-in-statistical-models-affect-social-inequality/?utm_source=atom_feed" rel="related" type="text/html" title="How hidden variables in statistical models affect social inequality"/><link href="https://www.davideaversa.it/blog/fast-approximated-moving-average-computation/?utm_source=atom_feed" rel="related" type="text/html" title="Fast (Approximated) Moving Average Computation"/><id>https://www.davideaversa.it/blog/link-bounded-compositions-extended-fibonacci-sequence/</id><author><name>Davide Aversa</name></author><published>2021-02-06T11:34:14+01:00</published><updated>2023-08-16T09:45:16+02:00</updated><content type="html">During last year Advent of Code, I ended up discovering a beautiful relation between bounded integer compositions and the generalized Fibonacci sequence. Probably it is an already known relation, but the fact that it popped up in a totally unrelated problem is a remarkable example on how number theory properties may pop up in the most unexpected places. -- &lt;a href="https://www.davideaversa.it/blog/link-bounded-compositions-extended-fibonacci-sequence/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/math" term="math" label="Math"/><category scheme="https://www.davideaversa.it/tags/math" term="math" label="math"/><category scheme="https://www.davideaversa.it/tags/number-theory" term="number-theory" label="number theory"/></entry><entry><title type="html">"Crafting Is (Kinda) Pointless" by Razbuten</title><link href="https://www.davideaversa.it/links/crafting-is-pointless/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/apple-arcane-mobile-game-fun-again/?utm_source=atom_feed" rel="related" type="text/html" title="Apple Arcade made my mobile gaming fun again"/><link href="https://www.davideaversa.it/blog/how-choose-fantasy-console/?utm_source=atom_feed" rel="related" type="text/html" title="And so you want to choose a Fantasy Console"/><link href="https://www.davideaversa.it/blog/state-game-development-rust/?utm_source=atom_feed" rel="related" type="text/html" title="The State of Game Development in Rust"/><id>https://www.davideaversa.it/links/crafting-is-pointless/</id><author><name>Davide Aversa</name></author><published>2020-11-25T10:30:30+01:00</published><updated>2020-11-25T10:30:30+01:00</updated><content type="html">This is a very interesting analysis of crafting in modern games. Crafting systems are everywhere but they are often just glorified menus. I agree with Razbuten a lot on this. So check it out! -- &lt;a href="https://www.davideaversa.it/links/crafting-is-pointless/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/gamedev" term="gamedev" label="gamedev"/></entry><entry><title type="html">Hades: a case study in storytelling for roguelike games</title><link href="https://www.davideaversa.it/blog/hades-case-study-storytelling-roguelike-games/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/what-makes-story-good/?utm_source=atom_feed" rel="related" type="text/html" title="What makes a story a good story"/><link href="https://www.davideaversa.it/blog/convergence-aaa-games/?utm_source=atom_feed" rel="related" type="text/html" title="The Great Convergence of AAA Games"/><link href="https://www.davideaversa.it/blog/why-love-narration-through-discovery/?utm_source=atom_feed" rel="related" type="text/html" title="Why I love Narration Through Discovery"/><link href="https://www.davideaversa.it/blog/swift-announces-official-windows-support/?utm_source=atom_feed" rel="related" type="text/html" title="Swift announces official Windows support — maybe too late"/><link href="https://www.davideaversa.it/blog/apple-arcane-mobile-game-fun-again/?utm_source=atom_feed" rel="related" type="text/html" title="Apple Arcade made my mobile gaming fun again"/><id>https://www.davideaversa.it/blog/hades-case-study-storytelling-roguelike-games/</id><author><name>Davide Aversa</name></author><published>2020-11-23T16:44:36+01:00</published><updated>2020-11-23T16:44:36+01:00</updated><content type="html"><![CDATA[I know, I know: everybody loves Hades, the Super Giant&rsquo;s latest jewel. These days, it is impossible to read any online game magazine without reading articles about it. This game has been on everybody&rsquo;s mouth since its official release on September 17th.</br></br>And for good reasons.</br></br>Hades managed to raise the bar of the roguelike genre just when the genere started to become stale and boring. There are many reasons for this success but, in my opinion, Hades&rsquo; greatest accomplishment is that it was able to provide a glaring example of a roguelike with a solid storytelling. -- <a href="https://www.davideaversa.it/blog/hades-case-study-storytelling-roguelike-games/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/videogames" term="videogames" label="videogames"/><category scheme="https://www.davideaversa.it/tags/writing" term="writing" label="writing"/><category scheme="https://www.davideaversa.it/tags/roguelike" term="roguelike" label="roguelike"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/></entry><entry><title type="html">Property-Based Testing in Typescript with Fast-Check</title><link href="https://www.davideaversa.it/blog/property-based-testing-typescript-fast-check/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/my-first-deno-experiment/?utm_source=atom_feed" rel="related" type="text/html" title="My First Deno Experiment"/><link href="https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/?utm_source=atom_feed" rel="related" type="text/html" title="Javascript is not so bad, after all"/><link href="https://www.davideaversa.it/blog/typescript-binary-heap/?utm_source=atom_feed" rel="related" type="text/html" title="TypeScript Binary Heap"/><link href="https://www.davideaversa.it/blog/quick-dev-tips-pixel-perfect-scaling-phaser-game/?utm_source=atom_feed" rel="related" type="text/html" title="Quick Dev Tips: Pixel-Perfect Scaling of a Phaser game"/><link href="https://www.davideaversa.it/blog/dwarf-fortress-calendar-purescript-halogen/?utm_source=atom_feed" rel="related" type="text/html" title="A Dwarf Fortress calendar in PureScript + Halogen"/><id>https://www.davideaversa.it/blog/property-based-testing-typescript-fast-check/</id><author><name>Davide Aversa</name></author><published>2020-11-06T16:29:20+01:00</published><updated>2024-12-31T14:39:33+01:00</updated><content type="html"><![CDATA[<strong>Property-based testing</strong> 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. As you can imagine, I look for a Property-based testing framework in any language I have under my hands. Usually, unsuccessfully. However, in recent years I am working a lot with Typescript and, luckily, Typescript has a good property-based testing library: <strong>fast-check</strong>. -- <a href="https://www.davideaversa.it/blog/property-based-testing-typescript-fast-check/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/typescript" term="typescript" label="typescript"/><category scheme="https://www.davideaversa.it/tags/property-based-testing" term="property-based-testing" label="property-based-testing"/><category scheme="https://www.davideaversa.it/tags/javascript" term="javascript" label="javascript"/></entry><entry><title type="html">How to debug a Node.js application remotely in VSCode</title><link href="https://www.davideaversa.it/blog/how-to-remote-debug-nodejs-vscode/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/?utm_source=atom_feed" rel="related" type="text/html" title="Kotlin Development in VS Code"/><link href="https://www.davideaversa.it/blog/visual-studio-code-favorite-extensions/?utm_source=atom_feed" rel="related" type="text/html" title="My favorite Visual Studio Code extensions"/><link href="https://www.davideaversa.it/blog/debug-with-git-binary-search/?utm_source=atom_feed" rel="related" type="text/html" title="Debug with Git Binary Search"/><id>https://www.davideaversa.it/blog/how-to-remote-debug-nodejs-vscode/</id><author><name>Davide Aversa</name></author><published>2020-10-20T15:39:36+02:00</published><updated>2020-10-20T15:39:36+02:00</updated><content type="html"><![CDATA[Debugging a remote Node.js application in VSCode is an elementary procedure. Here it is a small <em>&ldquo;how to&rdquo;</em> in case you are struggling with it. A quick answer because you want a solution, not the story of my life. -- <a href="https://www.davideaversa.it/blog/how-to-remote-debug-nodejs-vscode/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/node.js" term="node.js" label="node.js"/><category scheme="https://www.davideaversa.it/tags/vscode" term="vscode" label="vscode"/><category scheme="https://www.davideaversa.it/tags/debug" term="debug" label="debug"/></entry><entry><title type="html">The Trolley Cart Problem is not an AI problem</title><link href="https://www.davideaversa.it/blog/trolley-cart-problem-is-not-ai/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/overview-procedural-storytelling/?utm_source=atom_feed" rel="related" type="text/html" title="Overview of Three Techniques for Procedural Storytelling"/><link href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/?utm_source=atom_feed" rel="related" type="text/html" title="Marginalia: Rebooting AI by Gary Marcus and Ernest Davis"/><link href="https://www.davideaversa.it/blog/artificial-anxiety-and-the-problem-mental-issues-in-ai/?utm_source=atom_feed" rel="related" type="text/html" title='Artificial Anxiety and the problem "Mental Issues" in AI'/><link href="https://www.davideaversa.it/blog/when-cheating-with-a-robot-is-really-cheating/?utm_source=atom_feed" rel="related" type="text/html" title="When cheating with a robot is really cheating?"/><id>https://www.davideaversa.it/blog/trolley-cart-problem-is-not-ai/</id><author><name>Davide Aversa</name></author><published>2020-10-14T18:43:41+02:00</published><updated>2024-12-31T14:40:44+01:00</updated><content type="html"><![CDATA[Every time there is a discussion on the future of AI-powered Autonomous Vehicles, somebody put the <strong>Trolley Cart Problem</strong> (TCP) on the table. And every time this happens, I am annoyed. However, recently, I saw some mutual followers studying AI and Computer Science talking about how TCP is a fundamental problem for the future of AI and autonomous vehicles. So I think it is time to speak it loud: <strong>‌the Trolley Cart Problem is not an AI problem!</strong> Let&rsquo;s see why. -- <a href="https://www.davideaversa.it/blog/trolley-cart-problem-is-not-ai/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/artificial-intelligence" term="artificial-intelligence" label="artificial intelligence"/><category scheme="https://www.davideaversa.it/tags/philosophy" term="philosophy" label="philosophy"/><category scheme="https://www.davideaversa.it/tags/ethic" term="ethic" label="ethic"/></entry><entry><title type="html">Five Tabletop Games for Creating Stuff</title><link href="https://www.davideaversa.it/blog/five-tabletop-games-creating-stuff/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/randomness-pcg-is-about-result/?utm_source=atom_feed" rel="related" type="text/html" title="Randomness in PCG is about the result, not the parameters"/><link href="https://www.davideaversa.it/blog/the-challenge-of-infinite-space/?utm_source=atom_feed" rel="related" type="text/html" title="The Challenge of Infinite Space"/><link href="https://www.davideaversa.it/blog/procedural-contents-generation-in-modern-videogames/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Contents Generation in Modern Videogames"/><link href="https://www.davideaversa.it/blog/random-maps-with-cellular-automata/?utm_source=atom_feed" rel="related" type="text/html" title="Random Maps with Cellular Automata"/><link href="https://www.davideaversa.it/blog/towards-the-procjam-2014/?utm_source=atom_feed" rel="related" type="text/html" title="Towards the ProcJam 2014"/><id>https://www.davideaversa.it/blog/five-tabletop-games-creating-stuff/</id><author><name>Davide Aversa</name></author><published>2020-09-22T09:02:06+02:00</published><updated>2020-09-22T09:02:06+02:00</updated><content type="html"><![CDATA[We already know that <em>Procedural Content Generation</em> (<em>PCG</em>) is a masterful tool for building games. But <strong>can PGC become a game by itself?</strong> This seems a silly question at first. After all, what is the purpose of generating something if we do not use it afterward?</br></br>However, if you think that a bit more, you know that there is something else. If you are interested in PCG, you know that most enjoyment comes from the creation itself.</br></br>Therefore, the question is easy: of course, that PCG can be a game! And to prove that, I am going to show you <strong>five of the most beautiful examples of that I played in recent years.</strong> -- <a href="https://www.davideaversa.it/blog/five-tabletop-games-creating-stuff/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="Gamedev"/><category scheme="https://www.davideaversa.it/tags/boardgames" term="boardgames" label="boardgames"/><category scheme="https://www.davideaversa.it/tags/pcg" term="pcg" label="pcg"/><category scheme="https://www.davideaversa.it/tags/maps" term="maps" label="maps"/></entry><entry><title type="html">And so you want to choose a Fantasy Console</title><link href="https://www.davideaversa.it/blog/how-choose-fantasy-console/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/apple-arcane-mobile-game-fun-again/?utm_source=atom_feed" rel="related" type="text/html" title="Apple Arcade made my mobile gaming fun again"/><id>https://www.davideaversa.it/blog/how-choose-fantasy-console/</id><author><name>Davide Aversa</name></author><published>2020-09-08T17:02:06+02:00</published><updated>2024-12-31T14:32:34+01:00</updated><content type="html"><![CDATA[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 bring you back to a simpler time when hardware was less capable and developer needed to make every bit of memory and every pixel count. <br><br> There is always a reason to play with a Fantasy Console. If you are an experienced developer, Fantasy Consoles represents a good challenge. If you are a new developer, Fantasy Consoles allows you to focus on the game and on the basics of game development without being side-tracked by all the bells and whistles of modern game engines. <br><br> <strong>So, how can we chose the right one?</strong> -- <a href="https://www.davideaversa.it/blog/how-choose-fantasy-console/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="Gamedev"/><category scheme="https://www.davideaversa.it/tags/pico8" term="pico8" label="pico8"/><category scheme="https://www.davideaversa.it/tags/tic80" term="tic80" label="tic80"/><category scheme="https://www.davideaversa.it/tags/pixelvision8" term="pixelvision8" label="pixelvision8"/><category scheme="https://www.davideaversa.it/tags/fantasty-console" term="fantasty-console" label="fantasty console"/></entry><entry><title type="html">How to document a Kotlin/Spring application with Springdoc and OpenAI</title><link href="https://www.davideaversa.it/blog/document-kotlin-spring-application-springdoc-openapi/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/converting-java-spring-kotlin/?utm_source=atom_feed" rel="related" type="text/html" title="How to convert a Java/Spring project to Kotlin"/><link href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/?utm_source=atom_feed" rel="related" type="text/html" title="Kotlin Development in VS Code"/><link href="https://www.davideaversa.it/blog/i-needed-trust-gut-feelings-kotlin-android/?utm_source=atom_feed" rel="related" type="text/html" title="I needed to trust my gut feelings: Kotlin and Android"/><link href="https://www.davideaversa.it/blog/new-clojure-front/?utm_source=atom_feed" rel="related" type="text/html" title="Any news from Clojure front?"/><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="related" type="text/html" title="Most Promising Programming Languages of 2017"/><id>https://www.davideaversa.it/blog/document-kotlin-spring-application-springdoc-openapi/</id><author><name>Davide Aversa</name></author><published>2020-07-22T19:28:25+02:00</published><updated>2020-07-22T19:28:25+02:00</updated><content type="html">Here we go again with a new article derived from my work notes. As you already know, I am rewriting a backend application in Kotlin and — in the process — I am improving all the horrors of legacy code I can find. In this article, we will look at one critical aspect of software development (especially for REST applications): the documentation. -- &lt;a href="https://www.davideaversa.it/blog/document-kotlin-spring-application-springdoc-openapi/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/kotlin" term="kotlin" label="kotlin"/><category scheme="https://www.davideaversa.it/tags/java" term="java" label="java"/><category scheme="https://www.davideaversa.it/tags/spring" term="spring" label="spring"/><category scheme="https://www.davideaversa.it/tags/openapi" term="openapi" label="openapi"/></entry><entry><title type="html">The Great Convergence of AAA Games</title><link href="https://www.davideaversa.it/blog/convergence-aaa-games/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/what-makes-story-good/?utm_source=atom_feed" rel="related" type="text/html" title="What makes a story a good story"/><link href="https://www.davideaversa.it/blog/swift-announces-official-windows-support/?utm_source=atom_feed" rel="related" type="text/html" title="Swift announces official Windows support — maybe too late"/><link href="https://www.davideaversa.it/blog/apple-arcane-mobile-game-fun-again/?utm_source=atom_feed" rel="related" type="text/html" title="Apple Arcade made my mobile gaming fun again"/><link href="https://www.davideaversa.it/blog/subscription-model-fatigue/?utm_source=atom_feed" rel="related" type="text/html" title="The Subscription Model Fatigue"/><link href="https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/?utm_source=atom_feed" rel="related" type="text/html" title="Go is still fighting over generics. In 2019."/><id>https://www.davideaversa.it/blog/convergence-aaa-games/</id><author><name>Davide Aversa</name></author><published>2020-06-29T19:02:52+02:00</published><updated>2020-06-29T19:02:52+02:00</updated><content type="html"><![CDATA[Let&rsquo;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 playing the same game over and over again. The latest God of War (2018) is a good example of this year-long trend in the gaming industry that I called <strong>The Convergence.</strong> Let&rsquo;s talk a bit about this. -- <a href="https://www.davideaversa.it/blog/convergence-aaa-games/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/videogames" term="videogames" label="videogames"/><category scheme="https://www.davideaversa.it/tags/design" term="design" label="design"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/></entry><entry><title type="html">How to convert a Java/Spring project to Kotlin</title><link href="https://www.davideaversa.it/blog/converting-java-spring-kotlin/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/?utm_source=atom_feed" rel="related" type="text/html" title="Kotlin Development in VS Code"/><link href="https://www.davideaversa.it/blog/i-needed-trust-gut-feelings-kotlin-android/?utm_source=atom_feed" rel="related" type="text/html" title="I needed to trust my gut feelings: Kotlin and Android"/><link href="https://www.davideaversa.it/blog/new-clojure-front/?utm_source=atom_feed" rel="related" type="text/html" title="Any news from Clojure front?"/><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="related" type="text/html" title="Most Promising Programming Languages of 2017"/><id>https://www.davideaversa.it/blog/converting-java-spring-kotlin/</id><author><name>Davide Aversa</name></author><published>2020-06-18T15:49:12+02:00</published><updated>2020-06-18T15:49:12+02:00</updated><content type="html">In the last week I converted a medium-sized legacy Java/Spring codebase to Kotlin. In this article I&amp;rsquo;ll discuss the pro and the challenges I faced during this transition. -- &lt;a href="https://www.davideaversa.it/blog/converting-java-spring-kotlin/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/kotlin" term="kotlin" label="kotlin"/><category scheme="https://www.davideaversa.it/tags/java" term="java" label="java"/><category scheme="https://www.davideaversa.it/tags/spring" term="spring" label="spring"/></entry><entry><title type="html">My First Deno Experiment</title><link href="https://www.davideaversa.it/blog/my-first-deno-experiment/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/links/happy-birthday-rust/?utm_source=atom_feed" rel="related" type="text/html" title="Happy 5-Years Birthday Rust!"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><link href="https://www.davideaversa.it/blog/state-game-development-rust/?utm_source=atom_feed" rel="related" type="text/html" title="The State of Game Development in Rust"/><link href="https://www.davideaversa.it/blog/movingai-pathfinding-benchmark-parser-rust/?utm_source=atom_feed" rel="related" type="text/html" title="MovingAI pathfinding benchmark parser in Rust"/><link href="https://www.davideaversa.it/blog/how-to-add-a-logo-in-rust-documentation/?utm_source=atom_feed" rel="related" type="text/html" title="How to add a logo in Rust documentation"/><id>https://www.davideaversa.it/blog/my-first-deno-experiment/</id><author><name>Davide Aversa</name></author><published>2020-05-23T17:13:12+02:00</published><updated>2020-05-23T17:13:12+02:00</updated><content type="html"><![CDATA[This is another not-requested opinion on <strong>Deno</strong>! But what can I do? When I read &ldquo;node replacement,&rdquo; &ldquo;TypeScript,&rdquo; and &ldquo;Rust,&rdquo; I lose any inhibition. Therefore, I ported to Deno an old <code>npm</code> package and wrote a brief report on my experience. <strong>What I liked? What I disliked? Will Deno be succesful in the overcrowded world of programming platforms?</strong> These are my answers. -- <a href="https://www.davideaversa.it/blog/my-first-deno-experiment/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/deno" term="deno" label="deno"/><category scheme="https://www.davideaversa.it/tags/node.js" term="node.js" label="Node.js"/><category scheme="https://www.davideaversa.it/tags/typescript" term="typescript" label="typescript"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/></entry><entry><title type="html">Overwhelmed by your workflow? Reset it.</title><link href="https://www.davideaversa.it/blog/overwhelmed-by-your-workflow-reset-it/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/need-decide-decisions/?utm_source=atom_feed" rel="related" type="text/html" title="You need to decide your decisions"/><link href="https://www.davideaversa.it/blog/on-the-developer-anxiety/?utm_source=atom_feed" rel="related" type="text/html" title="On developer anxiety"/><id>https://www.davideaversa.it/blog/overwhelmed-by-your-workflow-reset-it/</id><author><name>Davide Aversa</name></author><published>2020-05-18T17:04:39+00:00</published><updated>2020-05-18T17:04:39+00:00</updated><content type="html">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 problem every couple of years, and until I become aware of that, I feel very frustrated. I feel like I am moving around a lot of stuff and spending many hours of my awake time producing nothing more than heat and entropy. &lt;strong>Luckily the solution is easy: do a total reset.&lt;/strong> -- &lt;a href="https://www.davideaversa.it/blog/overwhelmed-by-your-workflow-reset-it/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/workflow" term="workflow" label="Workflow"/><category scheme="https://www.davideaversa.it/tags/task-manager" term="task-manager" label="task manager"/><category scheme="https://www.davideaversa.it/tags/productivity" term="productivity" label="productivity"/></entry><entry><title type="html">Happy 5-Years Birthday Rust!</title><link href="https://www.davideaversa.it/links/happy-birthday-rust/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/state-game-development-rust/?utm_source=atom_feed" rel="related" type="text/html" title="The State of Game Development in Rust"/><link href="https://www.davideaversa.it/blog/movingai-pathfinding-benchmark-parser-rust/?utm_source=atom_feed" rel="related" type="text/html" title="MovingAI pathfinding benchmark parser in Rust"/><link href="https://www.davideaversa.it/blog/how-to-add-a-logo-in-rust-documentation/?utm_source=atom_feed" rel="related" type="text/html" title="How to add a logo in Rust documentation"/><link href="https://www.davideaversa.it/blog/build-rusqlite-windows/?utm_source=atom_feed" rel="related" type="text/html" title="How to build rusqlite on Windows"/><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="related" type="text/html" title="Most Promising Programming Languages of 2017"/><id>https://www.davideaversa.it/links/happy-birthday-rust/</id><author><name>Davide Aversa</name></author><published>2020-05-15T12:49:55+00:00</published><updated>2020-05-15T12:49:55+00:00</updated><content type="html">Today has been five years since Rust 1.0 release. I really want to wish happy birthday to this awesome language! I could write an article on it or I can link you to this wonderful post in the official Rust&amp;rsquo;s blog. Enjoy! -- &lt;a href="https://www.davideaversa.it/links/happy-birthday-rust/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/></entry><entry><title type="html">Swift announces official Windows support — maybe too late</title><link href="https://www.davideaversa.it/blog/swift-announces-official-windows-support/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/what-makes-story-good/?utm_source=atom_feed" rel="related" type="text/html" title="What makes a story a good story"/><link href="https://www.davideaversa.it/blog/apple-arcane-mobile-game-fun-again/?utm_source=atom_feed" rel="related" type="text/html" title="Apple Arcade made my mobile gaming fun again"/><link href="https://www.davideaversa.it/blog/subscription-model-fatigue/?utm_source=atom_feed" rel="related" type="text/html" title="The Subscription Model Fatigue"/><link href="https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/?utm_source=atom_feed" rel="related" type="text/html" title="Go is still fighting over generics. In 2019."/><link href="https://www.davideaversa.it/blog/wordpress-abandoning-react-a-facebook-horror-story/?utm_source=atom_feed" rel="related" type="text/html" title="WordPress abandoning React: a Facebook horror story"/><id>https://www.davideaversa.it/blog/swift-announces-official-windows-support/</id><author><name>Davide Aversa</name></author><published>2020-05-12T14:47:19+00:00</published><updated>2020-05-12T14:47:19+00:00</updated><content type="html"><![CDATA[Swift is a pretty language that hits a sweet, sweet spot: it is a compiled language built around LLV, it is modern, it took advantage of decades of programming language design efforts, and it is esthetically pleasing. <strong>It is the kind of language that could have taken a lot of market shares.</strong> Unfortunately, official Windows support will come only with version 5.3. It may be already too late to wash away the &ldquo;iOS Language&rdquo; stigma. -- <a href="https://www.davideaversa.it/blog/swift-announces-official-windows-support/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/swift" term="swift" label="swift"/><category scheme="https://www.davideaversa.it/tags/news" term="news" label="news"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/></entry><entry><title type="html">How to Export your Kindle Highlights</title><link href="https://www.davideaversa.it/blog/export-kindle-highlights/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/how-to-add-a-logo-in-rust-documentation/?utm_source=atom_feed" rel="related" type="text/html" title="How to add a logo in Rust documentation"/><link href="https://www.davideaversa.it/blog/build-rusqlite-windows/?utm_source=atom_feed" rel="related" type="text/html" title="How to build rusqlite on Windows"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-3/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 3)"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 1)"/><id>https://www.davideaversa.it/blog/export-kindle-highlights/</id><author><name>Davide Aversa</name></author><published>2020-05-02T17:15:34+00:00</published><updated>2020-05-02T17:15:34+00:00</updated><content type="html"><![CDATA[This is a quick article to share a very surprising and beautiful thing I discovered today: <strong>it is possible to request a PDF with all your Kindle&rsquo;s highlights directly from the Kindle interface</strong>. How it is possible nobody told me this before!!?? -- <a href="https://www.davideaversa.it/blog/export-kindle-highlights/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/workflow" term="workflow" label="Workflow"/><category scheme="https://www.davideaversa.it/tags/kindle" term="kindle" label="kindle"/><category scheme="https://www.davideaversa.it/tags/how-to" term="how-to" label="how-to"/><category scheme="https://www.davideaversa.it/tags/notes" term="notes" label="notes"/></entry><entry><title type="html">Overview of Three Techniques for Procedural Storytelling</title><link href="https://www.davideaversa.it/blog/overview-procedural-storytelling/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/?utm_source=atom_feed" rel="related" type="text/html" title="Marginalia: Rebooting AI by Gary Marcus and Ernest Davis"/><link href="https://www.davideaversa.it/blog/procedural-calendar-generation-lunar-phases/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Calendar Generation &amp; Lunar Phases"/><link href="https://www.davideaversa.it/blog/seasons-generation-from-orbital-parameters/?utm_source=atom_feed" rel="related" type="text/html" title="Seasons Generation from Orbital Parameters"/><link href="https://www.davideaversa.it/blog/artificial-anxiety-and-the-problem-mental-issues-in-ai/?utm_source=atom_feed" rel="related" type="text/html" title='Artificial Anxiety and the problem "Mental Issues" in AI'/><link href="https://www.davideaversa.it/blog/minimized-cave-generation-cellular-automata/?utm_source=atom_feed" rel="related" type="text/html" title="Minimized Cave Generation with Cellular Automata"/><id>https://www.davideaversa.it/blog/overview-procedural-storytelling/</id><author><name>Davide Aversa</name></author><published>2020-03-16T16:31:45+00:00</published><updated>2020-03-16T16:31:45+00:00</updated><content type="html">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 Grammars. Let&amp;rsquo;s what they are and what to choose. -- &lt;a href="https://www.davideaversa.it/blog/overview-procedural-storytelling/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/artificial-intelligence" term="artificial-intelligence" label="artificial intelligence"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/><category scheme="https://www.davideaversa.it/tags/procedural-storytelling" term="procedural-storytelling" label="procedural storytelling"/></entry><entry><title type="html">My favorite Visual Studio Code extensions</title><link href="https://www.davideaversa.it/blog/visual-studio-code-favorite-extensions/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/?utm_source=atom_feed" rel="related" type="text/html" title="Kotlin Development in VS Code"/><id>https://www.davideaversa.it/blog/visual-studio-code-favorite-extensions/</id><author><name>Davide Aversa</name></author><published>2020-03-02T07:32:10+00:00</published><updated>2020-03-02T07:32:10+00:00</updated><content type="html"><![CDATA[<p>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 languages with outstanding IDE support, such as Kotlin).</p>
<p>During the years, my extension page grew bigger and bigger; new extensions get installed, old extensions get removed. You know, the usual stuff. But during all these years, a bunch of extensions has always remained the same. They are my favorite VSCode extensions, and I am going to list them here.</p> -- <a href="https://www.davideaversa.it/blog/visual-studio-code-favorite-extensions/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/visual-studio-code" term="visual-studio-code" label="visual studio code"/></entry><entry><title type="html">What makes a story a good story</title><link href="https://www.davideaversa.it/blog/what-makes-story-good/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/why-love-narration-through-discovery/?utm_source=atom_feed" rel="related" type="text/html" title="Why I love Narration Through Discovery"/><link href="https://www.davideaversa.it/blog/apple-arcane-mobile-game-fun-again/?utm_source=atom_feed" rel="related" type="text/html" title="Apple Arcade made my mobile gaming fun again"/><link href="https://www.davideaversa.it/blog/subscription-model-fatigue/?utm_source=atom_feed" rel="related" type="text/html" title="The Subscription Model Fatigue"/><link href="https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/?utm_source=atom_feed" rel="related" type="text/html" title="Go is still fighting over generics. In 2019."/><link href="https://www.davideaversa.it/blog/manage-videogames-bibliography-latex/?utm_source=atom_feed" rel="related" type="text/html" title="How to manage a Videogames Bibliography in LaTeX"/><id>https://www.davideaversa.it/blog/what-makes-story-good/</id><author><name>Davide Aversa</name></author><published>2020-02-24T11:05:25+00:00</published><updated>2020-02-24T11:05:25+00:00</updated><content type="html"><![CDATA[At the beginning of January, I put my hands on a dirty cheap <em>Play Station 4</em> because, in the new house, I have no space for a gaming PC. Since then, I decided to make up for a bunch of games I missed in the last years starting from these two: <strong>Horizon Zero Dawn</strong> <em>(Guerrilla Games, 2017)</em> and <strong>The Last of Us</strong> <em>(Naughty Dog, 2013)</em>. I approached them with diametrically opposed expectations, and in both cases, my expectations were very wrong. So I started asking myself why I was wrong and what I look for in games and narrative media. -- <a href="https://www.davideaversa.it/blog/what-makes-story-good/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/videogames" term="videogames" label="videogames"/><category scheme="https://www.davideaversa.it/tags/writing" term="writing" label="writing"/><category scheme="https://www.davideaversa.it/tags/design" term="design" label="design"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/></entry><entry><title type="html">Marginalia: Rebooting AI by Gary Marcus and Ernest Davis</title><link href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/unity-game-optimization-is-out/?utm_source=atom_feed" rel="related" type="text/html" title="Unity Game Optimization is now available!"/><link href="https://www.davideaversa.it/blog/how-hidden-variables-in-statistical-models-affect-social-inequality/?utm_source=atom_feed" rel="related" type="text/html" title="How hidden variables in statistical models affect social inequality"/><link href="https://www.davideaversa.it/blog/questions-about-deep-learning-and-the-nature-of-knowledge/?utm_source=atom_feed" rel="related" type="text/html" title="Questions about Deep Learning and the nature of knowledge"/><link href="https://www.davideaversa.it/blog/preserving-cryptography-book-1897/?utm_source=atom_feed" rel="related" type="text/html" title="Preserving a Cryptography book from 1897"/><link href="https://www.davideaversa.it/blog/not-every-classification-error-is-the-same/?utm_source=atom_feed" rel="related" type="text/html" title="Not every classification error is the same"/><id>https://www.davideaversa.it/blog/marginalia-rebooting-ai/</id><author><name>Davide Aversa</name></author><published>2020-01-25T08:46:33+00:00</published><updated>2020-01-25T08:46:33+00:00</updated><content type="html"><![CDATA[<p>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 word indicating the small notes on the margins of books.</p>
<p>It will be a chance to discuss my readings without the need to write a full-fledged article. I hope it will be interesting as a review of the book or as a discussion starter. So, let&rsquo;s start.</p> -- <a href="https://www.davideaversa.it/blog/marginalia-rebooting-ai/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/artificial-intelligence" term="artificial-intelligence" label="artificial intelligence"/><category scheme="https://www.davideaversa.it/tags/deep-learning" term="deep-learning" label="deep learning"/><category scheme="https://www.davideaversa.it/tags/machine-learning" term="machine-learning" label="machine learning"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/></entry><entry><title type="html">Unity Game Optimization is now available!</title><link href="https://www.davideaversa.it/blog/unity-game-optimization-is-out/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/december-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="December 2019 Update"/><link href="https://www.davideaversa.it/blog/november-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="November 2019 Update"/><link href="https://www.davideaversa.it/blog/october-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="October 2019 Update"/><link href="https://www.davideaversa.it/blog/september-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="September 2019 Update"/><link href="https://www.davideaversa.it/blog/august-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="August 2019 Update"/><id>https://www.davideaversa.it/blog/unity-game-optimization-is-out/</id><author><name>Davide Aversa</name></author><published>2019-12-14T17:53:29+00:00</published><updated>2019-12-14T17:53:29+00:00</updated><content type="html"><![CDATA[<p>The new edition of <a href="https://subscription.packtpub.com/book/game_development/9781838556518">Unity Game Optimization</a> 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.</p> -- <a href="https://www.davideaversa.it/blog/unity-game-optimization-is-out/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/unity" term="unity" label="unity"/></entry><entry><title type="html">December 2019 Update</title><link href="https://www.davideaversa.it/blog/december-2019-update/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/november-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="November 2019 Update"/><link href="https://www.davideaversa.it/blog/october-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="October 2019 Update"/><link href="https://www.davideaversa.it/blog/september-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="September 2019 Update"/><link href="https://www.davideaversa.it/blog/august-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="August 2019 Update"/><link href="https://www.davideaversa.it/blog/july-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="July 2019 Update"/><id>https://www.davideaversa.it/blog/december-2019-update/</id><author><name>Davide Aversa</name></author><published>2019-12-05T14:23:59+00:00</published><updated>2019-12-05T14:23:59+00:00</updated><content type="html">&lt;p>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 write this before I need to start planning the January update. 😃&lt;/p> -- &lt;a href="https://www.davideaversa.it/blog/december-2019-update/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/></entry><entry><title type="html">November 2019 Update</title><link href="https://www.davideaversa.it/blog/november-2019-update/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/october-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="October 2019 Update"/><link href="https://www.davideaversa.it/blog/september-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="September 2019 Update"/><link href="https://www.davideaversa.it/blog/august-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="August 2019 Update"/><link href="https://www.davideaversa.it/blog/july-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="July 2019 Update"/><link href="https://www.davideaversa.it/blog/june-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="June 2019 Update"/><id>https://www.davideaversa.it/blog/november-2019-update/</id><author><name>Davide Aversa</name></author><published>2019-11-01T10:20:16+00:00</published><updated>2019-11-01T10:20:16+00:00</updated><content type="html">&lt;p>What a horrible October; I feel I am psychologically destroyed, and I am all over the places. Fortunately, I have good news too. 👻&lt;/p> -- &lt;a href="https://www.davideaversa.it/blog/november-2019-update/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/></entry><entry><title type="html">Apple Arcade made my mobile gaming fun again</title><link href="https://www.davideaversa.it/blog/apple-arcane-mobile-game-fun-again/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/subscription-model-fatigue/?utm_source=atom_feed" rel="related" type="text/html" title="The Subscription Model Fatigue"/><link href="https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/?utm_source=atom_feed" rel="related" type="text/html" title="Go is still fighting over generics. In 2019."/><link href="https://www.davideaversa.it/blog/state-game-development-rust/?utm_source=atom_feed" rel="related" type="text/html" title="The State of Game Development in Rust"/><link href="https://www.davideaversa.it/blog/wordpress-abandoning-react-a-facebook-horror-story/?utm_source=atom_feed" rel="related" type="text/html" title="WordPress abandoning React: a Facebook horror story"/><link href="https://www.davideaversa.it/blog/need-decide-decisions/?utm_source=atom_feed" rel="related" type="text/html" title="You need to decide your decisions"/><id>https://www.davideaversa.it/blog/apple-arcane-mobile-game-fun-again/</id><author><name>Davide Aversa</name></author><published>2019-10-22T19:54:41+00:00</published><updated>2019-10-22T19:54:41+00:00</updated><content type="html"><![CDATA[<p>It is about a month that I am trying <a href="https://www.apple.com/it/apple-arcade/">Apple Arcade</a> 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 and my iPad; now, I have four, and two of them were meaningful experiences. In short: I had fun on a mobile platform after years.</p> -- <a href="https://www.davideaversa.it/blog/apple-arcane-mobile-game-fun-again/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/apple" term="apple" label="apple"/><category scheme="https://www.davideaversa.it/tags/apple-arcade" term="apple-arcade" label="apple arcade"/><category scheme="https://www.davideaversa.it/tags/gamedev" term="gamedev" label="gamedev"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/></entry><entry><title type="html">The Subscription Model Fatigue</title><link href="https://www.davideaversa.it/blog/subscription-model-fatigue/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/?utm_source=atom_feed" rel="related" type="text/html" title="Go is still fighting over generics. In 2019."/><link href="https://www.davideaversa.it/blog/wordpress-abandoning-react-a-facebook-horror-story/?utm_source=atom_feed" rel="related" type="text/html" title="WordPress abandoning React: a Facebook horror story"/><link href="https://www.davideaversa.it/blog/need-decide-decisions/?utm_source=atom_feed" rel="related" type="text/html" title="You need to decide your decisions"/><link href="https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/?utm_source=atom_feed" rel="related" type="text/html" title="Javascript is not so bad, after all"/><link href="https://www.davideaversa.it/blog/in-search-of-the-philosophers-code/?utm_source=atom_feed" rel="related" type="text/html" title="In search of the &amp;#8220;Philosopher&amp;#8217;s Code&amp;#8221;"/><id>https://www.davideaversa.it/blog/subscription-model-fatigue/</id><author><name>Davide Aversa</name></author><published>2019-10-15T20:50:01+00:00</published><updated>2019-10-15T20:50:01+00:00</updated><content type="html">&lt;p>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 the vast majority of use cases. However, I often ask myself if the model will be sustainable when the big majority of the apps will be subscription-based.&lt;/p> -- &lt;a href="https://www.davideaversa.it/blog/subscription-model-fatigue/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/software" term="software" label="software"/><category scheme="https://www.davideaversa.it/tags/subscription" term="subscription" label="subscription"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/></entry><entry><title type="html">October 2019 Update</title><link href="https://www.davideaversa.it/blog/october-2019-update/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/september-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="September 2019 Update"/><link href="https://www.davideaversa.it/blog/august-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="August 2019 Update"/><link href="https://www.davideaversa.it/blog/july-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="July 2019 Update"/><link href="https://www.davideaversa.it/blog/june-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="June 2019 Update"/><link href="https://www.davideaversa.it/blog/may-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="May 2019 Update"/><id>https://www.davideaversa.it/blog/october-2019-update/</id><author><name>Davide Aversa</name></author><published>2019-10-03T12:59:33+00:00</published><updated>2019-10-03T12:59:33+00:00</updated><content type="html"><![CDATA[<p>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.</p>
<!-- more -->
<h2 id="about-life">About Life</h2>
<p>September has been fun. I traveled to <strong>Padua</strong> for the <strong>CICAP Fest</strong> (a series of conferences organized by the main Italian Skeptical association), I went to a couple of nice restaurants, I completed some personal goal and I ate some Banana Pancake. 🥞</p> -- <a href="https://www.davideaversa.it/blog/october-2019-update/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/></entry><entry><title type="html">September 2019 Update</title><link href="https://www.davideaversa.it/blog/september-2019-update/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/august-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="August 2019 Update"/><link href="https://www.davideaversa.it/blog/july-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="July 2019 Update"/><link href="https://www.davideaversa.it/blog/june-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="June 2019 Update"/><link href="https://www.davideaversa.it/blog/may-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="May 2019 Update"/><link href="https://www.davideaversa.it/blog/april-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="April 2019 Update"/><id>https://www.davideaversa.it/blog/september-2019-update/</id><author><name>Davide Aversa</name></author><published>2019-09-01T10:07:21+00:00</published><updated>2019-09-01T10:07:21+00:00</updated><content type="html">&lt;p>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?&lt;/p> -- &lt;a href="https://www.davideaversa.it/blog/september-2019-update/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/></entry><entry><title type="html">Ranking Systems 02 - The Elo Rating System</title><link href="https://www.davideaversa.it/blog/ranking-system-2-elo-rating-system/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/ranking-system-1-what-is-skill/?utm_source=atom_feed" rel="related" type="text/html" title="Ranking Systems 01 - What is Skill"/><id>https://www.davideaversa.it/blog/ranking-system-2-elo-rating-system/</id><author><name>Davide Aversa</name></author><published>2019-08-22T14:15:01+00:00</published><updated>2024-12-31T14:21:54+01:00</updated><content type="html"><![CDATA[<p>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 <strong>Elo System</strong> represents the most simple and popular implementation.</p> -- <a href="https://www.davideaversa.it/blog/ranking-system-2-elo-rating-system/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/math" term="math" label="Math"/><category scheme="https://www.davideaversa.it/tags/ranking-system" term="ranking-system" label="ranking system"/><category scheme="https://www.davideaversa.it/tags/elo" term="elo" label="elo"/></entry><entry><title type="html">Go is still fighting over generics. In 2019.</title><link href="https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/?utm_source=atom_feed" rel="related" type="text/html" title="Kotlin Development in VS Code"/><link href="https://www.davideaversa.it/blog/wordpress-abandoning-react-a-facebook-horror-story/?utm_source=atom_feed" rel="related" type="text/html" title="WordPress abandoning React: a Facebook horror story"/><link href="https://www.davideaversa.it/blog/new-clojure-front/?utm_source=atom_feed" rel="related" type="text/html" title="Any news from Clojure front?"/><link href="https://www.davideaversa.it/blog/need-decide-decisions/?utm_source=atom_feed" rel="related" type="text/html" title="You need to decide your decisions"/><link href="https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/?utm_source=atom_feed" rel="related" type="text/html" title="Javascript is not so bad, after all"/><id>https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/</id><author><name>Davide Aversa</name></author><published>2019-08-14T15:52:44+00:00</published><updated>2019-08-14T15:52:44+00:00</updated><content type="html"><![CDATA[<p>I dislike Go. I dislike it <strong>a lot</strong>. 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?</p>
<p>However, sometimes, I fall into watching discussions in the go community, and they are <strong>so absurd</strong> I cannot shut up. </p> -- <a href="https://www.davideaversa.it/blog/go-is-still-fighting-over-generics/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/go" term="go" label="go"/><category scheme="https://www.davideaversa.it/tags/generics" term="generics" label="generics"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/></entry><entry><title type="html">August 2019 Update</title><link href="https://www.davideaversa.it/blog/august-2019-update/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/july-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="July 2019 Update"/><link href="https://www.davideaversa.it/blog/june-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="June 2019 Update"/><link href="https://www.davideaversa.it/blog/may-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="May 2019 Update"/><link href="https://www.davideaversa.it/blog/april-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="April 2019 Update"/><link href="https://www.davideaversa.it/blog/march-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="March 2019 Update"/><id>https://www.davideaversa.it/blog/august-2019-update/</id><author><name>Davide Aversa</name></author><published>2019-08-01T08:02:03+00:00</published><updated>2019-08-01T08:02:03+00:00</updated><content type="html"><![CDATA[<p>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.</p>
<p>To hot to think and words order fine screen in! Let’s just look at this month update before I catch fire!</p> -- <a href="https://www.davideaversa.it/blog/august-2019-update/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/></entry><entry><title type="html">Why I love Narration Through Discovery</title><link href="https://www.davideaversa.it/blog/why-love-narration-through-discovery/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/manage-videogames-bibliography-latex/?utm_source=atom_feed" rel="related" type="text/html" title="How to manage a Videogames Bibliography in LaTeX"/><link href="https://www.davideaversa.it/blog/nanowrimo-2017-in-stats/?utm_source=atom_feed" rel="related" type="text/html" title="NaNoWriMo 2017 in Stats"/><link href="https://www.davideaversa.it/blog/postmortem-writers-block-1gam-january/?utm_source=atom_feed" rel="related" type="text/html" title="Postmortem: Writer's Block - 1GAM January"/><link href="https://www.davideaversa.it/blog/a-month-of-writing-august-15/?utm_source=atom_feed" rel="related" type="text/html" title="A Month of Writing: August 2015"/><id>https://www.davideaversa.it/blog/why-love-narration-through-discovery/</id><author><name>Davide Aversa</name></author><published>2019-07-25T06:41:33+00:00</published><updated>2019-07-25T06:41:33+00:00</updated><content type="html"><![CDATA[<blockquote>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, Hollow Knight, The Legend of Zelda: Breath of the Wild, and more. Can you guess what they all have in common?</blockquote><p>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:</p>
<ul>
<li>Dark Souls</li>
<li>Dark Souls II</li>
<li>Well… every game of the <em>soulborne</em> genre.</li>
<li>Hollow Knight</li>
<li>The Legend of Zelda: Breath of the Wild</li>
<li>And more.</li>
</ul>
<p>Can you guess what they all have in common?</p>
<!-- more -->
<p>Sure, they all have a <em>decadent</em> setting (the world is falling or is recovering after a cataclysm), but there is a way more common design element: <strong>narration through discovery</strong>.</p> -- <a href="https://www.davideaversa.it/blog/why-love-narration-through-discovery/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/writing" term="writing" label="writing"/><category scheme="https://www.davideaversa.it/tags/videogames" term="videogames" label="videogames"/><category scheme="https://www.davideaversa.it/tags/narrative" term="narrative" label="narrative"/><category scheme="https://www.davideaversa.it/tags/hollow-knight" term="hollow-knight" label="Hollow Knight"/><category scheme="https://www.davideaversa.it/tags/dark-souls" term="dark-souls" label="Dark Souls"/></entry><entry><title type="html">July 2019 Update</title><link href="https://www.davideaversa.it/blog/july-2019-update/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/june-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="June 2019 Update"/><link href="https://www.davideaversa.it/blog/may-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="May 2019 Update"/><link href="https://www.davideaversa.it/blog/april-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="April 2019 Update"/><link href="https://www.davideaversa.it/blog/march-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="March 2019 Update"/><link href="https://www.davideaversa.it/blog/february-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="February 2019 Update"/><id>https://www.davideaversa.it/blog/july-2019-update/</id><author><name>Davide Aversa</name></author><published>2019-07-01T07:28:19+00:00</published><updated>2019-07-01T07:28:19+00:00</updated><content type="html">&lt;p>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.&lt;/p> -- &lt;a href="https://www.davideaversa.it/blog/july-2019-update/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/></entry><entry><title type="html">The Winter of Virtual Assistants</title><link href="https://www.davideaversa.it/blog/winter-virtual-assistants/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/winter-virtual-assistants/</id><author><name>Davide Aversa</name></author><published>2019-06-27T15:55:44+00:00</published><updated>2019-06-27T15:55:44+00:00</updated><content type="html"><![CDATA[<p>Seven years and eight months have passed since the release of the first really popular commercial <strong>virtual assistant</strong> (VA).  Yet, seven years later, virtual assistants can do only marginally better.</p>
<p>Sure, they understand better, they speak better, they have learned some new trick; but in the end, <strong>they are still a funny but useless experience</strong>. 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.</p> -- <a href="https://www.davideaversa.it/blog/winter-virtual-assistants/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/virtual-assistants" term="virtual-assistants" label="virtual assistants"/><category scheme="https://www.davideaversa.it/tags/alexa" term="alexa" label="alexa"/><category scheme="https://www.davideaversa.it/tags/siri" term="siri" label="siri"/><category scheme="https://www.davideaversa.it/tags/google-assistant" term="google-assistant" label="google assistant"/></entry><entry><title type="html">On Rogozhin's Universal Turing Machines</title><link href="https://www.davideaversa.it/blog/rogozhin-universal-turing-machines/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/gamedesign-math-rpg-level-based-progression/?utm_source=atom_feed" rel="related" type="text/html" title="GameDesign Math: RPG Level-based Progression"/><link href="https://www.davideaversa.it/blog/how-hidden-variables-in-statistical-models-affect-social-inequality/?utm_source=atom_feed" rel="related" type="text/html" title="How hidden variables in statistical models affect social inequality"/><link href="https://www.davideaversa.it/blog/fast-approximated-moving-average-computation/?utm_source=atom_feed" rel="related" type="text/html" title="Fast (Approximated) Moving Average Computation"/><id>https://www.davideaversa.it/blog/rogozhin-universal-turing-machines/</id><author><name>Davide Aversa</name></author><published>2019-06-17T13:49:13+00:00</published><updated>2019-06-17T13:49:13+00:00</updated><content type="html"><![CDATA[<p>Every now and then, we see some headline about Turing Completeness of <em>something</em>. For example, <a href="https://www.youtube.com/watch?v=7sNge0Ywz-M">Minecraft</a> or <a href="https://docs.google.com/document/d/1b7NN-ZGpBMggiVSkSpW499MdCNCpwccL-RA9HKLZ5NU/edit">Dwarf Fortress</a>, or even <a href="http://web.mat.bham.ac.uk/R.W.Kaye/minesw/infmsw.pdf">Minesweeper</a> are famous examples of accidentally Turing complete systems.</p>
<p>If you know what a Turing machine is (and you should) you will have an intuitive idea of the claim: you know that <em>X can compute any computable function</em>. Sure; but if you stop thinking about that for a bit, it is not so intuitive <strong>how</strong> we can prove that. If we think long enough, we can start understanding how X can simulate a Turing machine, but <strong>how can we be sure that we can encode a Universal Turing Machine</strong> and <strong>what is the program of a UTM and how we can prove that it is, in fact, universal?</strong></p> -- <a href="https://www.davideaversa.it/blog/rogozhin-universal-turing-machines/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/categories/advanced" term="advanced" label="Advanced"/><category scheme="https://www.davideaversa.it/tags/turing-machine" term="turing-machine" label="turing machine"/><category scheme="https://www.davideaversa.it/tags/computation-theory" term="computation-theory" label="computation theory"/><category scheme="https://www.davideaversa.it/tags/turing" term="turing" label="turing"/></entry><entry><title type="html">June 2019 Update</title><link href="https://www.davideaversa.it/blog/june-2019-update/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/may-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="May 2019 Update"/><link href="https://www.davideaversa.it/blog/april-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="April 2019 Update"/><link href="https://www.davideaversa.it/blog/march-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="March 2019 Update"/><link href="https://www.davideaversa.it/blog/february-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="February 2019 Update"/><link href="https://www.davideaversa.it/blog/january-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="January 2019 Update"/><id>https://www.davideaversa.it/blog/june-2019-update/</id><author><name>Davide Aversa</name></author><published>2019-06-01T17:29:55+00:00</published><updated>2019-06-01T17:29:55+00:00</updated><content type="html"><![CDATA[<p>May is over. Here in Italy, it rained <strong>every day</strong>. 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.</p> -- <a href="https://www.davideaversa.it/blog/june-2019-update/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/></entry><entry><title type="html">Kotlin Development in VS Code</title><link href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/i-needed-trust-gut-feelings-kotlin-android/?utm_source=atom_feed" rel="related" type="text/html" title="I needed to trust my gut feelings: Kotlin and Android"/><link href="https://www.davideaversa.it/blog/new-clojure-front/?utm_source=atom_feed" rel="related" type="text/html" title="Any news from Clojure front?"/><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="related" type="text/html" title="Most Promising Programming Languages of 2017"/><link href="https://www.davideaversa.it/blog/my-peek-on-atom/?utm_source=atom_feed" rel="related" type="text/html" title="My peek on Atom"/><id>https://www.davideaversa.it/blog/kotlin-development-in-vscode/</id><author><name>Davide Aversa</name></author><published>2019-05-29T14:40:25+00:00</published><updated>2019-05-29T14:40:25+00:00</updated><content type="html"><![CDATA[<div style="background-color: yellow; padding: 10px; border: 1px solid #ccc;">
    <strong>Note:</strong> This article has not been updated in the last 2 years. The information may be outdated.
</div>


<p>Kotlin is a really sweet language. It is the perfect thing in between a <em>“super-powerful and but difficult language”</em> like Rust or Modern C++, and a <em>“super-easy but that seems to be designed in the 80s”</em> like Go. With the upcoming release on Kotlin Native, then, you can even ditch the JVM!</p>
<p>However, while <strong>IntelliJ</strong> 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).</p> -- <a href="https://www.davideaversa.it/blog/kotlin-development-in-vscode/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/kotlin" term="kotlin" label="kotlin"/><category scheme="https://www.davideaversa.it/tags/vscode" term="vscode" label="vscode"/><category scheme="https://www.davideaversa.it/tags/editor" term="editor" label="editor"/></entry><entry><title type="html">Ranking Systems 01 - What is Skill</title><link href="https://www.davideaversa.it/blog/ranking-system-1-what-is-skill/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/ranking-system-1-what-is-skill/</id><author><name>Davide Aversa</name></author><published>2019-05-17T08:45:47+00:00</published><updated>2019-05-17T08:45:47+00:00</updated><content type="html"><![CDATA[<p>A <strong>Ranking Systems</strong> 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 <a href="https://www.fifa.com/fifa-world-ranking/ranking-table/men/">FIFA ranking</a> for football) or other games (e.g., <a href="https://ratings.fide.com">FIDE Chess Ranking</a>). Comparing stuff is in the human nature.</p> -- <a href="https://www.davideaversa.it/blog/ranking-system-1-what-is-skill/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/math" term="math" label="Math"/><category scheme="https://www.davideaversa.it/tags/ranking-system" term="ranking-system" label="ranking system"/></entry><entry><title type="html">May 2019 Update</title><link href="https://www.davideaversa.it/blog/may-2019-update/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/april-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="April 2019 Update"/><link href="https://www.davideaversa.it/blog/march-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="March 2019 Update"/><link href="https://www.davideaversa.it/blog/february-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="February 2019 Update"/><link href="https://www.davideaversa.it/blog/january-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="January 2019 Update"/><link href="https://www.davideaversa.it/blog/december-2018-update/?utm_source=atom_feed" rel="related" type="text/html" title="December 2018 Update"/><id>https://www.davideaversa.it/blog/may-2019-update/</id><author><name>Davide Aversa</name></author><published>2019-05-01T09:16:45+00:00</published><updated>2019-05-01T09:16:45+00:00</updated><content type="html">&lt;p>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 however it felt so dumb.&lt;/p> -- &lt;a href="https://www.davideaversa.it/blog/may-2019-update/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/></entry><entry><title type="html">Five game design flaws of Quidditch and how to fix them</title><link href="https://www.davideaversa.it/blog/five-game-design-flaws-quidditch/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/gathering-quests-sucks/?utm_source=atom_feed" rel="related" type="text/html" title="Game Design: Gathering Quests Sucks"/><link href="https://www.davideaversa.it/blog/game-design-taxonomy-fishing-mini-games/?utm_source=atom_feed" rel="related" type="text/html" title="Game Design: Taxonomy of Fishing Mini-games"/><link href="https://www.davideaversa.it/blog/cuphead-not-hard/?utm_source=atom_feed" rel="related" type="text/html" title='Cuphead is not "hard"'/><link href="https://www.davideaversa.it/blog/designing-games-for-infinite-players/?utm_source=atom_feed" rel="related" type="text/html" title="On Designing Games for Infinite Players"/><link href="https://www.davideaversa.it/blog/turn-based-battle-systems-chapter-2-analytical-analysis/?utm_source=atom_feed" rel="related" type="text/html" title="Turn-based Battle Systems - Chapter 2 - Analytical Analysis"/><id>https://www.davideaversa.it/blog/five-game-design-flaws-quidditch/</id><author><name>Davide Aversa</name></author><published>2019-04-20T15:27:15+01:00</published><updated>2019-04-20T15:27:15+01:00</updated><content type="html"><![CDATA[<p>I am re-reading Harry Potter for the <em>n-th</em> time. Even it Rowling if trying hard to make me hate it, Harry Potter <em>heptology</em> still have a special place in my hearth. However, there is something I have <em>always</em> hated: Quidditch. It never made sense to me and I always found reading the Quidditch parts very boring. It looks like a game invented by someone who does not know a lot about sports and games.</p>
<p>Reading those parts for the n-th times made me realize that Quidditch may be a good way to showcase common rookie mistakes done by people approaching game-design for the first time (and it also provide meaning for my struggle). So, that’s what we will do today!</p> -- <a href="https://www.davideaversa.it/blog/five-game-design-flaws-quidditch/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/gamedesign" term="gamedesign" label="gamedesign"/></entry><entry><title type="html">Boardgames may be good for your mental health</title><link href="https://www.davideaversa.it/blog/boardgames-may-be-good-for-your-mental-health/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/april-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="April 2019 Update"/><link href="https://www.davideaversa.it/blog/march-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="March 2019 Update"/><link href="https://www.davideaversa.it/blog/time-forgot-how-relax/?utm_source=atom_feed" rel="related" type="text/html" title="The time I forgot how to relax"/><link href="https://www.davideaversa.it/blog/february-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="February 2019 Update"/><link href="https://www.davideaversa.it/blog/january-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="January 2019 Update"/><id>https://www.davideaversa.it/blog/boardgames-may-be-good-for-your-mental-health/</id><author><name>Davide Aversa</name></author><published>2019-04-11T14:15:19+01:00</published><updated>2019-04-11T14:15:19+01:00</updated><content type="html">&lt;p>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 it, we learn from it, we discuss it. Because of that, we tend to forget physical games; in particular boardgames. However, boardgames may be much more than a simple alternative to multiplayer video game; they may be the best defense against mental health problems.&lt;/p> -- &lt;a href="https://www.davideaversa.it/blog/boardgames-may-be-good-for-your-mental-health/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/mental-health" term="mental-health" label="mental health"/><category scheme="https://www.davideaversa.it/tags/developer" term="developer" label="developer"/></entry><entry><title type="html">April 2019 Update</title><link href="https://www.davideaversa.it/blog/april-2019-update/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/march-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="March 2019 Update"/><link href="https://www.davideaversa.it/blog/february-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="February 2019 Update"/><link href="https://www.davideaversa.it/blog/january-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="January 2019 Update"/><link href="https://www.davideaversa.it/blog/december-2018-update/?utm_source=atom_feed" rel="related" type="text/html" title="December 2018 Update"/><link href="https://www.davideaversa.it/blog/november-2018-update/?utm_source=atom_feed" rel="related" type="text/html" title="November 2018 Update"/><id>https://www.davideaversa.it/blog/april-2019-update/</id><author><name>Davide Aversa</name></author><published>2019-04-02T08:59:05+01:00</published><updated>2019-04-02T08:59:05+01:00</updated><content type="html"><![CDATA[<p>Luck is not on my side. I went to Milan for business, I&rsquo;ve got the flu and stayed in the hotel room for the entire week. Is this a glorious waste of time and money? Probably. However, <a href="https://www.goodreads.com/book/show/100158.The_Luck_Factor">luck is a matter of attitude.</a> So I have to think to this event as an important opportunity for reflection. (Yeah, I know&hellip;)</p> -- <a href="https://www.davideaversa.it/blog/april-2019-update/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/></entry><entry><title type="html">Game Design: Gathering Quests Sucks</title><link href="https://www.davideaversa.it/blog/gathering-quests-sucks/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/game-design-taxonomy-fishing-mini-games/?utm_source=atom_feed" rel="related" type="text/html" title="Game Design: Taxonomy of Fishing Mini-games"/><link href="https://www.davideaversa.it/blog/cuphead-not-hard/?utm_source=atom_feed" rel="related" type="text/html" title='Cuphead is not "hard"'/><link href="https://www.davideaversa.it/blog/designing-games-for-infinite-players/?utm_source=atom_feed" rel="related" type="text/html" title="On Designing Games for Infinite Players"/><link href="https://www.davideaversa.it/blog/turn-based-battle-systems-chapter-2-analytical-analysis/?utm_source=atom_feed" rel="related" type="text/html" title="Turn-based Battle Systems - Chapter 2 - Analytical Analysis"/><link href="https://www.davideaversa.it/blog/the-challenge-of-infinite-space/?utm_source=atom_feed" rel="related" type="text/html" title="The Challenge of Infinite Space"/><id>https://www.davideaversa.it/blog/gathering-quests-sucks/</id><author><name>Davide Aversa</name></author><published>2019-03-13T12:32:59+01:00</published><updated>2019-03-13T12:32:59+01:00</updated><content type="html"><![CDATA[<p>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 first outposts I meet a guy with a quest. What an epic quest it will ever be? What dangerous task requires the intervention of an epic hero?</p>
<p>&ldquo;Collect 10 herbs.”</p> -- <a href="https://www.davideaversa.it/blog/gathering-quests-sucks/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/gamedesign" term="gamedesign" label="gamedesign"/><category scheme="https://www.davideaversa.it/tags/quests" term="quests" label="quests"/></entry><entry><title type="html">March 2019 Update</title><link href="https://www.davideaversa.it/blog/march-2019-update/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/february-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="February 2019 Update"/><link href="https://www.davideaversa.it/blog/january-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="January 2019 Update"/><link href="https://www.davideaversa.it/blog/december-2018-update/?utm_source=atom_feed" rel="related" type="text/html" title="December 2018 Update"/><link href="https://www.davideaversa.it/blog/november-2018-update/?utm_source=atom_feed" rel="related" type="text/html" title="November 2018 Update"/><link href="https://www.davideaversa.it/blog/time-forgot-how-relax/?utm_source=atom_feed" rel="related" type="text/html" title="The time I forgot how to relax"/><id>https://www.davideaversa.it/blog/march-2019-update/</id><author><name>Davide Aversa</name></author><published>2019-03-08T15:44:46+01:00</published><updated>2019-03-08T15:44:46+01:00</updated><content type="html">&lt;p>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.&lt;/p> -- &lt;a href="https://www.davideaversa.it/blog/march-2019-update/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/></entry><entry><title type="html">The time I forgot how to relax</title><link href="https://www.davideaversa.it/blog/time-forgot-how-relax/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/february-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="February 2019 Update"/><link href="https://www.davideaversa.it/blog/january-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="January 2019 Update"/><link href="https://www.davideaversa.it/blog/december-2018-update/?utm_source=atom_feed" rel="related" type="text/html" title="December 2018 Update"/><link href="https://www.davideaversa.it/blog/november-2018-update/?utm_source=atom_feed" rel="related" type="text/html" title="November 2018 Update"/><link href="https://www.davideaversa.it/blog/looking-path-far/?utm_source=atom_feed" rel="related" type="text/html" title="Looking at the path so far..."/><id>https://www.davideaversa.it/blog/time-forgot-how-relax/</id><author><name>Davide Aversa</name></author><published>2019-02-18T18:30:06+01:00</published><updated>2019-02-18T18:30:06+01:00</updated><content type="html"><![CDATA[<p><strong>It was the summer of 2018.</strong> 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&rsquo;s mountain house. The plan was straightforward: go there, disconnect from the world, write fiction, read books, do long walks in nature. I wanted to do the things I used to do a long time ago when life was breezy :D.</p>
<p>However, after just one day, I found myself doing the same things I usually do at home: checking news, looking for interesting, reading opinions, checking Twitter and so on. It was then that: <strong>I did not know how to relax anymore. I did not know how to be creative anymore.</strong></p> -- <a href="https://www.davideaversa.it/blog/time-forgot-how-relax/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/time-management" term="time-management" label="time management"/><category scheme="https://www.davideaversa.it/tags/society" term="society" label="society"/><category scheme="https://www.davideaversa.it/tags/social-media" term="social-media" label="social media"/></entry><entry><title type="html">February 2019 Update</title><link href="https://www.davideaversa.it/blog/february-2019-update/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/january-2019-update/?utm_source=atom_feed" rel="related" type="text/html" title="January 2019 Update"/><link href="https://www.davideaversa.it/blog/december-2018-update/?utm_source=atom_feed" rel="related" type="text/html" title="December 2018 Update"/><link href="https://www.davideaversa.it/blog/november-2018-update/?utm_source=atom_feed" rel="related" type="text/html" title="November 2018 Update"/><link href="https://www.davideaversa.it/blog/looking-path-far/?utm_source=atom_feed" rel="related" type="text/html" title="Looking at the path so far..."/><link href="https://www.davideaversa.it/blog/back-from-nucl-ai-2016-a-small-report/?utm_source=atom_feed" rel="related" type="text/html" title="Back from Nucl.ai 2016: A small report"/><id>https://www.davideaversa.it/blog/february-2019-update/</id><author><name>Davide Aversa</name></author><published>2019-01-31T17:51:16+01:00</published><updated>2019-01-31T17:51:16+01:00</updated><content type="html">&lt;p>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.&lt;/p> -- &lt;a href="https://www.davideaversa.it/blog/february-2019-update/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/personal" term="personal" label="Personal"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/></entry><entry><title type="html">Small introduction to Random Walking</title><link href="https://www.davideaversa.it/blog/intro-random-walking/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/choosing-behavior-tree-goap-planning/?utm_source=atom_feed" rel="related" type="text/html" title="Choosing between Behavior Tree and GOAP (Planning)"/><link href="https://www.davideaversa.it/blog/gamedesign-math-rpg-level-based-progression/?utm_source=atom_feed" rel="related" type="text/html" title="GameDesign Math: RPG Level-based Progression"/><link href="https://www.davideaversa.it/blog/playerunknowns-battlegrounds-did-everything-wrong-and-doing-so-it-won/?utm_source=atom_feed" rel="related" type="text/html" title="Playerunknown's Battlegrounds did everything wrong. And doing so, it won."/><link href="https://www.davideaversa.it/blog/game-design-essentials-single-button-controls/?utm_source=atom_feed" rel="related" type="text/html" title="Game Design Essentials: Single Button Controls"/><id>https://www.davideaversa.it/blog/intro-random-walking/</id><author><name>Davide Aversa</name></author><published>2019-01-17T17:42:19+02:00</published><updated>2019-01-17T17:42:19+02:00</updated><content type="html"><![CDATA[<p><strong>Random Walking</strong> is a handy technique to have in your gamdev toolbelt and - despite the name - it is most useful for everything <em>but</em> actual walking. With random walking, we define the output of a process that can be described sequence of random steps. The main difference with a random sequence is that each new value will be statistically near the previous one. Imagine a gold price chart and assume that the current cost is 10€ for 1g of gold. We cannot guess what will be the price in one hour but we can be sure that it will be around 10€ per gram, maybe 9.5€, maybe 10.5€. What is certain, is that a sudden drop to 1€ per gram would be deeply unlikely.</p>
<p>In this article, we will talk briefly about random walking and its ability to simulate many real-world processes such as resources prices, temperature, floating objects position over time, and much more.</p> -- <a href="https://www.davideaversa.it/blog/intro-random-walking/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/random-walking" term="random-walking" label="random walking"/><category scheme="https://www.davideaversa.it/tags/game-design" term="game-design" label="game design"/></entry><entry><title type="html">Quick Look at F# in Unity</title><link href="https://www.davideaversa.it/blog/quick-look-at-f-in-unity/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/one-game-a-month-december-2014/?utm_source=atom_feed" rel="related" type="text/html" title="One Game A Month - December 2014"/><id>https://www.davideaversa.it/blog/quick-look-at-f-in-unity/</id><author><name>Davide Aversa</name></author><published>2018-04-26T12:15:29+00:00</published><updated>2018-04-26T12:15:29+00:00</updated><content type="html"><![CDATA[<p>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 two: <strong>F#</strong>.</p>
<p>F# is a functional language of the ML family born in the Microsoft Research and now developed by the <a href="http://fsharp.org/">F# Software Foundation</a>. Of course, F# run on the .NET framework, the same as C#, the language used by Unity3D. It is clear, then, that we could use F# in Unity. And, in fact, we can with moderate easiness.</p>
<p>Should we? How easy is that? answering these questions is the goal of this article.</p> -- <a href="https://www.davideaversa.it/blog/quick-look-at-f-in-unity/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/fsharp" term="fsharp" label="fsharp"/><category scheme="https://www.davideaversa.it/tags/unity" term="unity" label="unity"/></entry><entry><title type="html">My take on the reproducibility of academic papers</title><link href="https://www.davideaversa.it/blog/on-reproducibility-academic-papers/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/on-reproducibility-academic-papers/</id><author><name>Davide Aversa</name></author><published>2018-04-22T11:36:40+00:00</published><updated>2018-04-22T11:36:40+00:00</updated><content type="html"><![CDATA[<p>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.</p>
<p>This, however, makes me think about the state of scientific work in academia. At least in the computer science field. Something bothered me during my Ph.D. and I am sure it is related to that. (<em>Note: I am talking about what I know, that is, the computer science and AI community)</em> In general, researchers are evaluated on the number of publications. The number of publications is a proxy variable for measuring “quality”. Unfortunately, researchers know that and started to game the system. They try to publish more and to do that they need to lower the “quality” of their work. Because the medium used to communicate your work is a plain PFD file, the obvious way to cut work is to cut the implementation part.</p> -- <a href="https://www.davideaversa.it/blog/on-reproducibility-academic-papers/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/academic" term="academic" label="Academic"/><category scheme="https://www.davideaversa.it/tags/computer-science" term="computer-science" label="computer science"/><category scheme="https://www.davideaversa.it/tags/jupyter" term="jupyter" label="jupyter"/><category scheme="https://www.davideaversa.it/tags/papers" term="papers" label="papers"/></entry><entry><title type="html">[Link] Go: the Good, the Bad and the Ugly</title><link href="https://www.davideaversa.it/blog/link-go-the-good-the-bad-and-the-ugly/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/link-go-the-good-the-bad-and-the-ugly/</id><author><name>Davide Aversa</name></author><published>2018-04-13T20:58:17+00:00</published><updated>2018-04-13T20:58:17+00:00</updated><content type="html"><![CDATA[<p>My opinion is that talking <strong>about</strong> 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 designer, you are writing a language or study a language, you should just use a language and nobody should care.</p>
<p>But good articles on language pro and cons are always nice. They may be helpful to choose the right tool for the problem. For this reason I link a good article on Go. And that&rsquo;s the last time I&rsquo;ll talk about Go.</p> -- <a href="https://www.davideaversa.it/blog/link-go-the-good-the-bad-and-the-ugly/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/></entry><entry><title type="html">Game Design: Taxonomy of Fishing Mini-games</title><link href="https://www.davideaversa.it/blog/game-design-taxonomy-fishing-mini-games/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/cuphead-not-hard/?utm_source=atom_feed" rel="related" type="text/html" title='Cuphead is not "hard"'/><link href="https://www.davideaversa.it/blog/designing-games-for-infinite-players/?utm_source=atom_feed" rel="related" type="text/html" title="On Designing Games for Infinite Players"/><link href="https://www.davideaversa.it/blog/turn-based-battle-systems-chapter-2-analytical-analysis/?utm_source=atom_feed" rel="related" type="text/html" title="Turn-based Battle Systems - Chapter 2 - Analytical Analysis"/><link href="https://www.davideaversa.it/blog/the-challenge-of-infinite-space/?utm_source=atom_feed" rel="related" type="text/html" title="The Challenge of Infinite Space"/><link href="https://www.davideaversa.it/blog/how-to-design-a-pokemon-like-combat-system-chapter-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to design a Pokémon-like Combat System"/><id>https://www.davideaversa.it/blog/game-design-taxonomy-fishing-mini-games/</id><author><name>Davide Aversa</name></author><published>2018-03-24T09:30:00+00:00</published><updated>2018-03-24T09:30:00+00:00</updated><content type="html"><![CDATA[<p>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 is huge. Fishing is everywhere. It seems that it is not possible to have a game without the possibility for character to have a relaxing time fishing in a pond.</p>
<p>Everybody loves fishing! At least in games. We can imagine a deep reason for that. There must be something that attract designers, gamers and human in general to the ancient art of fishing. However, for the time being, we are not interested in this question. Instead, we want to explore the huge design space of “fishing games”.</p>
<p>In fact, the action of fishing has been dissected for decades by game designer. It is fascinating to see how many implementations exist for the same real-life action. So, it is time to see what they produced, what are the possibilities and how we can do something new in this domain.</p> -- <a href="https://www.davideaversa.it/blog/game-design-taxonomy-fishing-mini-games/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/fable" term="fable" label="fable"/><category scheme="https://www.davideaversa.it/tags/fishing" term="fishing" label="fishing"/><category scheme="https://www.davideaversa.it/tags/gamedesign" term="gamedesign" label="gamedesign"/><category scheme="https://www.davideaversa.it/tags/shovel-knight" term="shovel-knight" label="shovel knight"/><category scheme="https://www.davideaversa.it/tags/stardew-valley" term="stardew-valley" label="stardew valley"/><category scheme="https://www.davideaversa.it/tags/zelda" term="zelda" label="zelda"/></entry><entry><title type="html">The State of Game Development in Rust</title><link href="https://www.davideaversa.it/blog/state-game-development-rust/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/movingai-pathfinding-benchmark-parser-rust/?utm_source=atom_feed" rel="related" type="text/html" title="MovingAI pathfinding benchmark parser in Rust"/><link href="https://www.davideaversa.it/blog/how-to-add-a-logo-in-rust-documentation/?utm_source=atom_feed" rel="related" type="text/html" title="How to add a logo in Rust documentation"/><link href="https://www.davideaversa.it/blog/build-rusqlite-windows/?utm_source=atom_feed" rel="related" type="text/html" title="How to build rusqlite on Windows"/><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="related" type="text/html" title="Most Promising Programming Languages of 2017"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-3/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 3)"/><id>https://www.davideaversa.it/blog/state-game-development-rust/</id><author><name>Davide Aversa</name></author><published>2018-02-26T18:37:27+00:00</published><updated>2024-12-31T14:33:44+01:00</updated><content type="html"><![CDATA[<p>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 tyranny of C++ bloated feature set, hard-to-link dependencies, and header/implementation file double-madness (I am obviously exaggerating, btw).</p>
<p>However, if this freedom arrive, it will be a very slow process. To make it slower, the feature of memory safety in videogames is not a huge priority compared to the ability to quickly prototype. The borrow-checker and the strict compiler are an obstacle in this regard. On the other hand, memory safety also means easier multi-threading. And this is sweet!</p>
<p>Fortunately, the annoyances of borrow-checker will get less in the way while people becomes more confident with the language, and while tooling gets better and better. I am confident we may see Rust <span id="result_box" class="short_text" lang="en"><span class="">carve out its space in this domain.</span></span></p>
<p>But this is the future. What about now?</p> -- <a href="https://www.davideaversa.it/blog/state-game-development-rust/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/amethist" term="amethist" label="amethist"/><category scheme="https://www.davideaversa.it/tags/gamedev" term="gamedev" label="gamedev"/><category scheme="https://www.davideaversa.it/tags/ggez" term="ggez" label="ggez"/><category scheme="https://www.davideaversa.it/tags/piston" term="piston" label="piston"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/></entry><entry><title type="html">MovingAI pathfinding benchmark parser in Rust</title><link href="https://www.davideaversa.it/blog/movingai-pathfinding-benchmark-parser-rust/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/how-to-add-a-logo-in-rust-documentation/?utm_source=atom_feed" rel="related" type="text/html" title="How to add a logo in Rust documentation"/><link href="https://www.davideaversa.it/blog/improve-inventory-aware-pathfinding-map-preprocessing/?utm_source=atom_feed" rel="related" type="text/html" title="Improve Inventory-Aware Pathfinding with Map Preprocessing"/><link href="https://www.davideaversa.it/blog/build-rusqlite-windows/?utm_source=atom_feed" rel="related" type="text/html" title="How to build rusqlite on Windows"/><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="related" type="text/html" title="Most Promising Programming Languages of 2017"/><link href="https://www.davideaversa.it/blog/inventory-aware-pathfinding/?utm_source=atom_feed" rel="related" type="text/html" title="Inventory-Aware Pathfinding - Part 1"/><id>https://www.davideaversa.it/blog/movingai-pathfinding-benchmark-parser-rust/</id><author><name>Davide Aversa</name></author><published>2018-02-16T17:40:59+00:00</published><updated>2018-02-16T17:40:59+00:00</updated><content type="html"><![CDATA[<p>You know I worked a lot with pathfinding. In academia, the <a href="https://movingai.com/benchmarks/">MovingAI benchmark</a> created by the <a href="http://www.movingai.com/">MovingAI Lab</a> of the University of Denver is a must for benchmarking pathfinding algorithms. It includes synthetic maps and maps from commercial videogames.</p>
<p>Parsing the benchmark data, the maps, creating the map data structure and more, is one of the most boring thing I needed to do for testing my algorithms. For this reason, I think a common library for working with the maps specifications it is a must.</p> -- <a href="https://www.davideaversa.it/blog/movingai-pathfinding-benchmark-parser-rust/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/academic" term="academic" label="Academic"/><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/movingai" term="movingai" label="movingai"/><category scheme="https://www.davideaversa.it/tags/pathfinding" term="pathfinding" label="pathfinding"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/></entry><entry><title type="html">Choosing between Behavior Tree and GOAP (Planning)</title><link href="https://www.davideaversa.it/blog/choosing-behavior-tree-goap-planning/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/gamedesign-math-rpg-level-based-progression/?utm_source=atom_feed" rel="related" type="text/html" title="GameDesign Math: RPG Level-based Progression"/><link href="https://www.davideaversa.it/blog/playerunknowns-battlegrounds-did-everything-wrong-and-doing-so-it-won/?utm_source=atom_feed" rel="related" type="text/html" title="Playerunknown's Battlegrounds did everything wrong. And doing so, it won."/><link href="https://www.davideaversa.it/blog/improve-inventory-aware-pathfinding-map-preprocessing/?utm_source=atom_feed" rel="related" type="text/html" title="Improve Inventory-Aware Pathfinding with Map Preprocessing"/><link href="https://www.davideaversa.it/blog/game-design-essentials-single-button-controls/?utm_source=atom_feed" rel="related" type="text/html" title="Game Design Essentials: Single Button Controls"/><id>https://www.davideaversa.it/blog/choosing-behavior-tree-goap-planning/</id><author><name>Davide Aversa</name></author><published>2018-02-13T20:54:29+00:00</published><updated>2020-06-19T10:34:00+02:00</updated><content type="html"><![CDATA[<p>I would like to expand <a href="https://www.reddit.com/r/gamedesign/comments/7wopez/im_looking_for_resources_on_goap_ai_system_design/">the answer I gave on /r/gamedesign</a> some days ago. The main point of the question was: how can I decide if it &ldquo;better&rdquo; to implement the decision-making layer of our game AI with Behavior Trees (BTs) or with more <em>advanced</em> plan-based techniques such as <a href="https://web.archive.org/web/20230603190318/http://alumni.media.mit.edu/~jorkin/goap.html">Goal Oriented Action Planning (GOAP)</a> or <a href="http://www.cs.umd.edu/projects/shop/">Simple Hierarchical Ordered Planner (SHOP)</a>.</p>
<h2 id="first-consideration-this-is-not-a-technical-problem">First consideration: this is not a technical problem</h2>
<p>The first thing to know is that writing game AI is not a race for the best technology. Instead, it is just about choosing the right tool for serving the gameplay as well as possible. So, there is no urgency to select the most advanced algorithm. You need to choose the simplest one that is good enough for your game. Remember <em>Pac-Man</em>. <strong>The AI of Pac-Man is still utterly challenging, and yet it is exceptionally straightforward.</strong></p> -- <a href="https://www.davideaversa.it/blog/choosing-behavior-tree-goap-planning/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/behavior-trees" term="behavior-trees" label="behavior trees"/><category scheme="https://www.davideaversa.it/tags/game-design" term="game-design" label="game design"/><category scheme="https://www.davideaversa.it/tags/goap" term="goap" label="goap"/><category scheme="https://www.davideaversa.it/tags/planning" term="planning" label="planning"/></entry><entry><title type="html">GameDesign Math: RPG Level-based Progression</title><link href="https://www.davideaversa.it/blog/gamedesign-math-rpg-level-based-progression/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/how-hidden-variables-in-statistical-models-affect-social-inequality/?utm_source=atom_feed" rel="related" type="text/html" title="How hidden variables in statistical models affect social inequality"/><link href="https://www.davideaversa.it/blog/fast-approximated-moving-average-computation/?utm_source=atom_feed" rel="related" type="text/html" title="Fast (Approximated) Moving Average Computation"/><link href="https://www.davideaversa.it/blog/playerunknowns-battlegrounds-did-everything-wrong-and-doing-so-it-won/?utm_source=atom_feed" rel="related" type="text/html" title="Playerunknown's Battlegrounds did everything wrong. And doing so, it won."/><link href="https://www.davideaversa.it/blog/game-design-essentials-single-button-controls/?utm_source=atom_feed" rel="related" type="text/html" title="Game Design Essentials: Single Button Controls"/><id>https://www.davideaversa.it/blog/gamedesign-math-rpg-level-based-progression/</id><author><name>Davide Aversa</name></author><published>2018-02-03T21:49:07+00:00</published><updated>2023-08-14T19:25:46+02:00</updated><content type="html"><![CDATA[<p>Level-based progression is an extremely popular way of providing the player with the feeling of “getting stronger.” The system is born with <a href="https://en.wikipedia.org/wiki/Role-playing_game">Role-Playing Games</a> (RPG), but it is nowadays embedded in <strong>practically every game</strong>; some more, some less. Even if it is entirely possible to provide progression feeling without levels and experience points, level-based progression is natural, direct, and linear, and it fits well in many (too many?) game genres.</p>
<p>However, not every experience-level progression is the same, and it is essential to design designing a fun system. Many games do that without much thinking: they just slap experience points and level, and that’s it. The general idea is that the more is your level, the more experience you need to advance to the next one. This is true, but it is just a small part of the design. In fact, you <em>must</em> keep in mind the effect of any gameplay element on the player, and you must be sure that what you do produces the emotion you want to convey.</p> -- <a href="https://www.davideaversa.it/blog/gamedesign-math-rpg-level-based-progression/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/game-design" term="game-design" label="game design"/><category scheme="https://www.davideaversa.it/tags/role-play-games" term="role-play-games" label="role-play games"/></entry><entry><title type="html">Small rant about "blockchain" overuse</title><link href="https://www.davideaversa.it/blog/small-rant-blockchain-overuse/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/small-rant-blockchain-overuse/</id><author><name>Davide Aversa</name></author><published>2018-01-26T21:51:49+00:00</published><updated>2018-01-26T21:51:49+00:00</updated><content type="html"><![CDATA[<p>A lot of startups are using &ldquo;blockchain&rdquo; as a replacement hyped word for &ldquo;distributed database&rdquo;. Well, a blockchain is the most inefficient and slow &ldquo;distributed database&rdquo; ever created. Blockchain strength is not in being a database! Stop doing that!</p>
<p>The blockchain power is in avoiding divergent transactions, and guarantee a not falsifiable and immutable history. That is, no node in the system can alter the past of the chain. That&rsquo;s it. They are huge and specific problems.</p> -- <a href="https://www.davideaversa.it/blog/small-rant-blockchain-overuse/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/blockchain" term="blockchain" label="blockchain"/></entry><entry><title type="html">How to add a logo in Rust documentation</title><link href="https://www.davideaversa.it/blog/how-to-add-a-logo-in-rust-documentation/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/build-rusqlite-windows/?utm_source=atom_feed" rel="related" type="text/html" title="How to build rusqlite on Windows"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-3/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 3)"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 1)"/><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="related" type="text/html" title="Most Promising Programming Languages of 2017"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-2/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 2)"/><id>https://www.davideaversa.it/blog/how-to-add-a-logo-in-rust-documentation/</id><author><name>Davide Aversa</name></author><published>2018-01-25T17:26:20+00:00</published><updated>2018-01-25T17:26:20+00:00</updated><content type="html"><![CDATA[<div style="background-color: yellow; padding: 10px; border: 1px solid #ccc;">
    <strong>Note:</strong> This article has not been updated in the last 2 years. The information may be outdated.
</div>


<p>One of the feature I like the most on Rust is automatic documentation. Documentation is a pillar in language ergonomic, and I love that Rust spend so much time into making documentation and documenting code a much pleasant experience.</p>
<p>Rust autogenerated documentation (with <code>cargo doc</code>) looks good, every crate on <a href="https://crates.io">crates.io</a> get its documentation published on <a href="https://docs.rs/">docs.rs</a>, and, most important, <strong>every code example in the code is compiled and run as a &ldquo;unit test&rdquo; making sure that all the examples are up-to date!</strong></p> -- <a href="https://www.davideaversa.it/blog/how-to-add-a-logo-in-rust-documentation/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/documentation" term="documentation" label="documentation"/><category scheme="https://www.davideaversa.it/tags/how-to" term="how-to" label="how-to"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/></entry><entry><title type="html">Questions about Deep Learning and the nature of knowledge</title><link href="https://www.davideaversa.it/blog/questions-about-deep-learning-and-the-nature-of-knowledge/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/not-every-classification-error-is-the-same/?utm_source=atom_feed" rel="related" type="text/html" title="Not every classification error is the same"/><link href="https://www.davideaversa.it/blog/how-hidden-variables-in-statistical-models-affect-social-inequality/?utm_source=atom_feed" rel="related" type="text/html" title="How hidden variables in statistical models affect social inequality"/><id>https://www.davideaversa.it/blog/questions-about-deep-learning-and-the-nature-of-knowledge/</id><author><name>Davide Aversa</name></author><published>2018-01-21T23:36:05+00:00</published><updated>2018-01-21T23:36:05+00:00</updated><content type="html"><![CDATA[<p>If there is something that can be assumed as a fact in the AI and Machine Learning domain is that the last years had been dominated by <a href="https://en.wikipedia.org/wiki/Deep_learning">Deep Learning</a> and other Neural Network based techniques. When I say dominated, I mean that it looks like the only way to achieve something in Machine Learning and it is absorbing the great part of AI enthusiasts’ energy and attention.</p>
<p>This is indubitably a good thing. Having a strong AI technique that can solve so many hard challenges is a huge step forward for humanity. However, how everything in life, Deep Learning, despite being highly successful in some application, carries with it several limitations to that, in other applications, makes the use of Deep Learning unfeasible or even dangerous.</p> -- <a href="https://www.davideaversa.it/blog/questions-about-deep-learning-and-the-nature-of-knowledge/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/deep-learning" term="deep-learning" label="deep learning"/><category scheme="https://www.davideaversa.it/tags/knowledge" term="knowledge" label="knowledge"/><category scheme="https://www.davideaversa.it/tags/machine-learning" term="machine-learning" label="machine learning"/></entry><entry><title type="html">The Most Promising Programming Languages for 2018</title><link href="https://www.davideaversa.it/blog/the-most-promising-programming-languages-for-2018/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/the-most-promising-programming-languages-for-2018/</id><author><name>Davide Aversa</name></author><published>2017-12-31T11:22:06+00:00</published><updated>2017-12-31T11:22:06+00:00</updated><content type="html"><![CDATA[<p>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 <a href="/2016/12/promising-programming-languages-2017/">last year</a>, and the <a href="/2015/12/the-most-promising-languages-of-2016/">year before</a>, and <a href="/2015/01/the-most-promising-languages-of-2015-part-1/">the year before that</a>.</p>
<p>This year, however, I am not in the mood of doing it. There are several reasons why. <strong>The first one is that this year there have not been a lot of movement on the new programming languages.</strong> I am sure there are a lot, but no one got enough attention to make into a list. Therefore, I am concerned that I will just starting to repeat myself talking about the same stuff.</p> -- <a href="https://www.davideaversa.it/blog/the-most-promising-programming-languages-for-2018/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/progamming-language" term="progamming-language" label="progamming language"/></entry><entry><title type="html">Preserving a Cryptography book from 1897</title><link href="https://www.davideaversa.it/blog/preserving-cryptography-book-1897/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/preserving-cryptography-book-1897/</id><author><name>Davide Aversa</name></author><published>2017-12-10T19:17:29+00:00</published><updated>2017-12-10T19:17:29+00:00</updated><content type="html"><![CDATA[<p>Some time ago I found on my grandma&rsquo;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&rsquo;d like to think that some grand-grand-parent was a late 19th century hacker. Anyway.</p>
<p>The book title is <strong>&ldquo;Crittografia ossia l&rsquo;arte di cifrare e decifrare le corrispondenze segrete&rdquo;</strong> of <strong>Count Luigi Gioppi of Turkheim</strong>.</p>
<p>Well, I don&rsquo;t know if this book is hard to find. In any way, I decided to take a photo of every page to share and preserve this book. The book is very old and some page is ruined, sorry if the quality of the photo is not optimal. I&rsquo;ve done my best for not destroying the book in the process. :) I will release the photo one chapter at the time. Keep this page in the bookmark.</p> -- <a href="https://www.davideaversa.it/blog/preserving-cryptography-book-1897/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/books" term="books" label="books"/><category scheme="https://www.davideaversa.it/tags/cryptography" term="cryptography" label="cryptography"/></entry><entry><title type="html">NaNoWriMo 2017 in Stats</title><link href="https://www.davideaversa.it/blog/nanowrimo-2017-in-stats/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/postmortem-writers-block-1gam-january/?utm_source=atom_feed" rel="related" type="text/html" title="Postmortem: Writer's Block - 1GAM January"/><link href="https://www.davideaversa.it/blog/a-month-of-writing-august-15/?utm_source=atom_feed" rel="related" type="text/html" title="A Month of Writing: August 2015"/><id>https://www.davideaversa.it/blog/nanowrimo-2017-in-stats/</id><author><name>Davide Aversa</name></author><published>2017-12-07T14:49:38+00:00</published><updated>2017-12-07T14:49:38+00:00</updated><content type="html"><![CDATA[<p>This year I joined and won the <a href="https://nanowrimo.org">NaNoWriMo</a> 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.</p>
<h2 id="the-novel">The Novel</h2>
<p>I think it is the proper way to do it: I need to talk about the novel. The novel is, of course, in Italian and it is unfinished. With 52k  words I reached barely the beginning of the third act, more or less. Many things need to be rewritten, characters disappeared in thin air as soon as I discovered that I don&rsquo;t need them&hellip; stuff like that. The usual way to do a first draft.</p> -- <a href="https://www.davideaversa.it/blog/nanowrimo-2017-in-stats/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/writing" term="writing" label="writing"/></entry><entry><title type="html">Procedural Calendar Generation &amp; Lunar Phases</title><link href="https://www.davideaversa.it/blog/procedural-calendar-generation-lunar-phases/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/seasons-generation-from-orbital-parameters/?utm_source=atom_feed" rel="related" type="text/html" title="Seasons Generation from Orbital Parameters"/><link href="https://www.davideaversa.it/blog/random-calendar-generation-planet-orbital-parameters/?utm_source=atom_feed" rel="related" type="text/html" title="Random calendar generation from planet orbital parameters"/><link href="https://www.davideaversa.it/blog/computing-planetary-orbits-two-celestial-objects/?utm_source=atom_feed" rel="related" type="text/html" title="Computing planetary orbits between two celestial objects"/><link href="https://www.davideaversa.it/blog/minimized-cave-generation-cellular-automata/?utm_source=atom_feed" rel="related" type="text/html" title="Minimized Cave Generation with Cellular Automata"/><link href="https://www.davideaversa.it/blog/randomness-pcg-is-about-result/?utm_source=atom_feed" rel="related" type="text/html" title="Randomness in PCG is about the result, not the parameters"/><id>https://www.davideaversa.it/blog/procedural-calendar-generation-lunar-phases/</id><author><name>Davide Aversa</name></author><published>2017-11-30T10:18:22+00:00</published><updated>2017-11-30T10:18:22+00:00</updated><content type="html"><![CDATA[<p>Here we are again! This is Part 3 of a small series on how to randomly generate a physically  accurate calendar starting from planet&rsquo;s orbital parameters. You can find the <a href="https://www.davideaversa.it/2017/03/random-calendar-generation-planet-orbital-parameters/">general motivation here</a>, <a href="https://www.davideaversa.it/2017/09/computing-planetary-orbits-two-celestial-objects/">part one here</a> and <a href="https://www.davideaversa.it/2017/11/seasons-generation-from-orbital-parameters/">part two here</a>.</p>
<p>Said that, here we go with the next part: <strong>lunar phases</strong>.</p>
<h2 id="why-lunar-phases">Why lunar phases</h2>
<p>Lunar phases are incredibly important in a calendar. So important, that many of the early humanity calendars are, in fact, <a href="https://en.wikipedia.org/wiki/Lunar_calendar">lunar calendars or lunisolar calendars</a>. Of course, this is true if and only if the planet is lucky enough to have a big moon like us.</p> -- <a href="https://www.davideaversa.it/blog/procedural-calendar-generation-lunar-phases/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/calendar" term="calendar" label="calendar"/><category scheme="https://www.davideaversa.it/tags/moon-phases" term="moon-phases" label="moon phases"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/></entry><entry><title type="html">Seasons Generation from Orbital Parameters</title><link href="https://www.davideaversa.it/blog/seasons-generation-from-orbital-parameters/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/random-calendar-generation-planet-orbital-parameters/?utm_source=atom_feed" rel="related" type="text/html" title="Random calendar generation from planet orbital parameters"/><link href="https://www.davideaversa.it/blog/computing-planetary-orbits-two-celestial-objects/?utm_source=atom_feed" rel="related" type="text/html" title="Computing planetary orbits between two celestial objects"/><link href="https://www.davideaversa.it/blog/minimized-cave-generation-cellular-automata/?utm_source=atom_feed" rel="related" type="text/html" title="Minimized Cave Generation with Cellular Automata"/><link href="https://www.davideaversa.it/blog/randomness-pcg-is-about-result/?utm_source=atom_feed" rel="related" type="text/html" title="Randomness in PCG is about the result, not the parameters"/><link href="https://www.davideaversa.it/blog/pcg-without-computer-combinatorial-literature/?utm_source=atom_feed" rel="related" type="text/html" title="PCG without a Computer: Combinatorial Literature"/><id>https://www.davideaversa.it/blog/seasons-generation-from-orbital-parameters/</id><author><name>Davide Aversa</name></author><published>2017-11-14T17:16:26+00:00</published><updated>2017-11-14T17:16:26+00:00</updated><content type="html"><![CDATA[<p>Welcome back to part 3 of the Procedural Calendar Generation series. In the <a href="https://www.davideaversa.it/2017/09/computing-planetary-orbits-two-celestial-objects/">first part</a> we looked on how to compute celestial body position in a simple two-body system. The <a href="https://www.davideaversa.it/2017/09/crash-course-on-basic-ellipse-geometry/">second part</a>, instead is crash course on ellipse geometry.</p>
<p>In this part, instead, we will tackle a fascinating consequence of the cosmic dance of our planet around its sun: seasons. Seasons are a strange beast because their behavior depends on a huge amount of factors. We are used to our four seasons with mild springs and autumns, hot summers and cold winters. But these four season are just the consequence of our planet ecosystem, atmosphere, the peculiar <strong>axial tilt</strong>, if the orbit is particularly eccentric, distance from the sun in different period of the year can be a strong modifier too! In multi-star system, we can have more than 4 seasons, in planets with strange mechanics we can not have seasons at all (or better, the &ldquo;season&rdquo; depends on where are you on the planet).</p> -- <a href="https://www.davideaversa.it/blog/seasons-generation-from-orbital-parameters/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/calendar" term="calendar" label="calendar"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/><category scheme="https://www.davideaversa.it/tags/seasons" term="seasons" label="seasons"/></entry><entry><title type="html">Not every classification error is the same</title><link href="https://www.davideaversa.it/blog/not-every-classification-error-is-the-same/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/how-hidden-variables-in-statistical-models-affect-social-inequality/?utm_source=atom_feed" rel="related" type="text/html" title="How hidden variables in statistical models affect social inequality"/><id>https://www.davideaversa.it/blog/not-every-classification-error-is-the-same/</id><author><name>Davide Aversa</name></author><published>2017-10-18T11:49:05+00:00</published><updated>2017-10-18T11:49:05+00:00</updated><content type="html"><![CDATA[<p>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 thus train) a classification algorithm, people tend to consider every misclassification equally important and equally bad. We are so deep into our mathematical version of the world that we forget about the consequences of classification errors in the real world.</p>
<p>But let&rsquo;s start from the beginning. Imagine a simple binary classifier. It takes some input \( x \) and return a Boolean value telling use if \( x \) belongs to a certain class \( C \) or not. When we pass through the algorithm a number of elements, we can identify only 4 possible outcomes:</p> -- <a href="https://www.davideaversa.it/blog/not-every-classification-error-is-the-same/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/f-score" term="f-score" label="f-score"/><category scheme="https://www.davideaversa.it/tags/machine-learning" term="machine-learning" label="machine learning"/></entry><entry><title type="html">Cuphead is not "hard"</title><link href="https://www.davideaversa.it/blog/cuphead-not-hard/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/designing-games-for-infinite-players/?utm_source=atom_feed" rel="related" type="text/html" title="On Designing Games for Infinite Players"/><link href="https://www.davideaversa.it/blog/turn-based-battle-systems-chapter-2-analytical-analysis/?utm_source=atom_feed" rel="related" type="text/html" title="Turn-based Battle Systems - Chapter 2 - Analytical Analysis"/><link href="https://www.davideaversa.it/blog/the-challenge-of-infinite-space/?utm_source=atom_feed" rel="related" type="text/html" title="The Challenge of Infinite Space"/><link href="https://www.davideaversa.it/blog/how-to-design-a-pokemon-like-combat-system-chapter-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to design a Pokémon-like Combat System"/><id>https://www.davideaversa.it/blog/cuphead-not-hard/</id><author><name>Davide Aversa</name></author><published>2017-10-16T19:03:10+00:00</published><updated>2017-10-16T19:03:10+00:00</updated><content type="html"><![CDATA[<p>During the last few weeks, I&rsquo;ve seen over and over people saying that <a href="https://en.wikipedia.org/wiki/Cuphead">Cuphead</a> is hard. That it is <em>brutal</em>. That is the <em>&ldquo;dark souls of the side shooter&rdquo;</em>. For this reason, before this trend goes too far, it is time to make things clear: <strong>Cuphead is not hard.</strong></p>
<p>Can a game that can easily beaten in a couple of hours be hard? No. It is challenging&quot;, yes. It requires multiple tries, for sure. But it is not hard and definitely not &ldquo;brutal&rdquo;. There are several reasons why Cuphead can be considered a very forgiving game.</p> -- <a href="https://www.davideaversa.it/blog/cuphead-not-hard/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/cuphead" term="cuphead" label="cuphead"/><category scheme="https://www.davideaversa.it/tags/gamedesign" term="gamedesign" label="gamedesign"/></entry><entry><title type="html">A Dwarf Fortress calendar in PureScript + Halogen</title><link href="https://www.davideaversa.it/blog/dwarf-fortress-calendar-purescript-halogen/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/three-js-shader-loading-external-file/?utm_source=atom_feed" rel="related" type="text/html" title="THREE.js Shader Loading from External File"/><link href="https://www.davideaversa.it/blog/typescript-binary-heap/?utm_source=atom_feed" rel="related" type="text/html" title="TypeScript Binary Heap"/><link href="https://www.davideaversa.it/blog/quick-dev-tips-pixel-perfect-scaling-phaser-game/?utm_source=atom_feed" rel="related" type="text/html" title="Quick Dev Tips: Pixel-Perfect Scaling of a Phaser game"/><link href="https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/?utm_source=atom_feed" rel="related" type="text/html" title="Javascript is not so bad, after all"/><link href="https://www.davideaversa.it/blog/the-definitive-guide-to-start-with-clojurescript/?utm_source=atom_feed" rel="related" type="text/html" title="The definitive guide to start with ClojureScript"/><id>https://www.davideaversa.it/blog/dwarf-fortress-calendar-purescript-halogen/</id><author><name>Davide Aversa</name></author><published>2017-10-02T11:55:38+00:00</published><updated>2017-10-02T11:55:38+00:00</updated><content type="html"><![CDATA[<p>My last week project involves <a href="http://www.purescript.org/">PureScript</a> and <a href="https://github.com/slamdata/purescript-halogen">Halogen</a> and the <a href="http://www.bay12games.com/dwarves/">Dwarf Fortress</a> calendar. I wanted to give a first-hand experience with some pure functional language for web front-end and, after discarding Elm, I ended with PureScript. I will not go on a comparison between PureScript and the rest of the world. If you want a comparison among the other candidates, <a href="http://mutanatum.com/posts/2017-01-12-Browser-FP-Head-to-Head.html">you can look at this very detailed article</a>. (There is ClojureScript too, <a href="/2017/03/new-clojure-front/">if Clojure will ever came back from the graveyard</a>).</p> -- <a href="https://www.davideaversa.it/blog/dwarf-fortress-calendar-purescript-halogen/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/dwarf-fortress" term="dwarf-fortress" label="dwarf fortress"/><category scheme="https://www.davideaversa.it/tags/halogen" term="halogen" label="halogen"/><category scheme="https://www.davideaversa.it/tags/javascript" term="javascript" label="javascript"/><category scheme="https://www.davideaversa.it/tags/purescript" term="purescript" label="purescript"/></entry><entry><title type="html">Crash course on basic ellipse geometry</title><link href="https://www.davideaversa.it/blog/crash-course-on-basic-ellipse-geometry/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/crash-course-on-basic-ellipse-geometry/</id><author><name>Davide Aversa</name></author><published>2017-09-18T09:40:28+00:00</published><updated>2024-12-31T14:17:05+01:00</updated><content type="html"><![CDATA[<p>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 about ellipses (duh), I will move from the <strong>semi-axis majors</strong>, to the <strong>periapsis</strong>, to <strong>eccentricity</strong>, to ellipse&rsquo;s <strong>center</strong> and ellipse&rsquo;s <strong>foci</strong>. I am concerned that things can get more complicated than expected if the readers does not know many of the geometric properties of the ellipse. For this reason, I put here this <em>vade mecum</em> on the ellipse geometry. A summary with all the basic points and lengths. A place that I can link everywhere I need to refresh a definition.</p> -- <a href="https://www.davideaversa.it/blog/crash-course-on-basic-ellipse-geometry/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/math" term="math" label="Math"/><category scheme="https://www.davideaversa.it/tags/ellipse" term="ellipse" label="ellipse"/></entry><entry><title type="html">WordPress abandoning React: a Facebook horror story</title><link href="https://www.davideaversa.it/blog/wordpress-abandoning-react-a-facebook-horror-story/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/need-decide-decisions/?utm_source=atom_feed" rel="related" type="text/html" title="You need to decide your decisions"/><link href="https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/?utm_source=atom_feed" rel="related" type="text/html" title="Javascript is not so bad, after all"/><link href="https://www.davideaversa.it/blog/in-search-of-the-philosophers-code/?utm_source=atom_feed" rel="related" type="text/html" title="In search of the &amp;#8220;Philosopher&amp;#8217;s Code&amp;#8221;"/><id>https://www.davideaversa.it/blog/wordpress-abandoning-react-a-facebook-horror-story/</id><author><name>Davide Aversa</name></author><published>2017-09-15T19:45:31+00:00</published><updated>2017-09-15T19:45:31+00:00</updated><content type="html"><![CDATA[<p>Today, during my daily web crawling, I found <a href="https://ma.tt/2017/09/on-react-and-wordpress/">this article</a> 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 core of the announcement: <strong>WordPress just decided to abandon <a href="https://facebook.github.io/react/">React</a></strong>. This is a big news, with many implications and a few lessons to learn. Let&rsquo;s go by steps.</p>
<h2 id="the-context">The Context</h2>
<p>You are probably asking yourselves: why? A perfect summary is explained <a href="https://www.reddit.com/r/programming/comments/706stt/wordpress_abandoning_react_due_to_facebook_patent/dn18ezy/"><em>u/A-Grey-World</em> comment on Reddit</a>:</p> -- <a href="https://www.davideaversa.it/blog/wordpress-abandoning-react-a-facebook-horror-story/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/facebook" term="facebook" label="facebook"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/><category scheme="https://www.davideaversa.it/tags/react" term="react" label="react"/><category scheme="https://www.davideaversa.it/tags/vue.js" term="vue.js" label="vue.js"/><category scheme="https://www.davideaversa.it/tags/wordpress" term="wordpress" label="wordpress"/></entry><entry><title type="html">Computing planetary orbits between two celestial objects</title><link href="https://www.davideaversa.it/blog/computing-planetary-orbits-two-celestial-objects/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/random-calendar-generation-planet-orbital-parameters/?utm_source=atom_feed" rel="related" type="text/html" title="Random calendar generation from planet orbital parameters"/><id>https://www.davideaversa.it/blog/computing-planetary-orbits-two-celestial-objects/</id><author><name>Davide Aversa</name></author><published>2017-09-11T23:00:37+00:00</published><updated>2017-09-11T23:00:37+00:00</updated><content type="html"><![CDATA[<p>As you probably know, I am working (slowly) on an <a href="/2017/03/random-calendar-generation-planet-orbital-parameters/">astronomically accurate calendar generator.</a> All the orbital calculations involved are quite challenging, and I am discovering <strong>a lot</strong>. It is a lot of fun (except for the all the times I need to do some trigonometric magic to make some formula work). Anyway, during this process, I am reshaping and producing many many formulas. I am sure that in six months I will forget all the motivations behind them. For this reason, I want to try to save some of them here. In this way, I will have a good place where to look back at my notes and, moreover, I can be useful to other people trying to do some low-accuracy orbital calculations. I want to start from the beginning: <strong>orbital period and orbital trajectory.</strong></p> -- <a href="https://www.davideaversa.it/blog/computing-planetary-orbits-two-celestial-objects/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/math" term="math" label="Math"/><category scheme="https://www.davideaversa.it/tags/astronomy" term="astronomy" label="astronomy"/><category scheme="https://www.davideaversa.it/tags/calendar" term="calendar" label="calendar"/><category scheme="https://www.davideaversa.it/tags/astromechanics" term="astromechanics" label="astromechanics"/></entry><entry><title type="html">How hidden variables in statistical models affect social inequality</title><link href="https://www.davideaversa.it/blog/how-hidden-variables-in-statistical-models-affect-social-inequality/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/python-for-practical-statistics/?utm_source=atom_feed" rel="related" type="text/html" title="Python for Practical Statistics"/><link href="https://www.davideaversa.it/blog/fast-approximated-moving-average-computation/?utm_source=atom_feed" rel="related" type="text/html" title="Fast (Approximated) Moving Average Computation"/><id>https://www.davideaversa.it/blog/how-hidden-variables-in-statistical-models-affect-social-inequality/</id><author><name>Davide Aversa</name></author><published>2017-09-09T17:44:07+00:00</published><updated>2017-09-09T17:44:07+00:00</updated><content type="html">&lt;p>Use of machine learning is becoming ubiquitous and, even with a fancy name, it remains a tool in the statistical modeler belt. Every day, we leak billions of data from ourselves to companies ready to use it for their affair. Modeling through data get more common every day and mathematical model are the rulers of our life: they decide where we can work, if we can get a loan, how many years of jails we deserve, and more.&lt;/p> -- &lt;a href="https://www.davideaversa.it/blog/how-hidden-variables-in-statistical-models-affect-social-inequality/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/machine-learning" term="machine-learning" label="machine learning"/><category scheme="https://www.davideaversa.it/tags/statistics" term="statistics" label="statistics"/></entry><entry><title type="html">Playerunknown's Battlegrounds did everything wrong. And doing so, it won.</title><link href="https://www.davideaversa.it/blog/playerunknowns-battlegrounds-did-everything-wrong-and-doing-so-it-won/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/game-design-essentials-single-button-controls/?utm_source=atom_feed" rel="related" type="text/html" title="Game Design Essentials: Single Button Controls"/><id>https://www.davideaversa.it/blog/playerunknowns-battlegrounds-did-everything-wrong-and-doing-so-it-won/</id><author><name>Davide Aversa</name></author><published>2017-08-26T16:17:38+00:00</published><updated>2017-08-26T16:17:38+00:00</updated><content type="html"><![CDATA[<p>This small article is born from a discussion I had with <a href="https://twitter.com/quadrazza">a friend of mine</a> this week. He was writing a review on <a href="https://en.wikipedia.org/wiki/PlayerUnknown%27s_Battlegrounds">Playersunknown’s Battlegrounds</a> (from now on, <em>PUBG</em>) and he ended up talking about the evolution of the genre and its triumph over every other competitor. The article was good but it did not enter in detail about, what I think, it is a greatly important and interesting question: <strong>Why PUBG? Why not any of the other dozens of <em>battle royal</em> games we were plagued in the last years?</strong></p>
<p>PUBG is clearly a winner in this competition. It sold more than <a href="http://www.gamasutra.com/view/news/304167/Playerunknowns_Battlegrounds_surpasses_8M_sales.php">8 million copies on Steam only</a>, and I can see the trend going with the future release on consoles. The problem, in my opinion, is that, on paper, there is nothing in PUBG implementation that seems &ldquo;right&rdquo;. Nevertheless, it won.</p>
<p>Machiavelli once said that success is 50% luck. That’s definitely true for PUBG. But the other 50% must be researched in the PUBG qualities. Analyzing them, despite the massive “errors”, it is very important for any game designer.</p> -- <a href="https://www.davideaversa.it/blog/playerunknowns-battlegrounds-did-everything-wrong-and-doing-so-it-won/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/dayz" term="dayz" label="DayZ"/><category scheme="https://www.davideaversa.it/tags/game-design" term="game-design" label="game design"/><category scheme="https://www.davideaversa.it/tags/playerunkowns-battlegorund" term="playerunkowns-battlegorund" label="playerunkown's battlegorund"/><category scheme="https://www.davideaversa.it/tags/pubg" term="pubg" label="pubg"/><category scheme="https://www.davideaversa.it/tags/the-culling" term="the-culling" label="the culling"/></entry><entry><title type="html">Against Addiction and Gambling-like Mechanic in Free to Play Games</title><link href="https://www.davideaversa.it/blog/against-addiction-and-gambling-like-mechanic-in-free-to-play-games/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/against-addiction-and-gambling-like-mechanic-in-free-to-play-games/</id><author><name>Davide Aversa</name></author><published>2017-08-18T20:04:49+00:00</published><updated>2017-08-18T20:04:49+00:00</updated><content type="html"><![CDATA[<p>I want to take the cue from <a href="https://www.reddit.com/r/Games/comments/6sthby/i_feel_microtransaction_isnt_the_right_term_to/">a last week massive Reddit thread on micro-transaction in Free2Play (F2P) games</a> to give my opinion of the topic. I think it is important. <strong>We need to increase awareness that predatory practices in F2P games are incredibly close to gambling and share with it the same self-destructive and harmful addictive behavior.</strong> This is wrong in so many way: it is dangerous for the victims, it is dangerous for the game itself, and it is dangerous for the entire F2P model.</p> -- <a href="https://www.davideaversa.it/blog/against-addiction-and-gambling-like-mechanic-in-free-to-play-games/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/addiction" term="addiction" label="addiction"/><category scheme="https://www.davideaversa.it/tags/free-to-play" term="free-to-play" label="free to play"/><category scheme="https://www.davideaversa.it/tags/gambling" term="gambling" label="gambling"/></entry><entry><title type="html">Artificial Anxiety and the problem "Mental Issues" in AI</title><link href="https://www.davideaversa.it/blog/artificial-anxiety-and-the-problem-mental-issues-in-ai/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/when-cheating-with-a-robot-is-really-cheating/?utm_source=atom_feed" rel="related" type="text/html" title="When cheating with a robot is really cheating?"/><id>https://www.davideaversa.it/blog/artificial-anxiety-and-the-problem-mental-issues-in-ai/</id><author><name>Davide Aversa</name></author><published>2017-08-03T09:47:14+00:00</published><updated>2017-08-03T09:47:14+00:00</updated><content type="html"><![CDATA[<p>Anxiety is a human mind bug. This may seem a strange claim, but I cannot find a better explanation for anxiety disorders. In fact, we can see pathological anxiety as the undesired consequence of our ability to think about the future. Being scared about a life-threatening event in the near future is a valuable ability: it helps us to survive, avoid danger and, in short, make our species survive. That is one of the reason our species has been so successful in nature<a href="#_ftn1">\[1\]</a>.</p> -- <a href="https://www.davideaversa.it/blog/artificial-anxiety-and-the-problem-mental-issues-in-ai/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/artificial-intelligence" term="artificial-intelligence" label="Artificial Intelligence"/><category scheme="https://www.davideaversa.it/tags/artificial-intelligence" term="artificial-intelligence" label="artificial intelligence"/><category scheme="https://www.davideaversa.it/tags/psycology" term="psycology" label="psycology"/></entry><entry><title type="html">Looking at the path so far...</title><link href="https://www.davideaversa.it/blog/looking-path-far/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/back-from-nucl-ai-2016-a-small-report/?utm_source=atom_feed" rel="related" type="text/html" title="Back from Nucl.ai 2016: A small report"/><id>https://www.davideaversa.it/blog/looking-path-far/</id><author><name>Davide Aversa</name></author><published>2017-07-24T11:50:36+00:00</published><updated>2017-07-24T11:50:36+00:00</updated><content type="html"><![CDATA[<p>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 myself since my childhood. When I was 10 (or earlier, I don&rsquo;t really know for sure) I answered for the first time the question: &ldquo;what do you want to do as a grown up?&rdquo;. And the answer was &ldquo;I&rsquo;ll make games&rdquo; (&ldquo;I&rsquo;ll make Mario&rsquo;s game&rdquo;, to be very precise).</p> -- <a href="https://www.davideaversa.it/blog/looking-path-far/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/><category scheme="https://www.davideaversa.it/tags/personal" term="personal" label="personal"/></entry><entry><title type="html">Minimized Cave Generation with Cellular Automata</title><link href="https://www.davideaversa.it/blog/minimized-cave-generation-cellular-automata/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/randomness-pcg-is-about-result/?utm_source=atom_feed" rel="related" type="text/html" title="Randomness in PCG is about the result, not the parameters"/><link href="https://www.davideaversa.it/blog/random-calendar-generation-planet-orbital-parameters/?utm_source=atom_feed" rel="related" type="text/html" title="Random calendar generation from planet orbital parameters"/><link href="https://www.davideaversa.it/blog/pcg-without-computer-combinatorial-literature/?utm_source=atom_feed" rel="related" type="text/html" title="PCG without a Computer: Combinatorial Literature"/><link href="https://www.davideaversa.it/blog/announcement-procjams-seed-1/?utm_source=atom_feed" rel="related" type="text/html" title="Announcement: Procjam's Seed #1"/><link href="https://www.davideaversa.it/blog/procedural-generation-post-no-mans-sky-era/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Generation in the Post No Man's Sky Era"/><id>https://www.davideaversa.it/blog/minimized-cave-generation-cellular-automata/</id><author><name>Davide Aversa</name></author><published>2017-07-04T11:45:36+00:00</published><updated>2017-07-04T11:45:36+00:00</updated><content type="html"><![CDATA[<p>Yesterday I wrote a <a href="https://en.wikipedia.org/wiki/Cellular_automaton">cellular automaton</a> based procedural caves generator algorithm that fits in a business card. The algorithm itself is not new. <a href="/2014/11/random-maps-with-cellular-automata/">I already did it in C++, Rust, Javascript and many more languages.</a> It is my personal approach to &ldquo;Hello World&rdquo;: when I want to try a new language, write a PCG algorithm in it.</p> -- <a href="https://www.davideaversa.it/blog/minimized-cave-generation-cellular-automata/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/c++" term="c++" label="c++"/><category scheme="https://www.davideaversa.it/tags/obfuscation" term="obfuscation" label="obfuscation"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/></entry><entry><title type="html">Improve Inventory-Aware Pathfinding with Map Preprocessing</title><link href="https://www.davideaversa.it/blog/improve-inventory-aware-pathfinding-map-preprocessing/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/inventory-aware-pathfinding/?utm_source=atom_feed" rel="related" type="text/html" title="Inventory-Aware Pathfinding - Part 1"/><link href="https://www.davideaversa.it/blog/boost-hierarchical-pathfinding-with-extended-graphs/?utm_source=atom_feed" rel="related" type="text/html" title="Boost Hierarchical Pathfinding with Extended Graphs"/><link href="https://www.davideaversa.it/blog/back-from-aiide-2014/?utm_source=atom_feed" rel="related" type="text/html" title="Back from AIIDE 2014"/><id>https://www.davideaversa.it/blog/improve-inventory-aware-pathfinding-map-preprocessing/</id><author><name>Davide Aversa</name></author><published>2017-06-13T11:20:31+00:00</published><updated>2017-06-13T11:20:31+00:00</updated><content type="html"><![CDATA[<p><em>This article has been originally published on <a href="http://www.gamasutra.com/blogs/DavideAversa/20170612/299814/Improve_InventoryAware_Pathfinding_with_Map_Preprocessing.php">Gamasutra</a>.</em></p>
<p><a href="http://www.gamasutra.com/blogs/DavideAversa/20160422/271073/Introduction_to_InventoryAware_Pathfinding.php">In the last article</a> we introduced a basic approach for <strong>Inventory-Aware Pathfinding</strong> (<strong>IAP</strong>), a pathfinding algorithm capable of interacting with obstacles and not just avoiding them. If you have not read it, I encourage you to go back and read it to understand the basic challenges and the main ideas behind the proposed solution.</p>
<p>For instance, we can have a pathfinding algorithm that can solve small plans and “puzzles” involving reasoning like “before passing this door, I need to get that key”. This is definitely planning territory. However, if we focus on a small subset of the problem, we may squeeze the algorithm into the pathfinding search itself.</p> -- <a href="https://www.davideaversa.it/blog/improve-inventory-aware-pathfinding-map-preprocessing/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/academic" term="academic" label="Academic"/><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/gamasutra" term="gamasutra" label="gamasutra"/><category scheme="https://www.davideaversa.it/tags/iap" term="iap" label="iap"/><category scheme="https://www.davideaversa.it/tags/pathfinding" term="pathfinding" label="pathfinding"/><category scheme="https://www.davideaversa.it/tags/planning" term="planning" label="planning"/></entry><entry><title type="html">Typescript Unit Test for Web Applications</title><link href="https://www.davideaversa.it/blog/typescript-unit-test-web-applications/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/typescript-binary-heap/?utm_source=atom_feed" rel="related" type="text/html" title="TypeScript Binary Heap"/><link href="https://www.davideaversa.it/blog/quick-dev-tips-pixel-perfect-scaling-phaser-game/?utm_source=atom_feed" rel="related" type="text/html" title="Quick Dev Tips: Pixel-Perfect Scaling of a Phaser game"/><link href="https://www.davideaversa.it/blog/basic-bootstrap-phaser-io-typescript-game-development/?utm_source=atom_feed" rel="related" type="text/html" title="Basic Bootstrap for Phaser.io and Typescript Game Development"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><id>https://www.davideaversa.it/blog/typescript-unit-test-web-applications/</id><author><name>Davide Aversa</name></author><published>2017-05-26T11:28:34+00:00</published><updated>2017-05-26T11:28:34+00:00</updated><content type="html"><![CDATA[<p>You know, I quite enjoy <a href="https://www.typescriptlang.org/">TypeScript</a>. 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 too many hassles. Moreover, it is the language in which I prototyped my <a href="/2017/03/random-calendar-generation-planet-orbital-parameters/">Astronomical Calendar Generator</a>. Now that I&rsquo;m working on extending it, I want to keep using TypeScript and stop falling in my usual decision paralysis. Anyway&hellip; First thing I needed to do is how to unit test a TypeScript source base. It is easy, but not intuitive. So let&rsquo;s see how to do it.</p> -- <a href="https://www.davideaversa.it/blog/typescript-unit-test-web-applications/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/mocha" term="mocha" label="mocha"/><category scheme="https://www.davideaversa.it/tags/typescript" term="typescript" label="typescript"/><category scheme="https://www.davideaversa.it/tags/unit-test" term="unit-test" label="unit test"/></entry><entry><title type="html">I needed to trust my gut feelings: Kotlin and Android</title><link href="https://www.davideaversa.it/blog/i-needed-trust-gut-feelings-kotlin-android/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/new-clojure-front/?utm_source=atom_feed" rel="related" type="text/html" title="Any news from Clojure front?"/><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="related" type="text/html" title="Most Promising Programming Languages of 2017"/><id>https://www.davideaversa.it/blog/i-needed-trust-gut-feelings-kotlin-android/</id><author><name>Davide Aversa</name></author><published>2017-05-19T12:40:13+00:00</published><updated>2017-05-19T12:40:13+00:00</updated><content type="html"><![CDATA[<p>In <a href="/2016/12/promising-programming-languages-2017/">this year top-5 promising languages list</a>, I put <a href="https://kotlinlang.org/">Kotlin</a> in fifth place among  the languages that you should definitely check in 2017. <a href="https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/">This week Google I\O announced that Kotlin is now an officially supported language for Android Development</a>. I like to be right in my forecast. However, I need to be honest. Back then, I didn&rsquo;t know well why I put it there. I just had some kind of ethereal intuition.</p>
<p>In the article I wrote:</p> -- <a href="https://www.davideaversa.it/blog/i-needed-trust-gut-feelings-kotlin-android/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/android" term="android" label="android"/><category scheme="https://www.davideaversa.it/tags/kotlin" term="kotlin" label="kotlin"/></entry><entry><title type="html">How to build rusqlite on Windows</title><link href="https://www.davideaversa.it/blog/build-rusqlite-windows/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-3/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 3)"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 1)"/><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="related" type="text/html" title="Most Promising Programming Languages of 2017"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-2/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 2)"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><id>https://www.davideaversa.it/blog/build-rusqlite-windows/</id><author><name>Davide Aversa</name></author><published>2017-05-02T15:46:09+00:00</published><updated>2017-05-02T15:46:09+00:00</updated><content type="html"><![CDATA[<div style="background-color: yellow; padding: 10px; border: 1px solid #ccc;">
    <strong>Note:</strong> This article has not been updated in the last 2 years. The information may be outdated.
</div>


<p>Yesterday I spent way more time than needed for compiling this dependency on Windows. The problem is that the error was not informative enough and hard to google, and, mostly, that there is no standardized way to look for installed libraries in Windows. Just to be clear, there is no reliable way to use <code>pkg-config</code> on Windows as in Unix-like systems.</p> -- <a href="https://www.davideaversa.it/blog/build-rusqlite-windows/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/><category scheme="https://www.davideaversa.it/tags/how-to" term="how-to" label="how-to"/></entry><entry><title type="html">I am killing comments. I will not kill discussion.</title><link href="https://www.davideaversa.it/blog/i-killing-comments-i-will-not-kill-discussion/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/i-killing-comments-i-will-not-kill-discussion/</id><author><name>Davide Aversa</name></author><published>2017-04-25T15:38:32+00:00</published><updated>2017-04-25T15:38:32+00:00</updated><content type="html"><![CDATA[<p><strong>I am removing comments from this blog.</strong> There are several reasons for this decision. First, it is hard to find value in comments anymore. In 3 years I think I have collected something like 10 comments. Most of my interaction with readers and other people happens on Twitter, in the Facebook comments or in the Reddit threads. Second, the existing main solutions for comments are unappealing.</p>
<p>The default WordPress comment system is very spam prone and hard to manage. On the other hand, <a href="https://disqus.com/">Disqus</a> looks like a more technologically advanced solution. Unfortunately, in practice, it is a resource hog, it forces you to have your experience shared among different domains, and, in other words, a giant tracking system. I do not want to force my readers to load a third-party potentially tracking  system every time. Even because it make hard to me to enforce a serious privacy policy for this place.</p> -- <a href="https://www.davideaversa.it/blog/i-killing-comments-i-will-not-kill-discussion/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/blog" term="blog" label="blog"/><category scheme="https://www.davideaversa.it/tags/disqus" term="disqus" label="disqus"/></entry><entry><title type="html">Randomness in PCG is about the result, not the parameters</title><link href="https://www.davideaversa.it/blog/randomness-pcg-is-about-result/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/procedural-contents-generation-in-modern-videogames/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Contents Generation in Modern Videogames"/><link href="https://www.davideaversa.it/blog/random-maps-with-cellular-automata/?utm_source=atom_feed" rel="related" type="text/html" title="Random Maps with Cellular Automata"/><link href="https://www.davideaversa.it/blog/random-goblin-name-generator/?utm_source=atom_feed" rel="related" type="text/html" title="Random Goblin Name Generator"/><link href="https://www.davideaversa.it/blog/random-calendar-generation-planet-orbital-parameters/?utm_source=atom_feed" rel="related" type="text/html" title="Random calendar generation from planet orbital parameters"/><link href="https://www.davideaversa.it/blog/pcg-without-computer-combinatorial-literature/?utm_source=atom_feed" rel="related" type="text/html" title="PCG without a Computer: Combinatorial Literature"/><id>https://www.davideaversa.it/blog/randomness-pcg-is-about-result/</id><author><name>Davide Aversa</name></author><published>2017-04-21T15:35:07+00:00</published><updated>2024-12-31T14:19:30+01:00</updated><content type="html"><![CDATA[<p>I feel the urge of stating the obvious: <strong>randomness in Procedural Generation refers to the perceived randomness of the outcome; not the randomness of the input parameters.</strong></p>
<p>In some sense this is &ldquo;obvious&rdquo; but, at the same time, is one of the most common mistake I see when developers tackle procedural content generation in their games. It is an understandable mistake, though. There are two assumptions we subconsciously make when we approach randomness: 1) we think that uniformly random  parameters produce uniformly random outputs (that&rsquo;s blatantly false), and 2) we think that uniformly random outputs yield to uniformly random perception in the human (even more false).</p> -- <a href="https://www.davideaversa.it/blog/randomness-pcg-is-about-result/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/pcg" term="pcg" label="pcg"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/></entry><entry><title type="html">Random calendar generation from planet orbital parameters</title><link href="https://www.davideaversa.it/blog/random-calendar-generation-planet-orbital-parameters/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/pcg-without-computer-combinatorial-literature/?utm_source=atom_feed" rel="related" type="text/html" title="PCG without a Computer: Combinatorial Literature"/><link href="https://www.davideaversa.it/blog/announcement-procjams-seed-1/?utm_source=atom_feed" rel="related" type="text/html" title="Announcement: Procjam's Seed #1"/><link href="https://www.davideaversa.it/blog/procedural-generation-post-no-mans-sky-era/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Generation in the Post No Man's Sky Era"/><link href="https://www.davideaversa.it/blog/on-the-procedural-generation-of-a-proto-language/?utm_source=atom_feed" rel="related" type="text/html" title="On the procedural generation of a proto-language"/><link href="https://www.davideaversa.it/blog/procedural-contents-generation-in-modern-videogames/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Contents Generation in Modern Videogames"/><id>https://www.davideaversa.it/blog/random-calendar-generation-planet-orbital-parameters/</id><author><name>Davide Aversa</name></author><published>2017-03-27T16:29:22+00:00</published><updated>2017-03-27T16:29:22+00:00</updated><content type="html"><![CDATA[<p>In this article I want to show you a small proof of concept where we generate from scratch an alien calendar. The difference from other random calendar generators that just put random days and random month is that, in this tool, we can specify as input the orbital parameters of the planet and satellite and generate <strong>a calendar that makes sense</strong>.  How could be the calendar for that planet orbiting a super-massive star? How could be the calendar for Mars or Venus? Every time I try to sketch a Sci-Fi world, I want to try thinking to a calendar that make sense for that particular planet. Because the calculations are long and boring, I built for myself this little tool. However, before going to the tool, I want to provide a small introduction to the problem.</p> -- <a href="https://www.davideaversa.it/blog/random-calendar-generation-planet-orbital-parameters/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/calendar" term="calendar" label="calendar"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/></entry><entry><title type="html">Any news from Clojure front?</title><link href="https://www.davideaversa.it/blog/new-clojure-front/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="related" type="text/html" title="Most Promising Programming Languages of 2017"/><link href="https://www.davideaversa.it/blog/language-showdown-elixir-clojure/?utm_source=atom_feed" rel="related" type="text/html" title="My view on Elixir and Clojure"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><link href="https://www.davideaversa.it/blog/weekly-inspirational-1/?utm_source=atom_feed" rel="related" type="text/html" title="Weekly Inspirational #1"/><link href="https://www.davideaversa.it/blog/the-definitive-guide-to-start-with-clojurescript/?utm_source=atom_feed" rel="related" type="text/html" title="The definitive guide to start with ClojureScript"/><id>https://www.davideaversa.it/blog/new-clojure-front/</id><author><name>Davide Aversa</name></author><published>2017-03-20T16:13:08+00:00</published><updated>2017-03-20T16:13:08+00:00</updated><content type="html"><![CDATA[<p>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 project sleeping in my Code folder because I thought that it would come in handy when Clojure 1.9 would be released. However, I left that project stub back in February 2016, <strong>more than a year ago</strong>. That raise the question: <strong>where is Clojure 1.9?</strong></p> -- <a href="https://www.davideaversa.it/blog/new-clojure-front/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/clojure" term="clojure" label="clojure"/><category scheme="https://www.davideaversa.it/tags/elixir" term="elixir" label="elixir"/><category scheme="https://www.davideaversa.it/tags/go" term="go" label="go"/><category scheme="https://www.davideaversa.it/tags/kotlin" term="kotlin" label="kotlin"/></entry><entry><title type="html">Most Promising Programming Languages of 2017</title><link href="https://www.davideaversa.it/blog/promising-programming-languages-2017/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-2/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2015 - Part 2"/><link href="https://www.davideaversa.it/blog/language-showdown-elixir-clojure/?utm_source=atom_feed" rel="related" type="text/html" title="My view on Elixir and Clojure"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-3/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 3)"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-2/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 2)"/><id>https://www.davideaversa.it/blog/promising-programming-languages-2017/</id><author><name>Davide Aversa</name></author><published>2016-12-28T17:26:11+00:00</published><updated>2024-12-31T14:27:03+01:00</updated><content type="html"><![CDATA[<p>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: <strong>in this list, you will not find programming languages for hiring purposes, but for very long-time investments and for pure programming fetish.</strong></p>
<p>So, now that you know what I am talking about, here we go with the top 5 for 2017.</p>
<h1 id="top-5-promising-programming-languages-for-2017">Top 5 Promising Programming Languages for 2017</h1>
<h2 id="rust">Rust</h2>
<p><img src="/wp-content/uploads/2016/12/rust-logo-512x512-300x300.png" alt=""></p> -- <a href="https://www.davideaversa.it/blog/promising-programming-languages-2017/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/crystal" term="crystal" label="crystal"/><category scheme="https://www.davideaversa.it/tags/elixir" term="elixir" label="elixir"/><category scheme="https://www.davideaversa.it/tags/kotlin" term="kotlin" label="kotlin"/><category scheme="https://www.davideaversa.it/tags/nim" term="nim" label="nim"/><category scheme="https://www.davideaversa.it/tags/programming-language" term="programming-language" label="programming language"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/></entry><entry><title type="html">PCG without a Computer: Combinatorial Literature</title><link href="https://www.davideaversa.it/blog/pcg-without-computer-combinatorial-literature/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/announcement-procjams-seed-1/?utm_source=atom_feed" rel="related" type="text/html" title="Announcement: Procjam's Seed #1"/><link href="https://www.davideaversa.it/blog/procedural-generation-post-no-mans-sky-era/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Generation in the Post No Man's Sky Era"/><link href="https://www.davideaversa.it/blog/on-the-procedural-generation-of-a-proto-language/?utm_source=atom_feed" rel="related" type="text/html" title="On the procedural generation of a proto-language"/><link href="https://www.davideaversa.it/blog/procedural-contents-generation-in-modern-videogames/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Contents Generation in Modern Videogames"/><link href="https://www.davideaversa.it/blog/random-maps-with-cellular-automata/?utm_source=atom_feed" rel="related" type="text/html" title="Random Maps with Cellular Automata"/><id>https://www.davideaversa.it/blog/pcg-without-computer-combinatorial-literature/</id><author><name>Davide Aversa</name></author><published>2016-12-20T16:50:13+00:00</published><updated>2016-12-20T16:50:13+00:00</updated><content type="html"><![CDATA[<p>For us computer scientists and game developers, <em>Procedural Content Generation</em> is directly connected with computers and algorithms. It seems such a modern thing!</p>
<p>In reality, the exploration of the “combinatorial nature of art and human thoughts” is a much older concept. Probably, the most interesting and early writing on “PCG” is the doctoral dissertation of Gottfried Leibniz, <em>De Arte Combinatoria</em> (On the Combinatorial Art) (1666) in which he exposed the main idea that “all truth are nothing but combinations of a relatively small number of simple concepts.”</p> -- <a href="https://www.davideaversa.it/blog/pcg-without-computer-combinatorial-literature/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/combinatorial-literature" term="combinatorial-literature" label="combinatorial literature"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/></entry><entry><title type="html">How to manage a Videogames Bibliography in LaTeX</title><link href="https://www.davideaversa.it/blog/manage-videogames-bibliography-latex/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/manage-videogames-bibliography-latex/</id><author><name>Davide Aversa</name></author><published>2016-11-17T17:43:41+00:00</published><updated>2024-12-31T14:23:50+01:00</updated><content type="html"><![CDATA[<p>There is a common question in academia for people working on videogames: &ldquo;Is there a consensus on how to cite videogames in academic papers?&rdquo;. Obviously not, there is no consensus and probably never will. However, I will try to show you a solution to this problem that I enjoyed a lot in the last months. It is clear, it is customizable and it is the most formal way I&rsquo;ve found to do that.</p> -- <a href="https://www.davideaversa.it/blog/manage-videogames-bibliography-latex/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/academic" term="academic" label="Academic"/><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/latex" term="latex" label="latex"/><category scheme="https://www.davideaversa.it/tags/videogames" term="videogames" label="videogames"/></entry><entry><title type="html">THREE.js Shader Loading from External File</title><link href="https://www.davideaversa.it/blog/three-js-shader-loading-external-file/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/typescript-binary-heap/?utm_source=atom_feed" rel="related" type="text/html" title="TypeScript Binary Heap"/><link href="https://www.davideaversa.it/blog/quick-dev-tips-pixel-perfect-scaling-phaser-game/?utm_source=atom_feed" rel="related" type="text/html" title="Quick Dev Tips: Pixel-Perfect Scaling of a Phaser game"/><link href="https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/?utm_source=atom_feed" rel="related" type="text/html" title="Javascript is not so bad, after all"/><link href="https://www.davideaversa.it/blog/the-definitive-guide-to-start-with-clojurescript/?utm_source=atom_feed" rel="related" type="text/html" title="The definitive guide to start with ClojureScript"/><id>https://www.davideaversa.it/blog/three-js-shader-loading-external-file/</id><author><name>Davide Aversa</name></author><published>2016-10-29T09:59:12+00:00</published><updated>2016-10-29T09:59:12+00:00</updated><content type="html"><![CDATA[<p>As usual, trying to nicely separate into different files the various application parts in <strong>JavaScript</strong> is a titanic challenge. This time, I wanted to separate the &ldquo;.frag&rdquo; and &ldquo;.vert&rdquo; shader programs into different files that I can load at runtime (instead of putting them into the HTML like a savage).</p>
<p>For some reason, there is no easy out-of-the-box way to do that. On the internet, there is a small library, but it depends on JQuery and I think it is insane to load <em>JQuery</em> on top of <a href="https://threejs.org/">THREE.js</a> just to load a couple of files. Therefore, I wrote a function to do that using the THREE.js integrated generic loader function.</p> -- <a href="https://www.davideaversa.it/blog/three-js-shader-loading-external-file/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/javascript" term="javascript" label="javascript"/><category scheme="https://www.davideaversa.it/tags/shader" term="shader" label="shader"/><category scheme="https://www.davideaversa.it/tags/three.js" term="three.js" label="three.js"/></entry><entry><title type="html">Announcement: Procjam's Seed #1</title><link href="https://www.davideaversa.it/blog/announcement-procjams-seed-1/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/procedural-generation-post-no-mans-sky-era/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Generation in the Post No Man's Sky Era"/><link href="https://www.davideaversa.it/blog/python-for-practical-statistics/?utm_source=atom_feed" rel="related" type="text/html" title="Python for Practical Statistics"/><link href="https://www.davideaversa.it/blog/on-the-procedural-generation-of-a-proto-language/?utm_source=atom_feed" rel="related" type="text/html" title="On the procedural generation of a proto-language"/><link href="https://www.davideaversa.it/blog/procedural-contents-generation-in-modern-videogames/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Contents Generation in Modern Videogames"/><link href="https://www.davideaversa.it/blog/random-maps-with-cellular-automata/?utm_source=atom_feed" rel="related" type="text/html" title="Random Maps with Cellular Automata"/><id>https://www.davideaversa.it/blog/announcement-procjams-seed-1/</id><author><name>Davide Aversa</name></author><published>2016-10-24T10:54:43+00:00</published><updated>2016-10-24T10:54:43+00:00</updated><content type="html"><![CDATA[<p>This is just a small announcement. Some days ago the first issue of <a href="http://www.procjam.com/seeds/"><strong>Seed</strong></a>, the official <a href="http://www.procjam.com/">ProcJam</a> magazine, has been released. If you are interested in procedural generation you really should give it a shot. It is colorful 106 pages long magazine, full of experiences, ideas and interesting contents on PCG.</p>
<p>Moreover, there is also an article of mine on the  <em><strong>Ou</strong>vroir de <strong>li</strong>ttérature <strong>po</strong>tentielle</em> (Oulipo), a mid &lsquo;900 literary movement that it is really connected with the PCG. If you want to read about people developing PCG stories in the pre-information era, take a look.</p> -- <a href="https://www.davideaversa.it/blog/announcement-procjams-seed-1/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/uncategorized" term="uncategorized" label="Uncategorized"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/><category scheme="https://www.davideaversa.it/tags/procjam" term="procjam" label="procjam"/><category scheme="https://www.davideaversa.it/tags/seed" term="seed" label="seed"/></entry><entry><title type="html">How to build a Telegram SpyBot</title><link href="https://www.davideaversa.it/blog/how-to-build-a-telegram-spybot/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/how-to-build-a-telegram-spybot/</id><author><name>Davide Aversa</name></author><published>2016-10-10T10:57:17+00:00</published><updated>2016-10-10T10:57:17+00:00</updated><content type="html"><![CDATA[<p>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 truth and we should start considering this fact to make things better in the future.</p>
<p>Why I&rsquo;m talking about this? Because, in the last weeks, I&rsquo;ve found an <em>extremely easy</em> way to spy any Telegram group. It is not a dark market secret (in fact it is perfectly documented in the <a href="https://core.telegram.org/bots#privacy-mode" target="_blank">Telegram Bot API</a>), but works perfectly because <strong>nobody cares</strong>. While every internet and privacy activist is talking about how Google, Facebook and Yahoo are spying on our email, <strong>telegram bots that are actually logging all the messages in all the groups in plain text</strong>. They are bot, by unknown programmers, without ToS, without anything, reading all your messages and potentially storing them who knows where.</p>
<p>So, I will explain to you how to build a Telegram SpyBot. Hopefully you can use it to teach some privacy lesson to your friends.</p> -- <a href="https://www.davideaversa.it/blog/how-to-build-a-telegram-spybot/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/bot" term="bot" label="bot"/><category scheme="https://www.davideaversa.it/tags/privacy" term="privacy" label="privacy"/><category scheme="https://www.davideaversa.it/tags/telegram" term="telegram" label="telegram"/></entry><entry><title type="html">Procedural Generation in the Post No Man's Sky Era</title><link href="https://www.davideaversa.it/blog/procedural-generation-post-no-mans-sky-era/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/on-the-procedural-generation-of-a-proto-language/?utm_source=atom_feed" rel="related" type="text/html" title="On the procedural generation of a proto-language"/><link href="https://www.davideaversa.it/blog/the-challenge-of-infinite-space/?utm_source=atom_feed" rel="related" type="text/html" title="The Challenge of Infinite Space"/><link href="https://www.davideaversa.it/blog/procedural-contents-generation-in-modern-videogames/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Contents Generation in Modern Videogames"/><link href="https://www.davideaversa.it/blog/random-maps-with-cellular-automata/?utm_source=atom_feed" rel="related" type="text/html" title="Random Maps with Cellular Automata"/><link href="https://www.davideaversa.it/blog/random-goblin-name-generator/?utm_source=atom_feed" rel="related" type="text/html" title="Random Goblin Name Generator"/><id>https://www.davideaversa.it/blog/procedural-generation-post-no-mans-sky-era/</id><author><name>Davide Aversa</name></author><published>2016-10-04T12:38:19+00:00</published><updated>2016-10-04T12:38:19+00:00</updated><content type="html"><![CDATA[<p>I think the time is ready to talk about <strong>Procedural Contents Generation</strong> (<strong>PCG</strong>) in the post <strong>No Man&rsquo;s Sky</strong> era. I&rsquo;m talking about &ldquo;era&rdquo; for a good reason: <strong>No Man&rsquo;s Sky huge failure</strong> will definitely mark an era in the history of PCG, and not for a good reason. Players&rsquo; perception on PCG has been severely hurt by how badly <em>NMS</em> delivered its contents. Probably, this will be the end of PCG as a marketing buzz-word.</p> -- <a href="https://www.davideaversa.it/blog/procedural-generation-post-no-mans-sky-era/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/no-mans-sky" term="no-mans-sky" label="no man's sky"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/></entry><entry><title type="html">Python for Practical Statistics</title><link href="https://www.davideaversa.it/blog/python-for-practical-statistics/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/convert-images-to-movingai-maps/?utm_source=atom_feed" rel="related" type="text/html" title="Convert images to MovingAI maps"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-3/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 3)"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-2/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 2)"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 1)"/><link href="https://www.davideaversa.it/blog/yoshix-experiments-made-easy/?utm_source=atom_feed" rel="related" type="text/html" title="YoshiX: Experiments made easy"/><id>https://www.davideaversa.it/blog/python-for-practical-statistics/</id><author><name>Davide Aversa</name></author><published>2016-09-25T20:02:51+00:00</published><updated>2016-09-25T20:02:51+00:00</updated><content type="html"><![CDATA[<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
      <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/Iq9DzN6mvYA?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
    </div>

<p>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 <a href="https://us.pycon.org/2016/">PyCon</a>. It talks about &ldquo;practical statistics&rdquo;, that is, how you can try to produce (or validate) a model when you can not compute the analytic model of a phenomenon. Many of the technique he describes can be used to any language, so it is suitable even if you do not program in Python. Anyway, look that, it is worth it. Moreover, this is just an excuse to suggest you to look around all the other videos from PyCon. They are well made and there are some interesting talk that should be watched.</p> -- <a href="https://www.davideaversa.it/blog/python-for-practical-statistics/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/procjam" term="procjam" label="procjam"/><category scheme="https://www.davideaversa.it/tags/python" term="python" label="python"/><category scheme="https://www.davideaversa.it/tags/statistics" term="statistics" label="statistics"/></entry><entry><title type="html">On Designing Games for Infinite Players</title><link href="https://www.davideaversa.it/blog/designing-games-for-infinite-players/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/turn-based-battle-systems-chapter-2-analytical-analysis/?utm_source=atom_feed" rel="related" type="text/html" title="Turn-based Battle Systems - Chapter 2 - Analytical Analysis"/><link href="https://www.davideaversa.it/blog/the-challenge-of-infinite-space/?utm_source=atom_feed" rel="related" type="text/html" title="The Challenge of Infinite Space"/><link href="https://www.davideaversa.it/blog/how-to-design-a-pokemon-like-combat-system-chapter-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to design a Pokémon-like Combat System"/><id>https://www.davideaversa.it/blog/designing-games-for-infinite-players/</id><author><name>Davide Aversa</name></author><published>2016-08-25T15:48:33+00:00</published><updated>2016-08-25T15:48:33+00:00</updated><content type="html"><![CDATA[<p>When you design a game, one of the most important aspect to take into account is the <strong>number of players</strong>. Games can be designed for a single player, two players, four players or thousands of player (like in <a href="https://en.wikipedia.org/wiki/Massively_multiplayer_online_game">MMOs</a>) and this decision has a huge impact in the technical and design requirements.</p>
<p>But it is not just choosing a number. The “number of players” parameter cannot be arbitrarily moved at will. The more we increase the value, the more the designing task becomes harder and harder. Look around you. We have thousands of single-player games, we can find a huge amount of games for 2 to 4 players, we have party games that can go to 10 players or team sport games such as rugby and football that can be played up to 20 or 30 players, but after this amount of players, how many good games there are?</p> -- <a href="https://www.davideaversa.it/blog/designing-games-for-infinite-players/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/gamedesign" term="gamedesign" label="gamedesign"/><category scheme="https://www.davideaversa.it/tags/players" term="players" label="players"/></entry><entry><title type="html">On the procedural generation of a proto-language</title><link href="https://www.davideaversa.it/blog/on-the-procedural-generation-of-a-proto-language/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/procedural-contents-generation-in-modern-videogames/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Contents Generation in Modern Videogames"/><link href="https://www.davideaversa.it/blog/random-maps-with-cellular-automata/?utm_source=atom_feed" rel="related" type="text/html" title="Random Maps with Cellular Automata"/><link href="https://www.davideaversa.it/blog/random-goblin-name-generator/?utm_source=atom_feed" rel="related" type="text/html" title="Random Goblin Name Generator"/><id>https://www.davideaversa.it/blog/on-the-procedural-generation-of-a-proto-language/</id><author><name>Davide Aversa</name></author><published>2016-08-12T16:03:33+00:00</published><updated>2016-08-12T16:03:33+00:00</updated><content type="html"><![CDATA[<p>As you probably know, last week I was at the <a href="http://digra-fdg2016.org/">DiGRA-FDG</a> conference in Dundee, Scotland. The conference ended last week, but I have the urge to add something to a really interesting presentation I&rsquo;ve attended during the first day at the workshop on Procedural Contents Generation.</p>
<p>Before FDG, I was reading a small book on how the Chinese language has evolved during the centuries. It is extremely interesting. Especially if we look at the clear and wonderful evolution from pictures on paleolithic wood artifacts to the modern Mandarin Language. This triggered in me the idea to explore the literature on teleological algorithms for the procedural generation of languages (<a href="http://cowboyprogramming.com/2007/01/02/teleological-vs-ontogenetic/">if you don&rsquo;t know</a>, the <em>teleological algorithms</em> in PCG are the ones that try to generate a &ldquo;thing&rdquo; by simulating the physical and evolutionary processes through which the &ldquo;thing&rdquo; is generated in the Real World™).</p> -- <a href="https://www.davideaversa.it/blog/on-the-procedural-generation-of-a-proto-language/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/academic" term="academic" label="Academic"/><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/language" term="language" label="language"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/></entry><entry><title type="html">Back from Nucl.ai 2016: A small report</title><link href="https://www.davideaversa.it/blog/back-from-nucl-ai-2016-a-small-report/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/back-from-nucl-ai-2016-a-small-report/</id><author><name>Davide Aversa</name></author><published>2016-07-24T18:57:27+00:00</published><updated>2024-12-31T14:35:17+01:00</updated><content type="html"><![CDATA[<p>I&rsquo;m back! During the last week, I had a beautiful experience as a volunteer at the <a href="https://web.archive.org/web/20180217005609/https://nucl.ai/">Nucl.ai 2016</a> conference, one of the nicest Game AI related conferences in Europe.</p>
<p>I like this conference. It has a very informal atmosphere and both speakers and attendees are incredibly friendly and very willing in giving advice. You can go there like a complete no-one (for instance, like me) and you can speak and have a beer with Lead AI programmer in Triple-A games, in top notch industries like Google, Blizzard or Epic as if they are your friends.</p> -- <a href="https://www.davideaversa.it/blog/back-from-nucl-ai-2016-a-small-report/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/academic" term="academic" label="Academic"/><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/conference" term="conference" label="conference"/><category scheme="https://www.davideaversa.it/tags/diary" term="diary" label="diary"/><category scheme="https://www.davideaversa.it/tags/nucl.ai" term="nucl.ai" label="nucl.ai"/></entry><entry><title type="html">My view on Elixir and Clojure</title><link href="https://www.davideaversa.it/blog/language-showdown-elixir-clojure/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><link href="https://www.davideaversa.it/blog/weekly-inspirational-1/?utm_source=atom_feed" rel="related" type="text/html" title="Weekly Inspirational #1"/><link href="https://www.davideaversa.it/blog/the-definitive-guide-to-start-with-clojurescript/?utm_source=atom_feed" rel="related" type="text/html" title="The definitive guide to start with ClojureScript"/><id>https://www.davideaversa.it/blog/language-showdown-elixir-clojure/</id><author><name>Davide Aversa</name></author><published>2016-07-08T19:59:44+00:00</published><updated>2016-07-08T19:59:44+00:00</updated><content type="html"><![CDATA[<p><a href="http://elixir-lang.org/">Elixir</a> and <a href="http://clojure.org/">Clojure</a> are two uprising and fun functional languages. As you know, I talked about both of them in the article on <a href="/2015/12/the-most-promising-languages-of-2016/">the most promising languages of 2016</a>, and, in fact, they are the only real functional languages I mentioned in there.</p>
<p>At the time, I didn&rsquo;t really explore these two languages in deep, and in fact, I think I was a bit too hard on Clojure. During this half year, I had the opportunity to go deeper in Clojure and my opinion on the languages increased accordingly. Moreover, Clojure 1.8 came out just a month later with some nice improvements and the upcoming Clojure 1.9 (with the introduction of the <a href="http://clojure.org/news/2016/05/23/introducing-clojure-spec">`clojure.spec`</a>) seems to push the bar even further. So, yeah, I was wrong on a big point: Clojure is advancing quite fast.</p> -- <a href="https://www.davideaversa.it/blog/language-showdown-elixir-clojure/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/clojure" term="clojure" label="clojure"/><category scheme="https://www.davideaversa.it/tags/elixir" term="elixir" label="elixir"/></entry><entry><title type="html">TypeScript Binary Heap</title><link href="https://www.davideaversa.it/blog/typescript-binary-heap/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/quick-dev-tips-pixel-perfect-scaling-phaser-game/?utm_source=atom_feed" rel="related" type="text/html" title="Quick Dev Tips: Pixel-Perfect Scaling of a Phaser game"/><link href="https://www.davideaversa.it/blog/basic-bootstrap-phaser-io-typescript-game-development/?utm_source=atom_feed" rel="related" type="text/html" title="Basic Bootstrap for Phaser.io and Typescript Game Development"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><link href="https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/?utm_source=atom_feed" rel="related" type="text/html" title="Javascript is not so bad, after all"/><link href="https://www.davideaversa.it/blog/the-definitive-guide-to-start-with-clojurescript/?utm_source=atom_feed" rel="related" type="text/html" title="The definitive guide to start with ClojureScript"/><id>https://www.davideaversa.it/blog/typescript-binary-heap/</id><author><name>Davide Aversa</name></author><published>2016-06-21T12:00:37+00:00</published><updated>2016-06-21T12:00:37+00:00</updated><content type="html"><![CDATA[<p>Yesterday I converted a <strong>Binary Heap</strong> data structure in <strong>TypeScript</strong>. The original code is <a href="http://eloquentjavascript.net/1st_edition/appendix2.html">here</a>, in the <em>Eloquent JavaScript</em> online book by <em>Marijn Haverbeke.</em></p>
<p>In short, a <a href="https://en.wikipedia.org/wiki/Binary_heap">Binary Heap</a> is a common data structure for a <strong>priority queue</strong>. We want to put inside the queue many values (or an object) and you want to extract the smallest value (or the object with the smallest score) in the most efficient way.</p>
<p>This JS implementation the Eloquent Javascript book is pretty common, so I decided &ldquo;to typify it&rdquo;.  The result is in the following Gist:</p> -- <a href="https://www.davideaversa.it/blog/typescript-binary-heap/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/javascript" term="javascript" label="javascript"/><category scheme="https://www.davideaversa.it/tags/typescript" term="typescript" label="typescript"/></entry><entry><title type="html">Quick Dev Tips: Pixel-Perfect Scaling of a Phaser game</title><link href="https://www.davideaversa.it/blog/quick-dev-tips-pixel-perfect-scaling-phaser-game/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/basic-bootstrap-phaser-io-typescript-game-development/?utm_source=atom_feed" rel="related" type="text/html" title="Basic Bootstrap for Phaser.io and Typescript Game Development"/><link href="https://www.davideaversa.it/blog/fast-approximated-moving-average-computation/?utm_source=atom_feed" rel="related" type="text/html" title="Fast (Approximated) Moving Average Computation"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><link href="https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/?utm_source=atom_feed" rel="related" type="text/html" title="Javascript is not so bad, after all"/><link href="https://www.davideaversa.it/blog/the-definitive-guide-to-start-with-clojurescript/?utm_source=atom_feed" rel="related" type="text/html" title="The definitive guide to start with ClojureScript"/><id>https://www.davideaversa.it/blog/quick-dev-tips-pixel-perfect-scaling-phaser-game/</id><author><name>Davide Aversa</name></author><published>2016-06-19T17:28:35+00:00</published><updated>2016-06-19T17:28:35+00:00</updated><content type="html"><![CDATA[<p>As you may know, I am in the middle of developing a demo for some <a href="http://www.gamasutra.com/blogs/DavideAversa/20160422/271073/Introduction_to_InventoryAware_Pathfinding.php">Smart Pathfinding</a>, and I&rsquo;m using <a href="/2016/06/basic-bootstrap-phaser-io-typescript-game-development/">Phaser and TypeScript</a> for it. Unfortunately, as soon as I started coding a couple of days ago, I quickly found a problem. How can I do pixel-perfect scaling of the game?</p>
<p>The tileset I&rsquo;m using is very small (16x16 pixels tiles) and I needed to scale them at least 3 times to make them visible on a big screen. However, searching for &ldquo;phaser.io&rdquo; and &ldquo;scaling&rdquo; returns a lot of not useful results.</p> -- <a href="https://www.davideaversa.it/blog/quick-dev-tips-pixel-perfect-scaling-phaser-game/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/javascript" term="javascript" label="javascript"/><category scheme="https://www.davideaversa.it/tags/phaser.io" term="phaser.io" label="phaser.io"/><category scheme="https://www.davideaversa.it/tags/tips" term="tips" label="tips"/><category scheme="https://www.davideaversa.it/tags/typescript" term="typescript" label="typescript"/></entry><entry><title type="html">Basic Bootstrap for Phaser.io and Typescript Game Development</title><link href="https://www.davideaversa.it/blog/basic-bootstrap-phaser-io-typescript-game-development/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><id>https://www.davideaversa.it/blog/basic-bootstrap-phaser-io-typescript-game-development/</id><author><name>Davide Aversa</name></author><published>2016-06-11T18:21:16+00:00</published><updated>2016-06-11T18:21:16+00:00</updated><content type="html"><![CDATA[<p>In the last period, I&rsquo;m really enjoying <a href="https://www.typescriptlang.org/">TypeScript</a>. It is typed, can be used in a functional way without effort, it like a C# for the Web, in short, I love it. For this reason, I started converting some old <a href="http://phaser.io/">Phaser.io</a> demo in TypeScript, for fun.</p>
<p>So, why I&rsquo;m writing here? To solve two main problems. First, the TypeScript guide in the Phaser.io web page is really outdated. Second, there are a lot of &ldquo;template&rdquo; project fo Phaser.io you can download. These templates are really <em>state-of-the-art</em> level: they use <em>Gulp</em>, <em>Grunt</em>, <em>NPM</em> and another million of tools.</p> -- <a href="https://www.davideaversa.it/blog/basic-bootstrap-phaser-io-typescript-game-development/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/phaser.io" term="phaser.io" label="phaser.io"/><category scheme="https://www.davideaversa.it/tags/typescript" term="typescript" label="typescript"/></entry><entry><title type="html">Game Design Essentials: Single Button Controls</title><link href="https://www.davideaversa.it/blog/game-design-essentials-single-button-controls/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/game-design-essentials-single-button-controls/</id><author><name>Davide Aversa</name></author><published>2016-05-26T16:30:27+00:00</published><updated>2016-05-26T16:30:27+00:00</updated><content type="html"><![CDATA[<p>I hope you agree with me: <strong>controls are the true essence of every game</strong>. Sometimes, controls schemes are enough to define the game itself: once you decide the game controls mechanics, the rest of the game will follow. So I thought to start exploring controls schemes in a more formal way, searching for a way to analyze games from the user interaction point of view only.</p>
<p>We will start from the simplest control scheme possible: <strong>a game with a single button</strong>. These kind of games are recently more common than ever: they are easy to implement, easy to play and very suitable for smartphones (touch screens can be seen as single giant buttons). In other words, they are the perfect candidate for a funny mobile game.</p> -- <a href="https://www.davideaversa.it/blog/game-design-essentials-single-button-controls/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/controls" term="controls" label="controls"/><category scheme="https://www.davideaversa.it/tags/game-design" term="game-design" label="game design"/></entry><entry><title type="html">How to generate passphrases with an RPG Dice Set</title><link href="https://www.davideaversa.it/blog/generate-passphrase-rpg-dice-set/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/generate-passphrase-rpg-dice-set/</id><author><name>Davide Aversa</name></author><published>2016-05-11T17:57:18+00:00</published><updated>2016-05-11T17:57:18+00:00</updated><content type="html"><![CDATA[<p>Times ago, I was reading something on numerical systems and password generators and I find myself discovering <a href="http://world.std.com/~reinhold/diceware.html">Diceware</a>, a system for generating a <strong>passphrase</strong> using several <strong>6-side dice</strong>. I think it was funny, so I looked for some dice in my house to try the system. Unfortunately, I have just one d6. Diceware requires five throws just for a single word and a good passphrase requires 3 or 4 words, plus some modifiers here and there. In total, I should throw that single die 20 times to get a good passphrase.</p> -- <a href="https://www.davideaversa.it/blog/generate-passphrase-rpg-dice-set/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/math" term="math" label="Math"/><category scheme="https://www.davideaversa.it/tags/dice" term="dice" label="dice"/><category scheme="https://www.davideaversa.it/tags/passphrases" term="passphrases" label="passphrases"/></entry><entry><title type="html">You need to decide your decisions</title><link href="https://www.davideaversa.it/blog/need-decide-decisions/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/?utm_source=atom_feed" rel="related" type="text/html" title="Javascript is not so bad, after all"/><link href="https://www.davideaversa.it/blog/on-the-developer-anxiety/?utm_source=atom_feed" rel="related" type="text/html" title="On developer anxiety"/><link href="https://www.davideaversa.it/blog/in-search-of-the-philosophers-code/?utm_source=atom_feed" rel="related" type="text/html" title="In search of the &amp;#8220;Philosopher&amp;#8217;s Code&amp;#8221;"/><id>https://www.davideaversa.it/blog/need-decide-decisions/</id><author><name>Davide Aversa</name></author><published>2016-04-09T22:37:42+00:00</published><updated>2016-04-09T22:37:42+00:00</updated><content type="html"><![CDATA[<p>If there is something that I learned from my daily struggle with procrastination, is that every day <strong>you just have a limited amount of decisions</strong>. Every day, you can only do 5, 8, maybe 10 meaningfully decisions. After that you will start doing mistakes, get tired and, in general, doing wrong.</p>
<p>What can be surprising of this, is that <strong>doesn&rsquo;t matter how important the decision is</strong>. Look at a traditional day: you wake up and you need to decide what to eat for breakfast, what clothes to wear, if it is better to go to work using the car or public transportation. You have literally just waked up and you have already depleted the big part of you <em>decision pool</em> for the day. And none of that decision is meaningful for your work, your career, your family, your affections.</p> -- <a href="https://www.davideaversa.it/blog/need-decide-decisions/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/productivity" term="productivity" label="productivity"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/></entry><entry><title type="html">Inventory-Aware Pathfinding - Part 1</title><link href="https://www.davideaversa.it/blog/inventory-aware-pathfinding/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/boost-hierarchical-pathfinding-with-extended-graphs/?utm_source=atom_feed" rel="related" type="text/html" title="Boost Hierarchical Pathfinding with Extended Graphs"/><link href="https://www.davideaversa.it/blog/back-from-aiide-2014/?utm_source=atom_feed" rel="related" type="text/html" title="Back from AIIDE 2014"/><id>https://www.davideaversa.it/blog/inventory-aware-pathfinding/</id><author><name>Davide Aversa</name></author><published>2016-04-04T10:00:58+00:00</published><updated>2016-04-04T10:00:58+00:00</updated><content type="html"><![CDATA[<p>Everybody know what <a href="https://en.wikipedia.org/wiki/Pathfinding">pathfinding</a> is. I don&rsquo;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 in a straight line, then you are using some kind of pathfinding.</p>
<p>What is less evident is that pathfinding is the only place in which &ldquo;searching&rdquo; is generally accepted. Except for <a href="https://web.archive.org/web/20230603190318/http://alumni.media.mit.edu/~jorkin/goap.html">GOAP</a> and other planning-based techniques, the big part of the NPC&rsquo;s <strong>decision-making techniques are reactive-based</strong>.</p>
<p>This is not a bad thing. Reactive techniques are an amazing design tool. However, this raises a question. <strong>Why is this?</strong> Mainly because of computational limits - full-fledged planning still requires an impractical amount of time - but also because of design unpredictability. The output of planning decision-making techniques is hard to control and the final behavior of the agent could be counterintuitive for the designers and, at the end, for the players.</p>
<p>Why can pathfinding play a role in this? Because it is possible to embed in it a <strong>minimal, specialized, subset of planning</strong>, especially if these planning instances require spatial reasoning. A common example is solving a pathfinding problem in which areas of the map are blocked by doors that can be open by switches or keys sparse around on the map. How can we solve this kind of problems?</p> -- <a href="https://www.davideaversa.it/blog/inventory-aware-pathfinding/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/academic" term="academic" label="Academic"/><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/inventory-aware-pathfinding" term="inventory-aware-pathfinding" label="inventory-aware pathfinding"/><category scheme="https://www.davideaversa.it/tags/pathfinding" term="pathfinding" label="pathfinding"/><category scheme="https://www.davideaversa.it/tags/research" term="research" label="research"/></entry><entry><title type="html">The Primes Ancestor Tree</title><link href="https://www.davideaversa.it/blog/common-ancestor-primes-tree/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/common-ancestor-primes-tree/</id><author><name>Davide Aversa</name></author><published>2016-03-19T00:52:55+00:00</published><updated>2016-03-19T00:52:55+00:00</updated><content type="html"><![CDATA[<p>This will be just a small theoretical article on the <strong>Primes Ancestor Tree</strong>. We will explore the possibility to label a generic tree in such way that it will be possible to verify if a node is an ancestor of another node (or to find the common ancestor of two nodes) just by applying integer arithmetic.</p>
<p>In fact, sometimes ago I was trying to implement some fancy algorithm that, given two nodes from the open list of a search algorithm, finds their common ancestor. While I was doing this I asked myself if it was possible to use prime numbers in order to provide a labeling system that encodes the &ldquo;descendant&rdquo; relation of the nodes.</p>
<p>I think that I have found a theoretical system. Even if it can not be used in real-world applications, I had fun playing with it looking for the properties of the resulting labeled tree. So, I thought it could be interesting to share.</p> -- <a href="https://www.davideaversa.it/blog/common-ancestor-primes-tree/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/math" term="math" label="Math"/><category scheme="https://www.davideaversa.it/tags/primes" term="primes" label="primes"/><category scheme="https://www.davideaversa.it/tags/trees" term="trees" label="trees"/></entry><entry><title type="html">How to use Rust in Python (Part 3)</title><link href="https://www.davideaversa.it/blog/use-rust-python-part-3/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 1)"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-2/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 2)"/><link href="https://www.davideaversa.it/blog/convert-images-to-movingai-maps/?utm_source=atom_feed" rel="related" type="text/html" title="Convert images to MovingAI maps"/><link href="https://www.davideaversa.it/blog/yoshix-experiments-made-easy/?utm_source=atom_feed" rel="related" type="text/html" title="YoshiX: Experiments made easy"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><id>https://www.davideaversa.it/blog/use-rust-python-part-3/</id><author><name>Davide Aversa</name></author><published>2016-03-02T19:53:13+00:00</published><updated>2016-03-02T19:53:13+00:00</updated><content type="html"><![CDATA[<div style="background-color: yellow; padding: 10px; border: 1px solid #ccc;">
    <strong>Note:</strong> This article has not been updated in the last 2 years. The information may be outdated.
</div>


<p><em>You can follow the links to read the <a href="/2016/02/use-rust-python-part-1/">first part</a> and the <a href="/2016/02/use-rust-python-part-2/">second part</a> of this series.</em></p>
<p>In the previous part we have seen how to pass not trivial data to Rust functions such as a Python list. It is still not enough, though. In many cases we need to pass complex data structure back and forth from a Rust library. We may need to pass quaternions, 3D points, trees, a list of &ldquo;books&rdquo;&hellip; In short: anything.</p>
<p>Learning how to pass custom aggregated data types to Rust libraries (and back to Python) will be the focus of this part!</p> -- <a href="https://www.davideaversa.it/blog/use-rust-python-part-3/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/python" term="python" label="python"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/><category scheme="https://www.davideaversa.it/tags/how-to" term="how-to" label="how-to"/></entry><entry><title type="html">How to use Rust in Python (Part 2)</title><link href="https://www.davideaversa.it/blog/use-rust-python-part-2/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/use-rust-python-part-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to use Rust in Python (Part 1)"/><link href="https://www.davideaversa.it/blog/convert-images-to-movingai-maps/?utm_source=atom_feed" rel="related" type="text/html" title="Convert images to MovingAI maps"/><link href="https://www.davideaversa.it/blog/yoshix-experiments-made-easy/?utm_source=atom_feed" rel="related" type="text/html" title="YoshiX: Experiments made easy"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-2/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2015 - Part 2"/><id>https://www.davideaversa.it/blog/use-rust-python-part-2/</id><author><name>Davide Aversa</name></author><published>2016-02-25T21:12:10+00:00</published><updated>2016-02-25T21:12:10+00:00</updated><content type="html"><![CDATA[<p><strong>You can find the first part of this article <a href="/2016/02/use-rust-python-part-1/">HERE</a></strong>.</p>
<p>In the previous part we have seen how to run simple Rust functions with integer arguments. This is not enough, of course. We need to go further by passing Python lists to Rust functions.</p>
<p>The problem is that it is not possible to pass directly a Python list to a C interface. Python lists (we can call them <em>Plists</em>) are complicated beasts, you can easily see that they are objects full of methods, and attributes and&hellip; Stuff.</p>
<div class="highlight"><div style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;">
<table style="border-spacing:0;padding:0;margin:0;border:0;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
<pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#6639ba">dir</span><span style="color:#1f2328">([])</span>
</span></span><span style="display:flex;"><span><span style="color:#1f2328">[</span><span style="color:#0a3069">&#39;__add__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__class__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__contains__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__delattr__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__delitem__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__dir__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__doc__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__eq__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__format__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__ge__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__getattribute__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__getitem__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__gt__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__hash__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__iadd__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__imul__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__init__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__iter__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__le__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__len__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__lt__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__mul__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__ne__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__new__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__reduce__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__reduce_ex__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__repr__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__reversed__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__rmul__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__setattr__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__setitem__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__sizeof__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__str__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;__subclasshook__&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;append&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;clear&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;copy&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;count&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;extend&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;index&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;insert&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;pop&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;remove&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;reverse&#39;</span><span style="color:#1f2328">,</span> <span style="color:#0a3069">&#39;sort&#39;</span><span style="color:#1f2328">]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>We need first to convert this in something edible from a Rust library. But first things first.</p> -- <a href="https://www.davideaversa.it/blog/use-rust-python-part-2/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/python" term="python" label="python"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/></entry><entry><title type="html">How to use Rust in Python (Part 1)</title><link href="https://www.davideaversa.it/blog/use-rust-python-part-1/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/convert-images-to-movingai-maps/?utm_source=atom_feed" rel="related" type="text/html" title="Convert images to MovingAI maps"/><link href="https://www.davideaversa.it/blog/yoshix-experiments-made-easy/?utm_source=atom_feed" rel="related" type="text/html" title="YoshiX: Experiments made easy"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2016"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-2/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2015 - Part 2"/><id>https://www.davideaversa.it/blog/use-rust-python-part-1/</id><author><name>Davide Aversa</name></author><published>2016-02-20T12:22:56+00:00</published><updated>2016-02-20T12:22:56+00:00</updated><content type="html"><![CDATA[<div style="background-color: yellow; padding: 10px; border: 1px solid #ccc;">
    <strong>Note:</strong> This article has not been updated in the last 2 years. The information may be outdated.
</div>


<p>Rust is an amazing language. It is one of the best potential alternatives to C and has been elected two times in a row as <a href="/2015/12/the-most-promising-languages-of-2016/">the most promising language of the year</a> (by me, :P). However, because its strict compile-time memory correctness enforcement and because it is a low-level language, it is not the fastest way to build a prototype. But don&rsquo;t worry! Rust is the perfect language for embedding fast-binary libraries in Python! In this way we can get the best of both worlds!</p>
<p><strong>Writing Rust code that can be executed in Python is stupidly easy.</strong> Obviously, you have to well design the interface between the two languages, but this will improve your Python code in two ways: 1) You can execute CPU-intensive algorithms at binary speed and 2) use <strong>real threads</strong> instead of the Python &ldquo;simulated&rdquo; ones (and because Rust is designed to be memory safe, writing thread safe routines is much easier). Let&rsquo;s see!</p> -- <a href="https://www.davideaversa.it/blog/use-rust-python-part-1/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/python" term="python" label="python"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/><category scheme="https://www.davideaversa.it/tags/how-to" term="how-to" label="how-to"/></entry><entry><title type="html">Convert images to MovingAI maps</title><link href="https://www.davideaversa.it/blog/convert-images-to-movingai-maps/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/yoshix-experiments-made-easy/?utm_source=atom_feed" rel="related" type="text/html" title="YoshiX: Experiments made easy"/><id>https://www.davideaversa.it/blog/convert-images-to-movingai-maps/</id><author><name>Davide Aversa</name></author><published>2016-02-12T11:43:04+00:00</published><updated>2016-02-12T11:43:04+00:00</updated><content type="html"><![CDATA[<p>The <a href="http://www.movingai.com/benchmarks/">MovingAI Benchmark Database</a> is <strong>one of the most famous collections of maps for benchmark on pathfinding algorithms</strong>. I use it a lot during my work, it is useful to test an algorithm over a lot of real-world game maps. The consequence is that I developed a lot of tools to work with the map format of the MovingAI database.</p>
<p>The last of these tools is a straightforward <strong>Python script to convert images into maps in the MovingAI format</strong>. It is useful when you want to quickly develop some test maps.</p> -- <a href="https://www.davideaversa.it/blog/convert-images-to-movingai-maps/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/benchmark" term="benchmark" label="benchmark"/><category scheme="https://www.davideaversa.it/tags/movingai" term="movingai" label="movingai"/><category scheme="https://www.davideaversa.it/tags/python" term="python" label="python"/></entry><entry><title type="html">Research Code vs. Commercial Code</title><link href="https://www.davideaversa.it/blog/research-code-vs-commercial-code/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/research-code-vs-commercial-code/</id><author><name>Davide Aversa</name></author><published>2016-02-09T10:45:12+00:00</published><updated>2016-02-09T10:45:12+00:00</updated><content type="html"><![CDATA[<p>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, I suffered a lot looking at software implemented by researchers (many times my code is in the set too). Working with research code is usually an <strong>horrible experience</strong>. Researchers do so many <strong>trivial software development mistakes</strong> that I&rsquo;d like to cry. The result is: a lot of duplicated work reimplementing already existent modules and a lot of time spent in integration, debugging and understanding each other code.</p>
<p>On the other hand, it is almost impossible that a researcher will learn the basics of software development in some book because 1) nobody cares (and they really should!) and 2) books on this topic are mostly focused on commercial software development. This is a problem because, even if best practices overlap for the 80%, research code and commercial code are driven by completely different priorities.</p>
<p>So, because I am just a lonely man in the middle of this valley, nor a good research code writer nor a good commercial code writer, I can share my neutral opinion. Maybe, I will convince you, fellow researcher, that may be worth to spend some time improving your coding practices.</p> -- <a href="https://www.davideaversa.it/blog/research-code-vs-commercial-code/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/software-architecture" term="software-architecture" label="software architecture"/><category scheme="https://www.davideaversa.it/tags/software-development" term="software-development" label="software development"/></entry><entry><title type="html">Postmortem: Writer's Block - 1GAM January</title><link href="https://www.davideaversa.it/blog/postmortem-writers-block-1gam-january/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/global-game-jam-2015-postmortem/?utm_source=atom_feed" rel="related" type="text/html" title="Global Game Jam 2015 Postmortem"/><link href="https://www.davideaversa.it/blog/a-month-of-writing-august-15/?utm_source=atom_feed" rel="related" type="text/html" title="A Month of Writing: August 2015"/><link href="https://www.davideaversa.it/blog/bacon-game-jam-09-back-in-business/?utm_source=atom_feed" rel="related" type="text/html" title="Bacon Game Jam 09: Back in Business"/><link href="https://www.davideaversa.it/blog/speccy-jam-2014-postmortem/?utm_source=atom_feed" rel="related" type="text/html" title="Speccy Jam 2014 Postmortem"/><id>https://www.davideaversa.it/blog/postmortem-writers-block-1gam-january/</id><author><name>Davide Aversa</name></author><published>2016-02-05T11:56:45+00:00</published><updated>2016-02-05T11:56:45+00:00</updated><content type="html"><![CDATA[<p>The first month of the year is gone and I&rsquo;ve made a game! The January 2016 entry of <a href="%C2%A0http://www.onegameamonth.com/">1GAM</a>, namely <strong>&ldquo;Writer&rsquo;s Block&rdquo;</strong>, is now completed (kind of)!</p>
<p>January 2016 has been a great start for this year! During the last months of last year I started a personal journey to fight my inner demons. I don&rsquo;t want to bore you with some self-improvement/productivity bullshit -it is not the place for that- so I will not. You just have to know that after 6 months of trying and failing this January is the month in which all the good habits really start to stick.</p>
<p>The &ldquo;One Game A Month&rdquo; challenge was the perfect way to test myself and doing one of the activities I love most. As usual, we will start from the beginning.</p> -- <a href="https://www.davideaversa.it/blog/postmortem-writers-block-1gam-january/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/1gam" term="1gam" label="1gam"/><category scheme="https://www.davideaversa.it/tags/postmortem" term="postmortem" label="postmortem"/><category scheme="https://www.davideaversa.it/tags/writing" term="writing" label="writing"/></entry><entry><title type="html">Fast (Approximated) Moving Average Computation</title><link href="https://www.davideaversa.it/blog/fast-approximated-moving-average-computation/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/fast-approximated-moving-average-computation/</id><author><name>Davide Aversa</name></author><published>2016-01-20T20:52:43+00:00</published><updated>2016-01-20T20:52:43+00:00</updated><content type="html"><![CDATA[<p>Computing the <a href="https://en.wikipedia.org/wiki/Moving_average">Moving Average</a> 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 not matter anymore.</p>
<p>One of the main problems with the standard average is that it &ldquo;slows&rdquo; over time. This can be a serious problem. Suppose that you are designing a game in which your player have to quickly press a button to keep a value (e.g., player speed) above a certain <em>average</em>. If you use the global average, after a certain amount of time, your player can stop pressing the button and still keep the average above the threshold.</p>
<p>The demonstration of this is quite intuitive. If you have an average <code>a(t)</code> at frame <code>t</code> and the player will not press anything in the current frame, the average at frame <code>t+1</code> will be</p>
$$ latex a(t+1) = a(t) \frac{t}{t+1} $$<p>This factor depends on the elapsed time and becomes <em>&ldquo;almost 1&rdquo;</em> very quickly. You don&rsquo;t want that. You want to keep your player on the narrow land between &ldquo;boredom&rdquo; and &ldquo;frustration&rdquo;. You cannot give to your player the possibility to win without doing nothing for 30 seconds.</p>
<p>The solution to this problem is simple. Use a Moving Average. The player will have to push the button faster than the threshold, but the average is computed only using the data from the last 5 second (or any other time window you want).</p> -- <a href="https://www.davideaversa.it/blog/fast-approximated-moving-average-computation/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/tips" term="tips" label="tips"/><category scheme="https://www.davideaversa.it/tags/algorithms" term="algorithms" label="algorithms"/></entry><entry><title type="html">YoshiX: Experiments made easy</title><link href="https://www.davideaversa.it/blog/yoshix-experiments-made-easy/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/yoshix-experiments-made-easy/</id><author><name>Davide Aversa</name></author><published>2015-12-30T11:39:23+00:00</published><updated>2015-12-30T11:39:23+00:00</updated><content type="html"><![CDATA[<p>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 always the same code and facing always the same problems. In addition, every experiment ran on different platforms, and they quickly become difficult to replicate (and this should be the very point of every experiment).</p>
<p>Thus, I decided to write my personal framework for running experiments in Python: <a href="%C2%A0https://github.com/THeK3nger/yoshix">YoshiX</a>. The idea behind YoshiX, inspired by classical Unit Testing libraries, is quite simple. You write your test in a separate file, then you run <code>yoshix</code> and it automatically finds every experiment in a specific folder, runs them, and collects the output in the format of choice.</p>
<p>It is a simple tool; I still have not spent a lot of time in it. But I think it has some interesting developments. Let&rsquo;s look into some details.</p> -- <a href="https://www.davideaversa.it/blog/yoshix-experiments-made-easy/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/python" term="python" label="python"/><category scheme="https://www.davideaversa.it/tags/yoshix" term="yoshix" label="yoshix"/></entry><entry><title type="html">The most promising languages of 2016</title><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-2/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2015 - Part 2"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-1/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2015 - Part 1"/><id>https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/</id><author><name>Davide Aversa</name></author><published>2015-12-28T14:43:49+00:00</published><updated>2015-12-28T14:43:49+00:00</updated><content type="html"><![CDATA[<p>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 last year. The languages I am listing below <strong>are not</strong> the most used languages, or the languages that you have to learn in order to find a great job as a developer. There are many more established languages that fill this role. Languages such as C++, Java, C#, Python and JavaScript are way more solid and safe if you are looking for a job or to start a developer career.</p>
<p>Instead, I am trying to list emerging languages that may become more important at the end of 2016. This list is for you if: 1) you are passionate about programming languages 2) you want to learn something new because you are bored with your current language 3) you want to bet on a language hoping that it will become mainstream (and thus, you will be one of the early experts in that language, and this implies nice job opportunity). Or you can read this list because you are simply interested on where the language research and development is going in the real world (academic research is a totally different story).</p> -- <a href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2016/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/elixir" term="elixir" label="elixir"/><category scheme="https://www.davideaversa.it/tags/nim" term="nim" label="nim"/><category scheme="https://www.davideaversa.it/tags/programming-language" term="programming-language" label="programming language"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/><category scheme="https://www.davideaversa.it/tags/swift" term="swift" label="swift"/><category scheme="https://www.davideaversa.it/tags/typescript" term="typescript" label="typescript"/></entry><entry><title type="html">Turn-based Battle Systems - Chapter 2 - Analytical Analysis</title><link href="https://www.davideaversa.it/blog/turn-based-battle-systems-chapter-2-analytical-analysis/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/how-to-design-a-pokemon-like-combat-system-chapter-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to design a Pokémon-like Combat System"/><link href="https://www.davideaversa.it/blog/the-challenge-of-infinite-space/?utm_source=atom_feed" rel="related" type="text/html" title="The Challenge of Infinite Space"/><id>https://www.davideaversa.it/blog/turn-based-battle-systems-chapter-2-analytical-analysis/</id><author><name>Davide Aversa</name></author><published>2015-12-22T19:37:41+00:00</published><updated>2024-12-31T13:52:52+01:00</updated><content type="html"><![CDATA[<p>Hello everybody! It is time to continue with our series on Pokemon-like battle systems. In this chapter I will be more general: now we have our beautiful damage formula and a draft of our characters sheet, it is time to quickly check if the game the formula is balanced. There are a lot of questions that we want to answer as quick as possible. How much HP the enemy must have? What is a good value for the attack power? Is the damage formula fair enough? The critical strike is too much? The randomness is too much? <em>Is it fun?</em></p>
<p>Except for the last question, we can try to answer them just looking at the damage formula. Obviously we can not answer all the questions now, but if there is some evident mistake, we will be able to catch it as soon as possible. There are several ways to analyse the tuning and balancing problem for a damage formula (and thus for a large part of the combat system): <strong>analytically</strong>, with <strong>Google Sheet/Excel</strong>, and with a quick <strong>software prototype</strong>.</p>
<p>In this article we will start from the first step: the analytical analysis.</p> -- <a href="https://www.davideaversa.it/blog/turn-based-battle-systems-chapter-2-analytical-analysis/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/gamedesign" term="gamedesign" label="gamedesign"/><category scheme="https://www.davideaversa.it/tags/pokemon" term="pokemon" label="pokemon"/><category scheme="https://www.davideaversa.it/tags/turn-based-combat-system" term="turn-based-combat-system" label="turn based combat system"/></entry><entry><title type="html">The Challenge of Infinite Space</title><link href="https://www.davideaversa.it/blog/the-challenge-of-infinite-space/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/how-to-design-a-pokemon-like-combat-system-chapter-1/?utm_source=atom_feed" rel="related" type="text/html" title="How to design a Pokémon-like Combat System"/><link href="https://www.davideaversa.it/blog/procedural-contents-generation-in-modern-videogames/?utm_source=atom_feed" rel="related" type="text/html" title="Procedural Contents Generation in Modern Videogames"/><link href="https://www.davideaversa.it/blog/random-maps-with-cellular-automata/?utm_source=atom_feed" rel="related" type="text/html" title="Random Maps with Cellular Automata"/><link href="https://www.davideaversa.it/blog/towards-the-procjam-2014/?utm_source=atom_feed" rel="related" type="text/html" title="Towards the ProcJam 2014"/><link href="https://www.davideaversa.it/blog/random-goblin-name-generator/?utm_source=atom_feed" rel="related" type="text/html" title="Random Goblin Name Generator"/><id>https://www.davideaversa.it/blog/the-challenge-of-infinite-space/</id><author><name>Davide Aversa</name></author><published>2015-12-19T16:48:50+00:00</published><updated>2015-12-19T16:48:50+00:00</updated><content type="html"><![CDATA[<h2 id="aka-why-elite-dangerous-star-citizen-and-no-mans-sky-could-be-doomed-to-fail">A.K.A. why Elite: Dangerous, Star Citizen and No Man’s Sky could be doomed to fail</h2>
<p>Since the beginning of the videogame era, developers aim to reach a perfect simulation of the world. “So realistic!” is probably one of the most abused comment to a videogame ever. The videogame industry tried to reach realistic graphic, realistic sounds, realistic landscapes and realistic <strong>Non-Player Characters</strong>. However, reaching the perfect realism is a never-ending quest. As soon as we reach something, desire drives us to seek more.</p>
<p>Now that we have extraordinary graphic capabilities and stunning landscapes, some developers are going to raise the bar to a much bigger task: simulating the universe (or at least, the galaxy). We are not in the first (game) generation who is trying to achieve that (the original <a href="https://en.wikipedia.org/wiki/Elite_(video_game)">Elite</a> is a very old game indeed), but we are for sure in the first generation who can reach this goal; at least to some extent.</p>
<p>We have the technical capabilities for doing amazing things: we can generate and simulate hundreds of billions of star systems, we can allow the player to travel to every one of them, explore and land on every square unit of the planet surface, every asteroid, every satellite. Software/games such <strong><a href="https://spaceengine.org/">Space Engine</a></strong> can clearly show us what a lonely developer can do in its spare time. Imagine what a game developers team can do on their full time job! It is not a surprise that several studios spotted the niche in the market and tried to use this power for a real game. After all, it is not “simulation of experience” one of the meaning of “game”?</p> -- <a href="https://www.davideaversa.it/blog/the-challenge-of-infinite-space/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/elite-dangerous" term="elite-dangerous" label="elite: dangerous"/><category scheme="https://www.davideaversa.it/tags/gamedesign" term="gamedesign" label="gamedesign"/><category scheme="https://www.davideaversa.it/tags/no-mans-sky" term="no-mans-sky" label="no man's sky"/><category scheme="https://www.davideaversa.it/tags/pcg" term="pcg" label="pcg"/><category scheme="https://www.davideaversa.it/tags/star-citizen" term="star-citizen" label="star citizen"/></entry><entry><title type="html">How to design a Pokémon-like Combat System</title><link href="https://www.davideaversa.it/blog/how-to-design-a-pokemon-like-combat-system-chapter-1/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/how-to-design-a-pokemon-like-combat-system-chapter-1/</id><author><name>Davide Aversa</name></author><published>2015-12-07T19:03:11+00:00</published><updated>2015-12-07T19:03:11+00:00</updated><content type="html"><![CDATA[<p>The <strong>Combat System</strong> is one of the main gameplay element in a game. Of course there are a lot of games without &ldquo;combat&rdquo;: puzzles, simulation games, driving games and so on. However (and you know this in the depths of your soul) that your game <strong>must have</strong> an amazing combat system because we <strong>LOVE</strong> beating the crap out of our enemies! Other games mechanics are good, but a good fight can be <strong>AMAZING</strong>.</p>
<p>There are several ways to implement a combat system but, at the end of the day, we can divide the heterogeneous world of combat systems into two big clusters: <strong>real time combat systems</strong> and <strong>turn-based combat systems</strong>. The first are exciting but they rapidly becomes hard to implement. We will need to do a lot of animations, tuning collision boxes and tons of graphical stuff. If you are a poor programmer like me, you cannot do that (<em>sad face :&lt;</em>).</p>
<p>With turn-based combat system, instead, you can do the most complex things you can image! You can take into account hundreds of variables and statistics, create complex strategic combinations, evocations, magic, everything. You can use dice, cards, tokens, <strong>everything</strong> in order to emulate an epic combat between a dragon and drunk dwarf with a wooden leg. Because turn based combat systems are an explicit abstraction of a real combat, the player can absorb without complaining a bigger level abstraction. The same cannot be said for a real-time combat system in which just an ugly animation can be labeled as &ldquo;ugly designed and sluggish combat&rdquo; and provide frustration to the player.</p>
<p>So we are going to implement a turn-based combat system! But how? Well, this obviously depends on which type of turn-based combat system you want to do. For now, we will try to do a replica of the first turn-based game I’ve ever played: the <strong>Pokemon Combat System</strong>!</p>
<p>This is a nice combat system to replicate as a tutorial because is not too complex (especially in Gen. 1 or 2), but contains several tricky points that we need to handle! We will explore the design and the implementation of this combat system in details. We will see how to design the combat system, how to do a first balancing and test on paper, and every implementation step! So let’s start!</p> -- <a href="https://www.davideaversa.it/blog/how-to-design-a-pokemon-like-combat-system-chapter-1/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/gamedesign" term="gamedesign" label="gamedesign"/><category scheme="https://www.davideaversa.it/tags/pokemon" term="pokemon" label="pokemon"/><category scheme="https://www.davideaversa.it/tags/turn-based-combat-system" term="turn-based-combat-system" label="turn based combat system"/></entry><entry><title type="html">Let me introduce your worst rival: yourself</title><link href="https://www.davideaversa.it/blog/let-me-introduce-your-worst-rival-yourself/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/a-month-of-writing-august-15/?utm_source=atom_feed" rel="related" type="text/html" title="A Month of Writing: August 2015"/><id>https://www.davideaversa.it/blog/let-me-introduce-your-worst-rival-yourself/</id><author><name>Davide Aversa</name></author><published>2015-10-25T08:47:54+00:00</published><updated>2015-10-25T08:47:54+00:00</updated><content type="html"><![CDATA[<p>Here it is a new article on Medium on a simple game to beat (or to measure) your procrastination level! :)</p>
<script async src="https://static.medium.com/embed.js"></script><a class="m-story" data-collapsed="true" data-width="100%" href="https://medium.com/@thek3nger/let-me-introduce-your-worst-rival-yourself-a945bb365baf">Let me introduce your worst rival: yourself</a> -- <a href="https://www.davideaversa.it/blog/let-me-introduce-your-worst-rival-yourself/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/procrastination" term="procrastination" label="procrastination"/><category scheme="https://www.davideaversa.it/tags/self-improvement" term="self-improvement" label="self-improvement"/></entry><entry><title type="html">When cheating with a robot is really cheating?</title><link href="https://www.davideaversa.it/blog/when-cheating-with-a-robot-is-really-cheating/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/when-cheating-with-a-robot-is-really-cheating/</id><author><name>Davide Aversa</name></author><published>2015-10-07T17:53:10+00:00</published><updated>2015-10-07T17:53:10+00:00</updated><content type="html"><![CDATA[<p>Hi guys. I wrote a small <em>reflection</em> on the future of Artificial Intelligence. The question is always the same: when would we consider a robot as a &ldquo;living beings&rdquo; with self-awareness, emotions and all the human equipment? My point is that we could stop asking ourselves this question because soon or later sex-robots will provide us the answer. Anyway, this is the article I wrote on Medium. Take a look. :)</p> -- <a href="https://www.davideaversa.it/blog/when-cheating-with-a-robot-is-really-cheating/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/artificial-intelligence" term="artificial-intelligence" label="artificial intelligence"/><category scheme="https://www.davideaversa.it/tags/future" term="future" label="future"/><category scheme="https://www.davideaversa.it/tags/sex" term="sex" label="sex"/></entry><entry><title type="html">A Month of Writing: August 2015</title><link href="https://www.davideaversa.it/blog/a-month-of-writing-august-15/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/a-month-of-writing-august-15/</id><author><name>Davide Aversa</name></author><published>2015-09-15T16:56:34+00:00</published><updated>2015-09-15T16:56:34+00:00</updated><content type="html"><![CDATA[<p>A month ago I started questioning my ability to stay focused on thing I like. Kill the <strong>procrastination monkey</strong> is the first thing to achieve any goal in life and I felt that I was losing that battle. Last year was not easy, mostly because I started feeling incapable to achieve anything useful in work. This, in turn, feeds the procrastination monkey, causing more frustration and so on. An evil infinite explosive mental and motivational cycle that drown you, slowly, silently. I had to break the cycle!</p>
<p>But where I could start? I decided to stress myself on an old obsession of mine: writing. As you know I have stories in mind and I have a deep need to tell these stories. There are many ways to express these stories (music or gamedev are the most important one for me!) but writing it is much less complex: it is just you, the story and a piece of paper. There is no technology involved, no extra abilities such as visual arts, no constraints, no distractions. I did not want to feed <em>p-monkey</em> with a lot of fake-problems to justify myself for not doing anything every day. So, I took a piece of paper and I wrote on it: <em>I&rsquo;ll write One Million Word of fiction</em>. It is important to have some kind of metric to measure your progress and the number of words written is a perfect metric! Every night, at the end of the day, I can update the counter, see the target approaching and feel good about myself.</p>
<p>A month is passed and I want to share this small step with you.</p> -- <a href="https://www.davideaversa.it/blog/a-month-of-writing-august-15/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/self-improvement" term="self-improvement" label="self-improvement"/><category scheme="https://www.davideaversa.it/tags/writing" term="writing" label="writing"/></entry><entry><title type="html">Boost Hierarchical Pathfinding with Extended Graphs</title><link href="https://www.davideaversa.it/blog/boost-hierarchical-pathfinding-with-extended-graphs/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/back-from-aiide-2014/?utm_source=atom_feed" rel="related" type="text/html" title="Back from AIIDE 2014"/><id>https://www.davideaversa.it/blog/boost-hierarchical-pathfinding-with-extended-graphs/</id><author><name>Davide Aversa</name></author><published>2015-08-28T22:23:51+00:00</published><updated>2024-12-31T13:50:01+01:00</updated><content type="html"><![CDATA[<p>As you may already know if you <a href="https://twitter.com/thek3nger">follow me on Twitter</a> (why not?), I often work with pathfinding. This thing started as a small <em>side quest</em> during my Ph.D. and then grew up to become the <strong>main topic of my future Ph.D. thesis</strong>. I&rsquo;m still quite sure that this is not what I chose back in the day but, well, now that I&rsquo;m on the dancefloor I have to keep dancing.</p>
<p>Returning to the subject, my work is totally focused on pathfinding with <strong>cognitive capabilities</strong>. This means that I try to embed pathfinding into a more high-level reasoning pattern or, if you prefer, to push high level elements - such as reasoning with keys and equipment - down into the pathfinding level. As a consequence I use hierarchical abstraction of the map space <strong>a lot</strong> and for &ldquo;a lot&rdquo; I mean that in the last year and half I&rsquo;ve implemented <strong>Hierarchical Pathfinding</strong> (HPA*) at least 4-5 times in different context and languages.</p> -- <a href="https://www.davideaversa.it/blog/boost-hierarchical-pathfinding-with-extended-graphs/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/graphs" term="graphs" label="graphs"/><category scheme="https://www.davideaversa.it/tags/hpa" term="hpa" label="hpa"/><category scheme="https://www.davideaversa.it/tags/pathfinding" term="pathfinding" label="pathfinding"/><category scheme="https://www.davideaversa.it/tags/search-algorithms" term="search-algorithms" label="search algorithms"/></entry><entry><title type="html">Bacon Game Jam 09: Back in Business</title><link href="https://www.davideaversa.it/blog/bacon-game-jam-09-back-in-business/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/speccy-jam-2014-postmortem/?utm_source=atom_feed" rel="related" type="text/html" title="Speccy Jam 2014 Postmortem"/><link href="https://www.davideaversa.it/blog/global-game-jam-2015-postmortem/?utm_source=atom_feed" rel="related" type="text/html" title="Global Game Jam 2015 Postmortem"/><link href="https://www.davideaversa.it/blog/towards-the-procjam-2014/?utm_source=atom_feed" rel="related" type="text/html" title="Towards the ProcJam 2014"/><id>https://www.davideaversa.it/blog/bacon-game-jam-09-back-in-business/</id><author><name>Davide Aversa</name></author><published>2015-06-19T18:25:02+00:00</published><updated>2024-12-31T14:12:12+01:00</updated><content type="html"><![CDATA[<p>Hi everyone! I&rsquo;m here to tell you the story of my last game jam: the <strong>Bacon Game Jam 09</strong>. It was a long time since my last game jam (and my game-dev stuff in general). I was a bit distracted by other part of my life and, in general, I wasn&rsquo;t in the best mood. Because of this, I&rsquo;m very happy to partecipate to  this jam, also if the final result is not completely satisfying.</p>
<p>Anyway, let&rsquo;s start!</p> -- <a href="https://www.davideaversa.it/blog/bacon-game-jam-09-back-in-business/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/bacongamejam" term="bacongamejam" label="bacongamejam"/><category scheme="https://www.davideaversa.it/tags/bacongamejam09" term="bacongamejam09" label="bacongamejam09"/><category scheme="https://www.davideaversa.it/tags/gamejam" term="gamejam" label="gamejam"/><category scheme="https://www.davideaversa.it/tags/postmortem" term="postmortem" label="postmortem"/></entry><entry><title type="html">Procedural Contents Generation in Modern Videogames</title><link href="https://www.davideaversa.it/blog/procedural-contents-generation-in-modern-videogames/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/random-maps-with-cellular-automata/?utm_source=atom_feed" rel="related" type="text/html" title="Random Maps with Cellular Automata"/><link href="https://www.davideaversa.it/blog/random-goblin-name-generator/?utm_source=atom_feed" rel="related" type="text/html" title="Random Goblin Name Generator"/><link href="https://www.davideaversa.it/blog/towards-the-procjam-2014/?utm_source=atom_feed" rel="related" type="text/html" title="Towards the ProcJam 2014"/><id>https://www.davideaversa.it/blog/procedural-contents-generation-in-modern-videogames/</id><author><name>Davide Aversa</name></author><published>2015-06-12T10:37:08+00:00</published><updated>2015-06-12T10:37:08+00:00</updated><content type="html"><![CDATA[<p><strong>8th September 2016 Update: I uploaded these slides on SlideShare. <a href="http://www.slideshare.net/DavideAversa/insight#summary/65824533/%3Frange%3D1m">You can see them here</a>.</strong> Hi guys! In the last month I&rsquo;ve prepared a presentation on <strong>Procedural Contents Generation history and techniques</strong> in commercial videogames. I did this presentation for a Game Jam some time ago and for a series of meetings in our university. I think it is a nice summary of the main elements of PCG in commercial games, so I think it is worth to share this presentation with you!</p> -- <a href="https://www.davideaversa.it/blog/procedural-contents-generation-in-modern-videogames/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/academic" term="academic" label="Academic"/><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/pcg" term="pcg" label="pcg"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/></entry><entry><title type="html">Weekly Inspirational #2</title><link href="https://www.davideaversa.it/blog/weekly-inspirational-2/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/weekly-inspirational-2/</id><author><name>Davide Aversa</name></author><published>2015-04-17T11:00:31+00:00</published><updated>2015-04-17T11:00:31+00:00</updated><content type="html"><![CDATA[<p>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 Generation algorithms, another emulation related article, and the smallest academic paper of all time! Let&rsquo;s start!</p> -- <a href="https://www.davideaversa.it/blog/weekly-inspirational-2/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/></entry><entry><title type="html">Weekly Inspirational #1</title><link href="https://www.davideaversa.it/blog/weekly-inspirational-1/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/the-definitive-guide-to-start-with-clojurescript/?utm_source=atom_feed" rel="related" type="text/html" title="The definitive guide to start with ClojureScript"/><id>https://www.davideaversa.it/blog/weekly-inspirational-1/</id><author><name>Davide Aversa</name></author><published>2015-04-10T13:07:40+00:00</published><updated>2015-04-10T13:07:40+00:00</updated><content type="html"><![CDATA[<p>Stay inspired during the boring working week is the best way to fight procrastination and stay on board of the <em>&ldquo;do-stuff&rdquo;</em>  train. There is nothing better than looking at a creative a work to say &ldquo;Cool! I want to do something similar, too!&rdquo; (or to lay down crying in depression, but this is another topic I suppose). For this reason I&rsquo;d like to share with you <strong>5 of the best inspirational and interesting stuff of the week</strong> that the web can provide. It is good food for your brain! (PS: Someone could say that I spend too much time reading and looking for these stuff&hellip; well&hellip; ehm&hellip; please, don&rsquo;t. Let me dream.)</p> -- <a href="https://www.davideaversa.it/blog/weekly-inspirational-1/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/clojure" term="clojure" label="clojure"/><category scheme="https://www.davideaversa.it/tags/inspirational" term="inspirational" label="inspirational"/></entry><entry><title type="html">Javascript is not so bad, after all</title><link href="https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/the-definitive-guide-to-start-with-clojurescript/?utm_source=atom_feed" rel="related" type="text/html" title="The definitive guide to start with ClojureScript"/><link href="https://www.davideaversa.it/blog/in-search-of-the-philosophers-code/?utm_source=atom_feed" rel="related" type="text/html" title="In search of the &amp;#8220;Philosopher&amp;#8217;s Code&amp;#8221;"/><id>https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/</id><author><name>Davide Aversa</name></author><published>2015-04-08T12:18:49+00:00</published><updated>2015-04-08T12:18:49+00:00</updated><content type="html"><![CDATA[<p>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. Let me be clear, I still have a lot of concerns on all this things. I wasn&rsquo;t wrong. Javascript&rsquo;s syntax can be a nightmare (and this is why there are <a href="https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS">so many languages that transpile to Javascript</a>), maintainability is a state-of-the-mind more than a language feature and a lot of Javascript design issues are an infinite-bug-spawner. But, after all, it is not so bad and it is going to improve significantly in the future.</p>
<p>In the last months, I get used a lot to the Javascript ecosystem and community and it becomes a language in which I feel quite happy to work with. Let&rsquo;s see why (and why still is not a perfect language).</p> -- <a href="https://www.davideaversa.it/blog/javascript-is-not-so-bad-after-all/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/javascript" term="javascript" label="javascript"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/></entry><entry><title type="html">Debug with Git Binary Search</title><link href="https://www.davideaversa.it/blog/debug-with-git-binary-search/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/debug-with-git-binary-search/</id><author><name>Davide Aversa</name></author><published>2015-03-29T17:04:36+00:00</published><updated>2015-03-29T17:04:36+00:00</updated><content type="html"><![CDATA[<p>I don&rsquo;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, flexible and powerful <strong>version control system</strong>. Sure, as Mercury fans often claim, its command&rsquo;s syntax is often really unclear (<code>git reset HEAD \&lt;file\&gt;</code> anyone?) and some operation are really unintuitive and hard to remember (e.g., remove a remote branch?). But Git is the most popular, successful and probably powerful tools available for VCS. That&rsquo;s a fact.</p>
<p>Many of you use Git daily, I&rsquo;m sure of this. You are using it for managing projects, tracking version of your software, personal documents or to collaborate with other colleagues and open source softwares. But I&rsquo;m pretty sure that many of you don&rsquo;t know that you can use Git for <strong>debug</strong>! Yes, Git can be one of your debugging tools too! Let&rsquo;s see how!</p> -- <a href="https://www.davideaversa.it/blog/debug-with-git-binary-search/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/debug" term="debug" label="debug"/><category scheme="https://www.davideaversa.it/tags/git" term="git" label="git"/><category scheme="https://www.davideaversa.it/tags/vcs" term="vcs" label="vcs"/></entry><entry><title type="html">Never underestimate a smooth workflow</title><link href="https://www.davideaversa.it/blog/never-underestimate-a-smooth-workflow/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/quadarto-a-didactic-project-in-haskell/?utm_source=atom_feed" rel="related" type="text/html" title="Quadarto: a didactic project in Haskell"/><link href="https://www.davideaversa.it/blog/on-the-developer-anxiety/?utm_source=atom_feed" rel="related" type="text/html" title="On developer anxiety"/><id>https://www.davideaversa.it/blog/never-underestimate-a-smooth-workflow/</id><author><name>Davide Aversa</name></author><published>2015-03-10T16:34:55+00:00</published><updated>2015-03-10T16:34:55+00:00</updated><content type="html"><![CDATA[<p>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 that I try to apply to my work. The first two are quite straightforward and they don&rsquo;t really need explanations. The third one, however, is more delicate. What do we mean with &ldquo;to be happy about what we are doing&rdquo;? Why this is connected with &ldquo;to be organized&rdquo;? Well, the answer is <strong>positive feedback</strong>. When I&rsquo;m happy with what I&rsquo;m doing I&rsquo;m able to stick to the workflow I&rsquo;m using. At the same time, a good workflow means less time spent debugging, less trivial bugs committed, less troubles during deployment, in other words: an happier developer!</p>
<p>This positive feedback loop can really increase your productivity. The real problem is, how can we find this magic smooth workflow? I don&rsquo;t know. I cannot tell you the magic solution to every developer problems. You have to find this by yourselves. The only thing I can do now is telling you my actual workflow. This may be a good starting point for some of you. :)</p> -- <a href="https://www.davideaversa.it/blog/never-underestimate-a-smooth-workflow/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/ci" term="ci" label="ci"/><category scheme="https://www.davideaversa.it/tags/coverage" term="coverage" label="coverage"/><category scheme="https://www.davideaversa.it/tags/github" term="github" label="github"/><category scheme="https://www.davideaversa.it/tags/workflow" term="workflow" label="workflow"/></entry><entry><title type="html">Quadarto: a didactic project in Haskell</title><link href="https://www.davideaversa.it/blog/quadarto-a-didactic-project-in-haskell/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/quadarto-a-didactic-project-in-haskell/</id><author><name>Davide Aversa</name></author><published>2015-03-05T19:24:34+00:00</published><updated>2015-03-05T19:24:34+00:00</updated><content type="html"><![CDATA[<p>The last week I spent some time build a small tool for abstracting  an image into a mosaic, for fun. To do this I&rsquo;ve used <a href="https://www.haskell.org/">Haskell</a>, of course. However, this is my first &ldquo;complete&rdquo; program I&rsquo;ve written in Haskell. Before that, I&rsquo;ve read a lot about Haskell and used it for solving tons of <a href="https://projecteuler.net/">ProjectEulers</a>&rsquo;s problems. However writing  program that performs real stuff, such as loading an image, do stuff and write a new image is a completely different things. Using Haskell for the Project Euler problem is almost like cheating, using Haskell for a _side-effect-full _application can be a pain in the neck if you are not prepared.</p>
<p>So the idea was to do this trying to be as much idiomatic as possible so that this code could be used by new haskellers in order to learn something on the language. It is still not really idiomatic, but I&rsquo;m working on that.</p> -- <a href="https://www.davideaversa.it/blog/quadarto-a-didactic-project-in-haskell/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/github" term="github" label="github"/><category scheme="https://www.davideaversa.it/tags/haskell" term="haskell" label="haskell"/><category scheme="https://www.davideaversa.it/tags/quadarto" term="quadarto" label="quadarto"/></entry><entry><title type="html">The definitive guide to start with ClojureScript</title><link href="https://www.davideaversa.it/blog/the-definitive-guide-to-start-with-clojurescript/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/the-definitive-guide-to-start-with-clojurescript/</id><author><name>Davide Aversa</name></author><published>2015-02-14T15:29:10+00:00</published><updated>2024-12-31T14:14:50+01:00</updated><content type="html"><![CDATA[<p>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 to build a simple web page with ClojureScript. Unfortunately, I was not able to find something that was at the same time straightforward, simple, minimal and explained! So, I decided to write something by myself to avoid my pain to some future young clojurist. The main problem with the guides I&rsquo;ve found online were:</p> -- <a href="https://www.davideaversa.it/blog/the-definitive-guide-to-start-with-clojurescript/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/clojure" term="clojure" label="clojure"/><category scheme="https://www.davideaversa.it/tags/clojurescript" term="clojurescript" label="clojurescript"/><category scheme="https://www.davideaversa.it/tags/javascript" term="javascript" label="javascript"/><category scheme="https://www.davideaversa.it/tags/leiningen" term="leiningen" label="leiningen"/></entry><entry><title type="html">My peek on Atom</title><link href="https://www.davideaversa.it/blog/my-peek-on-atom/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/my-peek-on-atom/</id><author><name>Davide Aversa</name></author><published>2015-02-01T16:48:41+00:00</published><updated>2024-12-31T15:07:08+01:00</updated><content type="html"><![CDATA[<p>People who know me already know: I&rsquo;m a tool maniac. I can spend hours searching for the perfect configuration of keys, plugins, colors, themes, debugging tools and so on, and unfortunately this is how I waste a lot of time every now and then. Text editors and IDE are one of these big tools that I cannot stop searching for the perfect one. The real problem, though, is that I cannot find satisfaction for more than a month on a particular editor, so, during my life as a coder I used with a certain degree of experience tons of editors such as Vim, Emacs, Sublime Text, GEdit and much more. Honestly! Look at this! If  I had spent less time on tweaking my editors and more on coding, now I would have more side projects completed for sure. Anyway&hellip;</p>
<p>I have a certain envy for those developers that are able to stick on, for instance, Vim for more than 20 years. They are happy and enthusiastic of their editor! Lucky them! But I&rsquo;m not in this way. Maybe I find the exploration more rewarding. I don&rsquo;t know.</p>
<p>So, coming back to the topic, when I used Linux I was happy too and my favourite editor was by far Vim. Yes, the learning curve is steep as hell but this thing has never scared me (I try to learn too many newborn and cryptic programming languages to be scared by a text editor, complex or not that may be. Then, a couple of years ago, I moved back to Windows and I started to work on bigger project. For some reason, my pleasure and muscle memory in using Vim began to disappear.</p>
<p>Now, there is a long story made of IDE and text editors but I don&rsquo;t want to spend too much time talking about my evolution (or devolution, your call) in the world of programming editors. The real goal of this article is to explain why, for now, I&rsquo;m happily landed on <a href="https://atom.io/">Atom</a>, the text editor mad in GitHub.</p> -- <a href="https://www.davideaversa.it/blog/my-peek-on-atom/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/atom" term="atom" label="atom"/><category scheme="https://www.davideaversa.it/tags/editor" term="editor" label="editor"/></entry><entry><title type="html">Global Game Jam 2015 Postmortem</title><link href="https://www.davideaversa.it/blog/global-game-jam-2015-postmortem/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/speccy-jam-2014-postmortem/?utm_source=atom_feed" rel="related" type="text/html" title="Speccy Jam 2014 Postmortem"/><id>https://www.davideaversa.it/blog/global-game-jam-2015-postmortem/</id><author><name>Davide Aversa</name></author><published>2015-01-31T00:18:01+00:00</published><updated>2015-01-31T00:18:01+00:00</updated><content type="html"><![CDATA[<p>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 to respect this promise. But I&rsquo;ll be back soon. I swear.</p>
<p>Second, it is now time to talk about the game we developed for the <a href="http://globalgamejam.org">Global Game Jam 2015</a> (and obviously valid as a January entry for my <a href="http://www.onegameamonth.com/">One Game A Month</a> challenge!) I&rsquo;m very happy with this game also if it is not a real &ldquo;game&rdquo; because (little spoiler) it is an online game who require a big amount of users to be interesting. I&rsquo;ll never have so many users connected at the same time, so it is useless in practice. The good thing is that it was a big technical challenge and to be able to complete everything in less than 30 hours was really exciting. But first things first.</p> -- <a href="https://www.davideaversa.it/blog/global-game-jam-2015-postmortem/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/1gam" term="1gam" label="1gam"/><category scheme="https://www.davideaversa.it/tags/ggj210" term="ggj210" label="ggj210"/><category scheme="https://www.davideaversa.it/tags/global-game-jam" term="global-game-jam" label="global game jam"/><category scheme="https://www.davideaversa.it/tags/postmortem" term="postmortem" label="postmortem"/></entry><entry><title type="html">The most promising languages of 2015 - Part 2</title><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-2/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-1/?utm_source=atom_feed" rel="related" type="text/html" title="The most promising languages of 2015 - Part 1"/><link href="https://www.davideaversa.it/blog/in-search-of-the-philosophers-code/?utm_source=atom_feed" rel="related" type="text/html" title="In search of the &amp;#8220;Philosopher&amp;#8217;s Code&amp;#8221;"/><id>https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-2/</id><author><name>Davide Aversa</name></author><published>2015-01-11T12:21:59+00:00</published><updated>2024-12-31T15:07:08+01:00</updated><content type="html"><![CDATA[<p><strong><span style="color: #ff0000;">UPDATE: <a style="color: #ff0000;" href="/2015/12/the-most-promising-languages-of-2016/">There is a new version of this article for 2016!</a></span></strong></p>
<p>In the the <a href="/2015/01/the-most-promising-languages-of-2015-part-1/">previous post</a> we have seen what are the general trends of the previous year with regard to the fascinating world of programming languages. To summarize, we can say the there are two strong trends: 1) more functional-inspired elements in programming languages 2) more statically strong typed languages that can be compiled in machine code.</p>
<p>Now, in the current article, I want to list all the languages which have attracted interests in the last years and that represent the implementation of these trends. Obviously, as I said in the previous article, these are not languages on which to bet their careers: these are new trendy languages but the real world does not work on &ldquo;trends&rdquo;, but on software, oil, commerce, health care and an hundred of categories in which the actual programming languages are doing great with an huge amount of per-existing codebase.</p>
<p>However, it is nice to explore the &ldquo;future&rdquo;, so, let&rsquo;s take a look.</p> -- <a href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-2/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/functional-programming" term="functional-programming" label="functional programming"/><category scheme="https://www.davideaversa.it/tags/go" term="go" label="go"/><category scheme="https://www.davideaversa.it/tags/julia" term="julia" label="julia"/><category scheme="https://www.davideaversa.it/tags/nim" term="nim" label="nim"/><category scheme="https://www.davideaversa.it/tags/programming-language" term="programming-language" label="programming language"/><category scheme="https://www.davideaversa.it/tags/rust" term="rust" label="rust"/></entry><entry><title type="html">The most promising languages of 2015 - Part 1</title><link href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-1/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/in-search-of-the-philosophers-code/?utm_source=atom_feed" rel="related" type="text/html" title="In search of the &amp;#8220;Philosopher&amp;#8217;s Code&amp;#8221;"/><id>https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-1/</id><author><name>Davide Aversa</name></author><published>2015-01-03T15:14:43+00:00</published><updated>2024-12-31T13:54:04+01:00</updated><content type="html"><![CDATA[<p><strong><span style="color: #ff0000;">UPDATE: <a style="color: #ff0000;" href="/2015/12/the-most-promising-languages-of-2016/">There is a new version of this article for 2016!</a></span></strong></p>
<p>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 point of each big astrology book which pollute bookstores and newsstands in this part of the year.</p>
<p>Personally I&rsquo;m not a fortune teller, but I think that can be interesting to try to set the route of the new year on the basis of the one just past. Obviously, I do not pretend to talk on every possible kind of events, but for the one I&rsquo;m interested in, I think I can say something interesting or, at least, start a discussion.</p>
<p>So, let&rsquo;s try to spend some words on the trends regarding programming languages and software development.</p> -- <a href="https://www.davideaversa.it/blog/the-most-promising-languages-of-2015-part-1/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/functional-programming" term="functional-programming" label="functional programming"/><category scheme="https://www.davideaversa.it/tags/programming-language" term="programming-language" label="programming language"/></entry><entry><title type="html">One Game A Month - December 2014</title><link href="https://www.davideaversa.it/blog/one-game-a-month-december-2014/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/one-game-a-month-december-2014/</id><author><name>Davide Aversa</name></author><published>2015-01-01T18:31:30+00:00</published><updated>2024-12-31T13:48:11+01:00</updated><content type="html"><![CDATA[<p>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 have a lot to say but, for some reason, I usually get stuck in a kind of writer&rsquo;s block every time I finally found time for writing. So, because the only way to beat a writer&rsquo;s block is to write, and write and write, I decided to spend at least January into a more strict scheduling. Maybe there will be a good impact in the blog post frequency too.</p>
<p>The second &ldquo;resolution&rdquo; is to beat the <a href="http://onegameamonth.com/">One Game A Month</a> challenge for 2015. The goal is to complete a game each month. You don&rsquo;t have to realize the full game in one month, you just have to complete and release it. I think it is a nice opportunity to challenge myself on some specific game development aspect while forcing some deadline (that is always a good thing).</p>
<p>However, taking advantage of the <a href="http://ludumdare.com/compo/">Ludum Dare</a> jam on December, I started this challenge a bit in advance. :) So, now I&rsquo;m going to do short post-analysis of my game for the previous month.</p> -- <a href="https://www.davideaversa.it/blog/one-game-a-month-december-2014/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/ludum-dare" term="ludum-dare" label="ludum dare"/><category scheme="https://www.davideaversa.it/tags/ludum-dare-31" term="ludum-dare-31" label="ludum dare 31"/><category scheme="https://www.davideaversa.it/tags/one-game-a-month" term="one-game-a-month" label="one game a month"/><category scheme="https://www.davideaversa.it/tags/unity" term="unity" label="unity"/></entry><entry><title type="html">LowPoly in Blender</title><link href="https://www.davideaversa.it/blog/lowpoly-in-blender/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/lowpoly-in-blender/</id><author><name>Davide Aversa</name></author><published>2014-12-02T12:02:25+00:00</published><updated>2014-12-02T12:02:25+00:00</updated><content type="html"><![CDATA[<p>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&rsquo;d suggest to watch his tutorials. For now I just leave here an appetizer.</p>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
      <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/KVvk-F_qnlo?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
    </div> -- <a href="https://www.davideaversa.it/blog/lowpoly-in-blender/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/blender" term="blender" label="blender"/><category scheme="https://www.davideaversa.it/tags/low-poly" term="low-poly" label="low poly"/></entry><entry><title type="html">On developer anxiety</title><link href="https://www.davideaversa.it/blog/on-the-developer-anxiety/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/on-the-developer-anxiety/</id><author><name>Davide Aversa</name></author><published>2014-11-24T17:52:50+00:00</published><updated>2024-12-31T13:25:14+01:00</updated><content type="html"><![CDATA[<p>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 machine and you start to thing to the technical details. Many questions reach your mind. Maybe too many. Is it better to use Python or Haskell, or maybe C++? I have to start implementing my game prototype with Unity or with some other engine? What if in the future I want to add &ldquo;feature X&rdquo; after &ldquo;feature Y&rdquo;? So you start crawling the web for resources, opinions and more information on your problem. And this will generate more questions. You spend two hours in this way and you are still full of doubts. Then it becomes late. You are tired. You will check out this problems tomorrow. But tomorrow you will find others problem and not even a solution. And so on. Until every project loses its momentum.</p> -- <a href="https://www.davideaversa.it/blog/on-the-developer-anxiety/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/anxiety" term="anxiety" label="anxiety"/><category scheme="https://www.davideaversa.it/tags/productivity" term="productivity" label="productivity"/><category scheme="https://www.davideaversa.it/tags/workflow" term="workflow" label="workflow"/></entry><entry><title type="html">Random Maps with Cellular Automata</title><link href="https://www.davideaversa.it/blog/random-maps-with-cellular-automata/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/random-goblin-name-generator/?utm_source=atom_feed" rel="related" type="text/html" title="Random Goblin Name Generator"/><link href="https://www.davideaversa.it/blog/towards-the-procjam-2014/?utm_source=atom_feed" rel="related" type="text/html" title="Towards the ProcJam 2014"/><id>https://www.davideaversa.it/blog/random-maps-with-cellular-automata/</id><author><name>Davide Aversa</name></author><published>2014-11-13T23:54:55+00:00</published><updated>2014-11-13T23:54:55+00:00</updated><content type="html"><![CDATA[<p>In the spirit of the <a href="www.davideaversa.it/2014/10/towards-the-procjam-2014/" target="_blank">ProcJam2014</a> (that unfortunately I have to skip because of a ton of academic duties :&lt;) I&rsquo;m presenting to you a simple algorithm to generate maps: the <strong>cellular automata generator</strong>. In particular, cellular automata are very well suited for cave-like environment and, in general, natural maps. It works both in 2D than in 3D and can be easily implemented in no more than 20 minutes.</p>
<p>From the theoretical point of view, a cellular automata is a discrete model that consist in a regular grid of <em>cells</em>. Each cell can have a finite number of states (usually two: on and off). On top of this grid, a system of <em>rules</em> is built to control the <em>evolution</em> of the cells. The rule are usually simple and <em>local</em>: this means that each rule decide on the state of a single cell just on the basis of a limited set of cells (the <em>neighborhood</em>) located around the cell of interest. No rule on the global state of the grid can exist! For instance &ldquo;the total number of cell in the on state is less than X&rdquo; is NOT a local rule.</p> -- <a href="https://www.davideaversa.it/blog/random-maps-with-cellular-automata/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/cellular-automata" term="cellular-automata" label="cellular automata"/><category scheme="https://www.davideaversa.it/tags/pcg" term="pcg" label="pcg"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/></entry><entry><title type="html">Towards the ProcJam 2014</title><link href="https://www.davideaversa.it/blog/towards-the-procjam-2014/?utm_source=atom_feed" rel="alternate" type="text/html"/><link href="https://www.davideaversa.it/blog/speccy-jam-2014-postmortem/?utm_source=atom_feed" rel="related" type="text/html" title="Speccy Jam 2014 Postmortem"/><link href="https://www.davideaversa.it/blog/random-goblin-name-generator/?utm_source=atom_feed" rel="related" type="text/html" title="Random Goblin Name Generator"/><id>https://www.davideaversa.it/blog/towards-the-procjam-2014/</id><author><name>Davide Aversa</name></author><published>2014-10-30T18:41:16+00:00</published><updated>2024-12-31T13:22:59+00:00</updated><content type="html"><![CDATA[<p><a title="http://en.wikipedia.org/wiki/Procedural_generation" href="Procedural Content Generation" target="_blank">Procedural Contents Generation</a> (PCG) is a family of techniques, algorithms and procedures used for generating contents in an automatic way rather than manually. In other words, using PCG, game contents can be created by the host computer instead of pre-design everything at development time.</p>
<p>In recent years, PCG is having an increasing popularity among the academic and game development communities. There are two big reasons behind this success: first, it allow the designer to generate an near-infinite amount of contents without the effort of manually design each element by hand (and that&rsquo;s why the indie scene <strong>love</strong> PCG), second it increase the game longevity and replayability value of the game (because, for instance, the game it is always different after each run and so it can be replayed more). This two things combined are The Dream for every game designer: huge longevity with low effort at design time.</p> -- <a href="https://www.davideaversa.it/blog/towards-the-procjam-2014/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/gamejam" term="gamejam" label="gamejam"/><category scheme="https://www.davideaversa.it/tags/pcg" term="pcg" label="pcg"/></entry><entry><title type="html">Back from AIIDE 2014</title><link href="https://www.davideaversa.it/blog/back-from-aiide-2014/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/back-from-aiide-2014/</id><author><name>Davide Aversa</name></author><published>2014-10-18T01:13:14+00:00</published><updated>2024-12-31T13:29:19+01:00</updated><content type="html"><![CDATA[<p>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 too late. :) During the last 3th-7th October, the tenth conference on <strong>Artificial Intelligence for Interactive Digital Entertainment</strong> (AIIDE) was held in Raleigh (North Carolina, USA). It was a very interesting conference on AI and games stuff and I am really happy to have joined such amazing things. I mean, this is something that I could proudly say to the 10 years old me and make him happy and unbelieving. I could look the younger me in the eyes and say &ldquo;In the future you&rsquo;ll participate in a conference about artificial intelligence and videogames with some of the most beautiful mind in that field!&rdquo;. Wow. However, unfortunately I received too many commitments and bad news from Italy to be able to freely enjoy this conference and to be fully concentrated. I&rsquo;m really sorry of this.</p> -- <a href="https://www.davideaversa.it/blog/back-from-aiide-2014/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/academic" term="academic" label="Academic"/><category scheme="https://www.davideaversa.it/tags/aiide" term="aiide" label="aiide"/><category scheme="https://www.davideaversa.it/tags/aiide2014" term="aiide2014" label="aiide2014"/><category scheme="https://www.davideaversa.it/tags/bdp" term="bdp" label="bdp"/><category scheme="https://www.davideaversa.it/tags/pathfinding" term="pathfinding" label="pathfinding"/></entry><entry><title type="html">Speccy Jam 2014 Postmortem</title><link href="https://www.davideaversa.it/blog/speccy-jam-2014-postmortem/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/speccy-jam-2014-postmortem/</id><author><name>Davide Aversa</name></author><published>2014-09-08T18:06:48+00:00</published><updated>2024-12-31T13:38:47+01:00</updated><content type="html"><![CDATA[<p>As I said in a previous post, in these days me and <a href="https://twitter.com/mauriliodc" target="_blank">my colleague</a> at Noctua were working in the <a href="http://www.speccyjam.com/" target="_blank">SpeccyJam 2014</a>. The goal of the jam/competition is to make a game with the same <em>look and feel </em>of an original <a href="http://en.wikipedia.org/wiki/ZX_Spectrum" target="_blank">ZX Spectrum</a> game. This introduces a lot of interesting limitations. First, it constrains our resolution to  256 × 192 (that is, however, a really big improvement respect to the <strong>LowRezJam</strong> :D), second it forces us to use only 15 colors. But most important of all, the non-strict limitation, is to simulate the <a href="http://en.wikipedia.org/wiki/Attribute_clash" target="_blank">color clash effect</a> of the original Spectrum on modern engines. This was the most hard constraint that forced us to explore 2D shaders and a lot of simulated low-level algorithms on top of a modern engine like Unity 3D.</p> -- <a href="https://www.davideaversa.it/blog/speccy-jam-2014-postmortem/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/gamejam" term="gamejam" label="gamejam"/><category scheme="https://www.davideaversa.it/tags/postmortem" term="postmortem" label="postmortem"/><category scheme="https://www.davideaversa.it/tags/speccyjam" term="speccyjam" label="speccyjam"/></entry><entry><title type="html">Random Goblin Name Generator</title><link href="https://www.davideaversa.it/blog/random-goblin-name-generator/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/random-goblin-name-generator/</id><author><name>Davide Aversa</name></author><published>2014-09-04T16:25:17+00:00</published><updated>2024-12-31T13:20:36+00:00</updated><content type="html"><![CDATA[<p>Hi everyone. In these days, me and my friend and colleague at <strong>Noctua</strong> (EDIT: we don&rsquo;t have a webpage anymore) are working at a new game jam: the <a href="http://www.speccyjam.com/">SpeccyJam</a>. The goal of this jam is to recreate a game with the same feel and look of an original <strong>ZX Spectrum</strong> game. We chose to implement a &ldquo;managerial game&rdquo; in which the player takes the role of a fantasy blacksmith that have to increase its fame crafting amazing weapons. This jam is very formative because it is forcing us to work in a low resolution with a very limited color space and, also, to explore the amazing kingdom of 2D shaders in Unity in order to recreate the <a href="http://en.wikipedia.org/wiki/Attribute_clash">visual glitches of the original console</a>.</p> -- <a href="https://www.davideaversa.it/blog/random-goblin-name-generator/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/gamedev" term="gamedev" label="GameDev"/><category scheme="https://www.davideaversa.it/tags/pcg" term="pcg" label="pcg"/><category scheme="https://www.davideaversa.it/tags/procedural-content-generation" term="procedural-content-generation" label="procedural content generation"/></entry><entry><title type="html">Back from ECAI 2014</title><link href="https://www.davideaversa.it/blog/back-from-ecai-2014/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/back-from-ecai-2014/</id><author><name>Davide Aversa</name></author><published>2014-08-25T16:04:38+00:00</published><updated>2014-08-25T16:04:38+00:00</updated><content type="html"><![CDATA[<p>Hi everyone! I&rsquo;m back. In the last week I was in <strong>Prague</strong> to attend to the <strong>21th European Conerence on Artificial Intelligence</strong> (a.k.a. ECAI2014). This was my first real academic conference since I started my Ph.D. in the last November.  As I said before, conferences are amazing events where I get stressed like never before but, at the end, I come back home super-excited and full of inspirational ideas. Moreover, in these type of events you are surrounded by amazing people that do what you do. Meeting and talking with them is always insightful and amazing. So, first of all, thanks to all the nice people I met during this conference.</p> -- <a href="https://www.davideaversa.it/blog/back-from-ecai-2014/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/academic" term="academic" label="Academic"/><category scheme="https://www.davideaversa.it/tags/ecai2014" term="ecai2014" label="ecai2014"/><category scheme="https://www.davideaversa.it/tags/workshop" term="workshop" label="workshop"/></entry><entry><title type="html">In search of the &amp;#8220;Philosopher&amp;#8217;s Code&amp;#8221;</title><link href="https://www.davideaversa.it/blog/in-search-of-the-philosophers-code/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/in-search-of-the-philosophers-code/</id><author><name>Davide Aversa</name></author><published>2014-08-16T21:41:47+00:00</published><updated>2014-08-16T21:41:47+00:00</updated><content type="html">In search of the Philosopher&amp;rsquo;s Code. A small manifest on my actual thoughts and interests in programming. -- &lt;a href="https://www.davideaversa.it/blog/in-search-of-the-philosophers-code/">Read More&lt;/a></content><category scheme="https://www.davideaversa.it/categories/programming" term="programming" label="Programming"/><category scheme="https://www.davideaversa.it/tags/functional-programming" term="functional-programming" label="functional programming"/><category scheme="https://www.davideaversa.it/tags/opinion" term="opinion" label="opinion"/></entry><entry><title type="html">Lazy, Bloody Summer (starting again)</title><link href="https://www.davideaversa.it/blog/lazy-bloody-summer-starting-again/?utm_source=atom_feed" rel="alternate" type="text/html"/><id>https://www.davideaversa.it/blog/lazy-bloody-summer-starting-again/</id><author><name>Davide Aversa</name></author><published>2014-08-13T23:03:26+00:00</published><updated>2014-08-13T23:03:26+00:00</updated><content type="html"><![CDATA[<p>I don&rsquo;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 finally put all of them in a single place. Unfortunately, it is too hot here and my will is at historic lows so this &ldquo;restyling&rdquo; is taking longer than expected. As I said before, my life is just increasing in complexity and, as a consequence, I need some place for my academic things, a place for my artistic side, a place for my gamedev ambitions, a place for my work, a place for my spare time, a place for my nerdy things. I usually tried to keep all this thing separated and using this website just as an index. Thinking about that today, I don&rsquo;t know why. Maybe because I always had problems handling my multiple me, my multiple sides of my interests. However, I really cannot handle all this fragmentation anymore. It is just too complicated. So, I have shut down everything and I created this. It is not a special website about something, is just one website, just about me. (Moreover, in this place there were a shitty page the I promised myself to renew for centuries. Thus, I seized the opportunity and now I&rsquo;ve solved the two problem at once. Nice job, indeed.</p> -- <a href="https://www.davideaversa.it/blog/lazy-bloody-summer-starting-again/">Read More</a>]]></content><category scheme="https://www.davideaversa.it/categories/random" term="random" label="Random"/><category scheme="https://www.davideaversa.it/tags/ecai" term="ecai" label="ecai"/></entry></feed>