<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Articles on Andrea Ruggiero</title><link>https://pupax.me/en/articles/</link><description>Recent content in Articles on Andrea Ruggiero</description><generator>Hugo</generator><language>en-GB</language><atom:link href="https://pupax.me/en/articles/index.xml" rel="self" type="application/rss+xml"/><item><title>From MariaDB to PostgreSQL: migrating AutoSuperMarket</title><link>https://pupax.me/en/articles/migrazione-mariadb-postgresql/</link><pubDate>Sun, 11 Oct 2026 00:00:00 +0200</pubDate><guid>https://pupax.me/en/articles/migrazione-mariadb-postgresql/</guid><description>&lt;p&gt;AutoSuperMarket started life on MariaDB for a very simple reason: it was the database we knew best, so that&amp;rsquo;s what we began with. Years, hundreds of tables and a few million listings later, the statistics database had been on PostgreSQL since 2024, but everything else hadn&amp;rsquo;t.&lt;/p&gt;&#10;&lt;p&gt;Since 20 September 2026, just after one in the morning, the main database runs on PostgreSQL 18 too. I worked on it on my own for about six weeks, from the first tests written in early August to the night of the switch. This is the story of how it went, what broke and what I learnt. It&amp;rsquo;s long, and full of SQL.&lt;/p&gt;</description></item><item><title>How to install ESXI on unsupported SYS server</title><link>https://pupax.me/en/articles/how-to-install-esxi-on-unsupported-sys-server/</link><pubDate>Sun, 17 Feb 2019 00:00:00 +0100</pubDate><guid>https://pupax.me/en/articles/how-to-install-esxi-on-unsupported-sys-server/</guid><description>&lt;p&gt;I have recently purchased a new server from SYS (an OVH subcompany), but, after the server was activated, there was no option available for installing Esxi. It seems like they decided to remove it completely from their SYS lineup. There was also no option for installing a modern windows server (only Windows Server 2008 was available), so hyper v was not an option. I could use proxmox or xenserver but, as you might know, veeam doesn&amp;rsquo;t support other os than esxi and hyperv. Changing from Veeam to something different, such as Acronis was not an option. I don&amp;rsquo;t have enough time.&lt;/p&gt;</description></item><item><title>Cock O' The - GGJ 2019</title><link>https://pupax.me/en/articles/cock-o-the-ggj-2019/</link><pubDate>Tue, 29 Jan 2019 00:00:00 +0100</pubDate><guid>https://pupax.me/en/articles/cock-o-the-ggj-2019/</guid><description>&lt;p&gt;Last week the Global Game Jam 2019 took place all over the world. I took part together with my group, Team 10, at the Milan Jam Site, specifically in building 26, aka the canteen, of the Politecnico di Milano.&lt;/p&gt;&#10;&lt;p&gt;The main theme, which we can now reveal, is: &amp;ldquo;What home means to you?&amp;rdquo;. A theme that&amp;rsquo;s definitely much more complex than last year&amp;rsquo;s &amp;ldquo;transmission&amp;rdquo;. Home can mean anything, from &amp;ldquo;family&amp;rdquo; to &amp;ldquo;resting&amp;rdquo;, or even the &amp;ldquo;bathroom&amp;rdquo;. It took us just a few hours to realise we wouldn&amp;rsquo;t be able to make a game with a deep meaning: each of us has our own idea of home, and it&amp;rsquo;s impossible to bring them all together under a single concept. So we decided to make something definitely more concrete and less deep, you could even say bordering on trash.&lt;/p&gt;</description></item><item><title>Roadsense - Hack the Cloud 2018</title><link>https://pupax.me/en/articles/hackthecloud/</link><pubDate>Sun, 25 Nov 2018 00:00:00 +0100</pubDate><guid>https://pupax.me/en/articles/hackthecloud/</guid><description>&lt;p&gt;Last week the first edition of Hack the Cloud took place, a hackathon organised by GARR together with the University of Milano-Bicocca to encourage the use of cloud technologies like Openstack and Kubernetes.&lt;/p&gt;&#10;&lt;p&gt;The aim of the hackathon was to build, in less than 8h, a project for a Smart City that integrated OpenData and GARR&amp;rsquo;s cloud network.&lt;/p&gt;&#10;&lt;h2 id="roadsense"&gt;Roadsense&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Our project (Roadsense) is based on fitting smart sensors on surface public transport, with a twofold goal: monitoring the state of the lines to spot any problems along the routes and, at the same time, thanks to motion sensors, detecting the condition of the urban road surface, aggregating the data from the different buses and flagging problematic situations.During the hackathon we managed to build a good part of the backend and of the webapp for monitoring the lines and the roads; we also developed a prototype of the software to be installed on the sensors, into which, for the occasion, we fed simulated data based on the Open Data of the City of Milan.&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Baank.ly - HackTheAlps 2018</title><link>https://pupax.me/en/articles/hackthealps-2018/</link><pubDate>Sun, 30 Sep 2018 00:00:00 +0200</pubDate><guid>https://pupax.me/en/articles/hackthealps-2018/</guid><description>&lt;p&gt;Last week the first edition of the HackTheAlps hackathon took place at Kronplatz, in the province of Bolzano.&lt;/p&gt;&#10;&lt;p&gt;&#10;&lt;img src="https://pupax.me/articoli/hackthealps-2018/IMG_2249_hu_754e93a4338cb09e.webp" srcset="https://pupax.me/articoli/hackthealps-2018/IMG_2249_hu_754e93a4338cb09e.webp 720w, https://pupax.me/articoli/hackthealps-2018/IMG_2249_hu_dffbc45ef83608e6.webp 1440w" sizes="(min-width: 50rem) 46rem, 100vw" width="720" height="480" alt="The top of Kronplatz, venue of HackTheAlps 2018" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;p&gt;The theme of this hackathon was designing and building, in less than 48 hours, a sustainable project able to fit into life in South Tyrol.&lt;/p&gt;&#10;&lt;p&gt;The location was stunning, the challenges much less so. Not knowing the area and the way of life of South Tyroleans, we couldn&amp;rsquo;t come up with something able to fit into the local way of life. So we decided to go for another challenge, a much more creative one: &lt;em&gt;Design Your Dream “Banking” App.&lt;/em&gt; A choice that, in hindsight, we definitely wouldn&amp;rsquo;t make again. The challenge turned out to be far too open.&lt;/p&gt;</description></item><item><title>BonAppétit</title><link>https://pupax.me/en/articles/bonappetit/</link><pubDate>Fri, 01 Jun 2018 00:00:00 +0200</pubDate><guid>https://pupax.me/en/articles/bonappetit/</guid><description>&lt;p&gt;BonAppétit is the project that, together with my group, I worked on throughout 2017-2018.&lt;/p&gt;&#10;&lt;h2 id="what-is-it"&gt;What is it?&lt;/h2&gt;&#10;&lt;p&gt;BonAppétit is a simple and innovative management system for bars and restaurants. Our system adapts to venues of any size: from the small bar to the renowned restaurant.&lt;/p&gt;&#10;&lt;p&gt;&#10;&lt;img src="https://pupax.me/articoli/bonappetit/image-3_hu_a50f18f7cb76e08f.webp" srcset="https://pupax.me/articoli/bonappetit/image-3_hu_a50f18f7cb76e08f.webp 720w, https://pupax.me/articoli/bonappetit/image-3_hu_fcf057eadedbd891.webp 1440w" sizes="(min-width: 50rem) 46rem, 100vw" width="720" height="458" alt="BonAppétit dashboard showing tables as free or occupied" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;h2 id="whats-innovative-about-it"&gt;What&amp;rsquo;s innovative about it?&lt;/h2&gt;&#10;&lt;p&gt;BonAppétit&amp;rsquo;s goal is to improve the businesses it&amp;rsquo;s installed in. Through Machine Learning and AI algorithms it learns about the business and its customers, and ends up giving the owner suggestions about possible improvements.&lt;/p&gt;</description></item><item><title>Sparkan - GGJ 2018</title><link>https://pupax.me/en/articles/sparkan-ggj-2018/</link><pubDate>Tue, 30 Jan 2018 00:00:00 +0100</pubDate><guid>https://pupax.me/en/articles/sparkan-ggj-2018/</guid><description>&lt;p&gt;Last week the Global Game Jam 2018 took place, and my Team and I took part. This year&amp;rsquo;s theme was &amp;ldquo;Transmission&amp;rdquo;. A short brainstorming was all it took to come up with endless ideas that could be linked to transmission. Our Nerd nature led us, as a first idea, to a game set inside the Wi-Fi network. After a few minutes we realised that putting the idea of transmission in a computer science context wouldn&amp;rsquo;t lead to great results, and that&amp;rsquo;s how Sparkan was born.&lt;/p&gt;</description></item><item><title>Argon - Electronic Class Register</title><link>https://pupax.me/en/articles/argon-registro-elettronico/</link><pubDate>Fri, 30 Sep 2016 00:00:00 +0200</pubDate><guid>https://pupax.me/en/articles/argon-registro-elettronico/</guid><description>&lt;p&gt;By now every school, mine included, uses an electronic class register to manage grades and the topics of each lesson. Our school used the Argo register by Argo Software SRL. The website wasn&amp;rsquo;t responsive, so it was awkward to use on a smartphone, and it also lacked some basic features like calculating your grade average. So we decided to develop a small PHP parser that fetched the grades, saved them in a database and calculated the average for the first and second term, and it also sent an email notification whenever it detected a new grade.&lt;/p&gt;</description></item><item><title>Wikimania 2016</title><link>https://pupax.me/en/articles/wikimania-2016/</link><pubDate>Fri, 01 Apr 2016 00:00:00 +0200</pubDate><guid>https://pupax.me/en/articles/wikimania-2016/</guid><description>&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Wikimania"&gt;What is Wikimania?&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&#10;&lt;img src="https://pupax.me/articoli/wikimania-2016/image-1_hu_1e2865239f60ffef.webp" srcset="https://pupax.me/articoli/wikimania-2016/image-1_hu_1e2865239f60ffef.webp 720w, https://pupax.me/articoli/wikimania-2016/image-1_hu_99894736373d1450.webp 1440w" sizes="(min-width: 50rem) 46rem, 100vw" width="720" height="450" alt="Group photo of the Wikimania 2016 attendees in Esino Lario" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&lt;p&gt;I was part of the Team in charge of building the official app of Wikimania 2016. I took care of building the backend and of setting up the OpenStack-based infrastructure, which had to support the backend and a 3-node MariaDB cluster. The backend was built in PHP using Laravel&amp;rsquo;s Lumen framework. The app, instead, was built with Cordova, so that it would be compatible with Android and iOS. The result was more than excellent: the app worked and the infrastructure managed to handle the load of all the guests at the event (over 1200). Definitely a great result for a group of 4 people in their 3rd and 4th year of high school.&lt;/p&gt;</description></item></channel></rss>