<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hello there on gblog</title><link>https://blog.greguz.me/</link><description>Recent content in Hello there on gblog</description><generator>Hugo</generator><language>en-us</language><copyright>Giacomo Gregoletto</copyright><lastBuildDate>Sat, 09 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.greguz.me/index.xml" rel="self" type="application/rss+xml"/><item><title>X-RTC: Make the OG Xbox remember the current date</title><link>https://blog.greguz.me/posts/2026/x-rtc/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/posts/2026/x-rtc/</guid><description>&lt;h2 id="microsoft-before-microslop"&gt;Microsoft before Microslop&lt;/h2&gt;
&lt;img alt="OG Xbox in all its glory" src="og_xbox.jpg" /&gt;

&lt;p&gt;There was a time when Microsoft was the new kid on the block.&lt;/p&gt;
&lt;p&gt;It was a simpler time, with less AI, less AI, and &lt;em&gt;less AI&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;It was so long ago that CR2032 batteries didn&amp;rsquo;t exist yet, and Microsoft, with its newborn console, chose to get creative with the Xbox clock retention circuit.&lt;/p&gt;
&lt;h2 id="bad-clock-capacitors"&gt;Bad clock capacitors&lt;/h2&gt;
&lt;p&gt;Ok, maybe CR2032 batteries already existed, but Microsoft actually had the &amp;ldquo;brilliant&amp;rdquo; idea of using a capacitor to keep the clock running when the Xbox was unplugged.&lt;/p&gt;</description></item><item><title>Pedalize the Lekato WS-80 wireless guitar dongle</title><link>https://blog.greguz.me/posts/2026/lekato-pedal/</link><pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/posts/2026/lekato-pedal/</guid><description>&lt;p&gt;I&amp;rsquo;m the kind of guy who buys something just to disassemble it a split second after a quick smoke test (just in case).&lt;/p&gt;
&lt;p&gt;Being a new 3D printer owner urged me to find some kind of project to test new opportunities to create something useful.
I decided to make my life easier by giving my Line 6 HX Stomp XL wireless capabilities.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Being completely honest, this also became an excuse to finally buy a proper pedalboard instead of constantly moving cables, power bricks, expression pedals, and so on.&lt;/p&gt;</description></item><item><title>Prusa Mini+ KIT</title><link>https://blog.greguz.me/posts/2026/prusa-mini-plus/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/posts/2026/prusa-mini-plus/</guid><description>&lt;h2 id="im-late-to-the-party"&gt;I&amp;rsquo;m Late to the party&lt;/h2&gt;
&lt;p&gt;I happily ignored the world of 3D printing until now. I know I&amp;rsquo;m late to the party, but waiting for an ecosystem to mature is a good way to avoid unnecessary pain when exploring something outside your comfort zone.&lt;/p&gt;
&lt;p&gt;I know the best way to learn something is to just do the damn thing, but always thinking like that is also a good way to waste a lot of time on something that might not be your thing (or, more simply, not useful to you).&lt;/p&gt;</description></item><item><title>That's Remarkable by 42 times</title><link>https://blog.greguz.me/posts/2025/remark42/</link><pubDate>Sun, 07 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/posts/2025/remark42/</guid><description>&lt;h2 id="adding-useless-features-to-yet-another-forgettable-blog"&gt;Adding useless features to yet another forgettable blog&lt;/h2&gt;
&lt;p&gt;The developer&amp;rsquo;s mind works in mysterious ways&amp;hellip;&lt;/p&gt;
&lt;p&gt;I was looking into how to jump on the &amp;ldquo;self-hosting&amp;rdquo; trend that&amp;rsquo;s been going on lately. I have to admit that my timing wasn&amp;rsquo;t perfect, considering the current RAM prices. But, honestly, I don&amp;rsquo;t need or want to build (and maintain) a pricey server farm in my house. So, I decided to do something simple enough to be hosted on a potato board like a Raspberry Pi 2.&lt;/p&gt;</description></item><item><title>Dualshock 4 stick drift</title><link>https://blog.greguz.me/posts/2025/ds4-gulikit/</link><pubDate>Sat, 29 Nov 2025 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/posts/2025/ds4-gulikit/</guid><description>&lt;h2 id="story-time"&gt;Story time!&lt;/h2&gt;
&lt;p&gt;I bought a Playstation 4 just one week before the Devil May Cry 5 launch. My sin is to be a Devil May Cry junkie since my first random encounter with Devil May Cry 3.&lt;/p&gt;
&lt;p&gt;Yes. I still have PTSD from Vergil&amp;rsquo;s &amp;ldquo;&lt;em&gt;SCUM!&lt;/em&gt;&amp;ldquo;s. The memories&amp;hellip;&lt;/p&gt;
&lt;p&gt;Coming from the split-screen era (AKA anything before Playstation 4 and Xbox One) I also bought a second controller. A red one! Just to confortably play as Dante throughout the whole game.&lt;/p&gt;</description></item><item><title>Sald-A-Boom #1 (hardware)</title><link>https://blog.greguz.me/posts/2025/sald-a-boom-1-hardware/</link><pubDate>Sat, 06 Sep 2025 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/posts/2025/sald-a-boom-1-hardware/</guid><description>&lt;p&gt;I&amp;rsquo;m gonna be honest.&lt;/p&gt;
&lt;p&gt;I saw (a long time ago) the legendary &lt;a href="https://www.youtube.com/watch?v=cLmCJKT5ssw"&gt;Jack Black&amp;rsquo;s performance at Jimmy Fallon&lt;/a&gt;, and immediatly I thought: &amp;ldquo;&lt;em&gt;I need to build one of those Sax-A-Boom&lt;/em&gt;&amp;rdquo;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Me from the future: GitHib project &lt;a href="https://github.com/greguz/sald-a-boom"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3 id="the-skeleton"&gt;The skeleton&lt;/h3&gt;
&lt;p&gt;First things first: it&amp;rsquo;s a saxophone. After this revelation, the next steps were:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;em&gt;[insert marketplace here]&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Search &lt;em&gt;&amp;ldquo;saxophone toy&amp;rdquo;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ORDER BY price ASC&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Buy the first item that has enough buttons (&lt;code&gt;8&lt;/code&gt;)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I ended up buying the &lt;em&gt;Bontempi Baby Saxophone&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>No style, please!</title><link>https://blog.greguz.me/posts/2025/no-style-please/</link><pubDate>Wed, 03 Sep 2025 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/posts/2025/no-style-please/</guid><description>&lt;h3 id="fifth-times-the-charm"&gt;Fifth time&amp;rsquo;s the charm&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s recap the changes this blog has gone through:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;November 2018&lt;/strong&gt;: Hexo (JavaScript framework)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;October 2019&lt;/strong&gt;: Metalsmith (minimal JavaScript framework)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;January 2022&lt;/strong&gt;: Hugo (some kind of DIY theme)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;February 2023&lt;/strong&gt;: Hugo (more DIY theme tinkering)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;September 2025&lt;/strong&gt;: Hugo (&lt;em&gt;No style, please!&lt;/em&gt;)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;From this &lt;a href="https://www.youtube.com/watch?v=6VhnU3_-KUY"&gt;parkour-like&lt;/a&gt; timeline, we can extract a few insights:
Hugo is a good-enough blog framework, and I prefer unstyled websites, especially in the age of enshittification.&lt;/p&gt;</description></item><item><title>Spaghetti Code</title><link>https://blog.greguz.me/posts/2019/spaghetti-code/</link><pubDate>Fri, 01 Nov 2019 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/posts/2019/spaghetti-code/</guid><description>&lt;p&gt;As the subtitle may suggest, I&amp;rsquo;ve left the super-fast-to-start Hexo framework for a more complicated solution: because, you know, I want to cook my own spaghetti!&lt;/p&gt;
&lt;p&gt;Long story short, I ran into some limitations with Hexo and its themes. Instead of hacking around the entire codebase to achieve (seemingly) simple tasks, I decided to start fresh. Plus, this felt like the perfect opportunity to try out some new NPM packages.&lt;/p&gt;</description></item><item><title>Back pressured thoughts</title><link>https://blog.greguz.me/posts/2019/back-pressured-thoughts/</link><pubDate>Sun, 20 Jan 2019 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/posts/2019/back-pressured-thoughts/</guid><description>&lt;p&gt;Node.js is perfect for scripting. With its well-stocked library, you can just drop a small amount of code to solve complicated problems. Add some &lt;a href="https://rxjs-dev.firebaseapp.com/"&gt;ReactiveX&lt;/a&gt;-flavored code and you will be able to conquer the world.&lt;/p&gt;
&lt;p&gt;Anyone who has used Node.js for some time, probably knows very well the &lt;a href="https://nodejs.org/en/docs/guides/backpressuring-in-streams/"&gt;backpressure&lt;/a&gt; problem with streams. It&amp;rsquo;s when you define a readable stream (the source) and a writable stream (the target) but the writable stream is slower to process the data then the readable stream to output new data.&lt;/p&gt;</description></item><item><title>DSLogic Plus</title><link>https://blog.greguz.me/posts/2018/dslogic-plus/</link><pubDate>Thu, 29 Nov 2018 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/posts/2018/dslogic-plus/</guid><description>&lt;p&gt;Santa (nickname for TNT) has come to my town in advance, and has brought to me a brand new &lt;em&gt;DSLogic Plus&lt;/em&gt; logic analyzer. [heavy breathing]&lt;/p&gt;
&lt;p&gt;Finally I have a way to test my uber-fake environment, and watch if everything is running smoothly.&lt;/p&gt;
&lt;img alt="DSLogin Plus" src="dslogin_plus.jpg" /&gt;

