<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Roverdi's Website</title><link>https://roverdiani.github.io/en/posts/</link><description>Recent content in Posts on Roverdi's Website</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 11 Jun 2026 00:00:00 -0300</lastBuildDate><atom:link href="https://roverdiani.github.io/en/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Multilayer Perceptron 3: Beyond XOR</title><link>https://roverdiani.github.io/en/posts/multilayer-perceptron-3-beyond-xor/</link><pubDate>Thu, 11 Jun 2026 00:00:00 -0300</pubDate><guid>https://roverdiani.github.io/en/posts/multilayer-perceptron-3-beyond-xor/</guid><description>&lt;p&gt;In the previous posts, we built the MLP foundation: we understood its &lt;a href="https://roverdiani.github.io/posts/multilayer-perceptron-1-structure-feedforward" target="_blank" rel="noopener noreferrer"&gt;structure and feedforward&lt;/a&gt; and how it &lt;a href="https://roverdiani.github.io/posts/multilayer-perceptron-2-learning-backpropagation" target="_blank" rel="noopener noreferrer"&gt;learns through backpropagation&lt;/a&gt;. Now let&amp;rsquo;s take that knowledge to more realistic problems and open the horizon to what comes next.&lt;/p&gt;
&lt;h2 id="other-ways-to-measure-error"&gt;Other Ways to Measure Error&lt;/h2&gt;
&lt;p&gt;Up to now, we&amp;rsquo;ve used &lt;a href="https://en.wikipedia.org/wiki/Mean_absolute_error" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;MAE&lt;/strong&gt;&lt;/a&gt; (Mean Absolute Error) to monitor the network. It&amp;rsquo;s excellent for its simplicity: it just tells us the average distance between prediction and reality. However, monitoring error and training the network don&amp;rsquo;t have to use the exact same measure. Depending on the problem, other loss functions can generate more useful gradients for learning.&lt;/p&gt;</description></item><item><title>Multilayer Perceptron 2: Learning and Backpropagation</title><link>https://roverdiani.github.io/en/posts/multilayer-perceptron-2-learning-backpropagation/</link><pubDate>Mon, 08 Jun 2026 00:00:00 -0300</pubDate><guid>https://roverdiani.github.io/en/posts/multilayer-perceptron-2-learning-backpropagation/</guid><description>&lt;p&gt;In the &lt;a href="https://roverdiani.github.io/posts/multilayer-perceptron-1-structure-feedforward" target="_blank" rel="noopener noreferrer"&gt;previous post&lt;/a&gt;, we saw how the MLP organizes neurons into layers and how data flows through the feedforward pass. By the end, the network was producing predictions with fixed weights and we were measuring the error — but the network wasn&amp;rsquo;t doing anything with it.&lt;/p&gt;
&lt;p&gt;Now let&amp;rsquo;s fix that: how does the network use the error to learn?&lt;/p&gt;
&lt;h2 id="optimization"&gt;Optimization&lt;/h2&gt;
&lt;p&gt;Training a neural network is, at its core, an optimization problem: the goal is to find the set of weights that produces the smallest possible error between the network&amp;rsquo;s output and the expected result. Without an optimization algorithm, weights would remain static and the network would be incapable of learning.&lt;/p&gt;</description></item><item><title>Multilayer Perceptron 1: Structure and Feedforward</title><link>https://roverdiani.github.io/en/posts/multilayer-perceptron-1-structure-feedforward/</link><pubDate>Thu, 04 Jun 2026 15:00:00 -0300</pubDate><guid>https://roverdiani.github.io/en/posts/multilayer-perceptron-1-structure-feedforward/</guid><description>&lt;p&gt;In the previous post, we explored the &lt;a href="https://en.wikipedia.org/wiki/Perceptron" target="_blank" rel="noopener noreferrer"&gt;Perceptron&lt;/a&gt;: we saw that it can learn and make simple decisions, but we also discovered it has a hard limit. Being a linear classifier, it can only solve problems where the data can be separated by a straight line.&lt;/p&gt;
&lt;p&gt;The most iconic limitation in the history of &lt;a href="https://en.wikipedia.org/wiki/Artificial_neural_network" target="_blank" rel="noopener noreferrer"&gt;neural networks&lt;/a&gt; was the logical &lt;a href="https://en.wikipedia.org/wiki/Exclusive_or" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;XOR&lt;/strong&gt;&lt;/a&gt; (Exclusive OR) operator. Since the points of that problem can&amp;rsquo;t be split by a single line, a lone Perceptron loops forever and never learns the rule.&lt;/p&gt;</description></item><item><title>Perceptron: The Foundation of Deep Learning</title><link>https://roverdiani.github.io/en/posts/perceptron-101/</link><pubDate>Sun, 31 May 2026 22:00:00 -0300</pubDate><guid>https://roverdiani.github.io/en/posts/perceptron-101/</guid><description>&lt;p&gt;&lt;strong&gt;At its core, all modern artificial intelligence is just trying to imitate what you do without thinking.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When you decide whether to cross the street, or whether that email belongs in the spam folder, your brain is processing signals, weighing evidence, and making a simple decision: &lt;em&gt;yes&lt;/em&gt; or &lt;em&gt;no&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://en.wikipedia.org/wiki/Artificial_neural_network" target="_blank" rel="noopener noreferrer"&gt;artificial neural networks&lt;/a&gt;, everything started as an attempt to replicate that behavior in a mathematical model, giving birth to what we know as the &lt;a href="https://en.wikipedia.org/wiki/Perceptron" target="_blank" rel="noopener noreferrer"&gt;Perceptron&lt;/a&gt; — still, to this day, one of the most elegant ideas in computing.&lt;/p&gt;</description></item><item><title>Tibia 1.03 (Alpha): Sprites</title><link>https://roverdiani.github.io/en/posts/tibia-alfa-sprites/</link><pubDate>Fri, 29 May 2026 10:00:00 -0300</pubDate><guid>https://roverdiani.github.io/en/posts/tibia-alfa-sprites/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Tibia" target="_blank" rel="noopener noreferrer"&gt;Tibia&lt;/a&gt; is one of the oldest &lt;a href="https://en.wikipedia.org/wiki/MMORPG" target="_blank" rel="noopener noreferrer"&gt;MMORPGs&lt;/a&gt; still online and under active development. Created in 1997 by students of a German university — who later founded &lt;a href="https://en.wikipedia.org/wiki/CipSoft" target="_blank" rel="noopener noreferrer"&gt;CipSoft&lt;/a&gt;, it eventually became very popular, especially in Brazil.&lt;/p&gt;
&lt;p&gt;Some time ago, I ended up stumbling upon a copy of the Alpha client (version 1.03), which, as far as I know, was the first publicly released version. You can &lt;a href="https://archive.org/details/tibia103" target="_blank" rel="noopener noreferrer"&gt;download it here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Debian on the Toshiba Portégé M200</title><link>https://roverdiani.github.io/en/posts/toshiba-m200-debian-netboot/</link><pubDate>Tue, 26 May 2026 21:00:00 -0300</pubDate><guid>https://roverdiani.github.io/en/posts/toshiba-m200-debian-netboot/</guid><description>&lt;p&gt;&lt;strong&gt;Have you ever tried to install Linux on a machine that simply refuses to cooperate?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Years ago, I was given a &lt;strong&gt;Toshiba Portégé M200&lt;/strong&gt;. For those who aren&amp;rsquo;t familiar, it&amp;rsquo;s a 2004 Tablet PC with a screen that was absurdly ahead of its time (featuring Wacom pen support) and a design that still catches the eye today. But it has one tiny little problem: there is no way to boot from USB. On top of that, it has no internal CD/DVD drive, and booting from an external drive only works with a specific Toshiba model that you can only find on Japanese auction sites.&lt;/p&gt;</description></item><item><title>Jevons Paradox in the AI Age</title><link>https://roverdiani.github.io/en/posts/jevons-paradox-ai-age/</link><pubDate>Sat, 23 May 2026 23:00:00 -0300</pubDate><guid>https://roverdiani.github.io/en/posts/jevons-paradox-ai-age/</guid><description>&lt;p&gt;&lt;strong&gt;Have you ever noticed that the more technology advances and saves resources, the more we seem to consume?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Well, this contradiction isn&amp;rsquo;t new. Back in 1865, British economist &lt;a href="https://en.wikipedia.org/wiki/William_Stanley_Jevons" target="_blank" rel="noopener noreferrer"&gt;William Jevons&lt;/a&gt; noticed something: while steam engines became more efficient and used less coal, total coal consumption didn&amp;rsquo;t drop — quite the opposite. As energy became cheaper, the industry found lots of new uses for it, causing the demand for coal to skyrocket like never before. This phenomenon became known as the &lt;a href="https://en.wikipedia.org/wiki/Jevons_paradox" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jevons Paradox&lt;/strong&gt;&lt;/a&gt; (or, more popularly, the &lt;strong&gt;rebound effect&lt;/strong&gt;).&lt;/p&gt;</description></item><item><title>WoW Arduino Fisher</title><link>https://roverdiani.github.io/en/posts/wow-arduino-fisher/</link><pubDate>Wed, 25 Oct 2023 10:00:00 -0300</pubDate><guid>https://roverdiani.github.io/en/posts/wow-arduino-fisher/</guid><description/></item><item><title>Windows XP on a Dell Optiplex 380</title><link>https://roverdiani.github.io/en/posts/optiplex-380-win-xp/</link><pubDate>Sat, 14 Oct 2023 20:00:00 -0300</pubDate><guid>https://roverdiani.github.io/en/posts/optiplex-380-win-xp/</guid><description/></item><item><title>SDL2, VMware, Linux and Relative Mouse Mode</title><link>https://roverdiani.github.io/en/posts/sdl-vm-relative-mouse-mode/</link><pubDate>Wed, 12 Jul 2023 15:00:00 -0300</pubDate><guid>https://roverdiani.github.io/en/posts/sdl-vm-relative-mouse-mode/</guid><description/></item><item><title>Hello World!</title><link>https://roverdiani.github.io/en/posts/hello-world/</link><pubDate>Wed, 12 Jul 2023 13:00:00 -0300</pubDate><guid>https://roverdiani.github.io/en/posts/hello-world/</guid><description/></item></channel></rss>