&lt;p&gt;I have to admit that the construction quality is great. It came with a USB type C cable, fly wires and 16 hook clips, plus a nice black package. The driver and the software are the same thing, so just install and run. Just a tip for the Linux users: check &lt;strong&gt;libusb&lt;/strong&gt; permissions. The software is simple, read the manual (just 50 pages with lots of images) and you are ready to analyze any piece of hardware without fear.&lt;/p&gt;</description></item><item><title>DualShock 2 emulator</title><link>https://blog.greguz.me/posts/2018/dualshock-2-emulator/</link><pubDate>Tue, 20 Nov 2018 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/posts/2018/dualshock-2-emulator/</guid><description>&lt;p&gt;Year 2018, and I&amp;rsquo;m still playing with a PlayStation 2. The only problem is the old crappy controller that I&amp;rsquo;m still using. Big problem if crack during a boss fight.&lt;/p&gt;
&lt;p&gt;So I came up with replacing my old DualShock 2 controller with a brand new Xbox One controller. Why not? First problem, know the Xbox One controller protocol and fetch the controller status. Second problem, fire up to the PlayStation the controller status using the DualShock 2 protocol.&lt;/p&gt;</description></item><item><title>Hello there</title><link>https://blog.greguz.me/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/about/</guid><description>&lt;p&gt;Hi! My name is Giacomo.&lt;/p&gt;
&lt;p&gt;Long story short:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I find &lt;em&gt;Something&lt;/em&gt; that could be interesting&lt;/li&gt;
&lt;li&gt;I explore the &lt;em&gt;Something&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;The &lt;em&gt;Something&lt;/em&gt; clicks in my head&lt;/li&gt;
&lt;li&gt;Now I want to do &lt;em&gt;something&lt;/em&gt; with the &lt;em&gt;Something&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Makes sense to you?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; yes&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; &lt;a href="../you_chose_no.mp4"&gt;no&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Me too!&lt;/p&gt;
&lt;h3 id="my-somethings-in-no-particular-order"&gt;My &lt;em&gt;Something&lt;/em&gt;™s &lt;small&gt;(in no particular order)&lt;/small&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;FAST&lt;/strong&gt;&lt;/em&gt; electric guitar (possibly Ibanez or Schecter)
&lt;ul&gt;
&lt;li&gt;&amp;hellip;but also music in general &amp;lt;3&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Linux (possibly Arch btw)&lt;/li&gt;
&lt;li&gt;Electronics (possibly to build &lt;em&gt;Something&lt;/em&gt;™ silly)&lt;/li&gt;
&lt;li&gt;Food (totally unexpected from an AI)
&lt;ul&gt;
&lt;li&gt;&lt;small&gt;AI stands for &lt;strong&gt;A&lt;/strong&gt;ctually &lt;strong&gt;I&lt;/strong&gt;talian&lt;/small&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Coding (possibly compiled)&lt;/li&gt;
&lt;li&gt;Beer (possibly about homebrewing)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Public things I did</title><link>https://blog.greguz.me/things/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.greguz.me/things/</guid><description>&lt;h2 id="javascript"&gt;JavaScript&lt;/h2&gt;
&lt;h3 id="marionettejs-collectionview-changes-its-model-february-2017"&gt;Marionette.js: &lt;code&gt;CollectionView&lt;/code&gt; changes its model (February 2017)&lt;/h3&gt;
&lt;p&gt;Found and fixed an issue with &lt;code&gt;CollectionView&lt;/code&gt; that changed its bound data.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/marionettejs/backbone.marionette/issues/3314"&gt;GitHub issue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/marionettejs/backbone.marionette/pull/3315"&gt;GitHub PR&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="fastify-websocket-proxy-december-2020"&gt;Fastify: websocket proxy (December 2020)&lt;/h3&gt;
&lt;p&gt;Replaced the &lt;code&gt;fastify-websocket&lt;/code&gt; dependency with &lt;code&gt;ws&lt;/code&gt; to achieve lower-level proxy capabilities and fix issues related to data corruption.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/fastify/fastify-http-proxy/pull/122"&gt;GitHub PR&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="nodejs-stream-submodule-edge-case-june-2022"&gt;Node.js: stream submodule edge case (June 2022)&lt;/h3&gt;
&lt;p&gt;Found and fixed an edge case involving a missing error emit when &amp;ldquo;legacy streams&amp;rdquo; are used.&lt;/p&gt;</description></item></channel></rss>