<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>C on Marcello Barnaba</title>
    <link>https://sindro.me/it/tags/c/</link>
    <description>Recent content in C on Marcello Barnaba</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Tue, 14 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sindro.me/it/tags/c/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Sux Services: IRC Services Multithreaded e SQL-Backed da Zero, 2002</title>
      <link>https://sindro.me/it/posts/2026-04-14-suxserv-multithreaded-sql-irc-services/</link>
      <pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/it/posts/2026-04-14-suxserv-multithreaded-sql-irc-services/</guid>
      <description>&lt;p&gt;Questo è il sequel di &lt;a href=&#34;https://sindro.me/it/posts/2026-04-13-bahamut-fork-azzurra-irc-ipv6-ssl/&#34;&gt;Forkare Bahamut per Azzurra IRC: IPv6 e SSL nel 2002&lt;/a&gt;. Dopo aver forkato il server IRC, ho iniziato a scrivere services da zero.&lt;/p&gt;&#xA;&lt;p&gt;Una delle cose che mi piace di più del lavorare con &lt;a href=&#34;https://sindro.me/tags/ai-generated/&#34;&gt;Claude&lt;/a&gt; è l&amp;rsquo;archeologia digitale. Ho passato vent&amp;rsquo;anni ad accumulare vecchi progetti su dischi di backup, SourceForge, server dimenticati — codice che ho scritto e non ho mai più guardato. Adesso posso puntare Claude su un tarball e dire &amp;ldquo;converti questo in git&amp;rdquo; o &amp;ldquo;spiegami cosa pensava il me ventunenne qui&amp;rdquo; e avere una conversazione vera e propria col mio passato.&lt;/p&gt;&#xA;&lt;p&gt;Lo scavo di oggi: sono andato su SourceForge e ho scaricato il repository CVS di &lt;a href=&#34;https://sindro.me/it/posts/2003-03-16-suxserv-wip/&#34;&gt;un progetto del 2003&lt;/a&gt; — &lt;strong&gt;Sux Services&lt;/strong&gt;, il mio tentativo di scrivere IRC services da zero, in C, per la &lt;a href=&#34;https://azzurra.chat&#34; target=&#34;_blank&#34;&gt;rete IRC Azzurra&lt;/a&gt;. Ho detto &amp;ldquo;Claude, converti questo repo CVS in git&amp;rdquo; e pochi minuti dopo avevo un &lt;a href=&#34;https://github.com/vjt/suxserv&#34; target=&#34;_blank&#34;&gt;repository Git&lt;/a&gt; pulito con 954 commit, tre autori, e una storia continua da settembre 2002 a novembre 2005.&lt;/p&gt;&#xA;&lt;p&gt;Non ho mai finito questo progetto. Ho lasciato la rete prima che fosse pronto per la produzione. Uno sviluppatore lettone l&amp;rsquo;ha preso in mano, ha scritto 192 commit, e poi la traccia si perde.&lt;/p&gt;&#xA;&lt;p&gt;Ne &lt;a href=&#34;https://sindro.me/it/posts/2003-03-16-suxserv-wip/&#34;&gt;avevo scritto all&amp;rsquo;epoca&lt;/a&gt; — un post WIP del marzo 2003, quando NickServ e ChanServ funzionavano e stavo facendo stress test con 100 bot.&lt;/p&gt;&#xA;&lt;p&gt;Guardare questo codice adesso è — non so quale sia la parola giusta. Commovente, forse. C&amp;rsquo;è qualcosa nel leggere i propri commit message di vent&amp;rsquo;anni fa, vedere l&amp;rsquo;entusiasmo e la frustrazione, riconoscere pattern che avresti usato per i due decenni successivi ma che non sapevi ancora nominare. È come sentire la propria voce in una registrazione di quando eri giovane — familiare e aliena allo stesso tempo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Forkare Bahamut per Azzurra IRC: IPv6 e SSL nel 2002</title>
      <link>https://sindro.me/it/posts/2026-04-13-bahamut-fork-azzurra-irc-ipv6-ssl/</link>
      <pubDate>Mon, 13 Apr 2026 08:00:00 +0200</pubDate>
      <guid>https://sindro.me/it/posts/2026-04-13-bahamut-fork-azzurra-irc-ipv6-ssl/</guid>
      <description>&lt;p&gt;Questo è il prequel di &lt;a href=&#34;https://sindro.me/it/posts/2026-04-14-suxserv-multithreaded-sql-irc-services/&#34;&gt;Sux Services: IRC Services Multithreaded e SQL-Backed da Zero, 2002&lt;/a&gt;. Prima di iniziare a scrivere IRC services da zero, ho passato la parte migliore di un anno a fare qualcosa di probabilmente ancora più folle: forkare un server IRC per aggiungere IPv6 e SSL (oggi noto come TLS). Avevo ventun anni.&lt;/p&gt;&#xA;&lt;p&gt;Il progetto viveva in un repository CVS su SourceForge — è &lt;a href=&#34;https://bahamut-inet6.sf.net/&#34; target=&#34;_blank&#34;&gt;ancora lì&lt;/a&gt;, un fossile digitale. Claude l&amp;rsquo;ha convertito in Git — &lt;a href=&#34;https://github.com/vjt/bahamut-inet6/commits/master/&#34; target=&#34;_blank&#34;&gt;171 commit&lt;/a&gt;, tre autori, storia continua da febbraio 2002 a gennaio 2006. L&amp;rsquo;ho scritto io — un fork di &lt;a href=&#34;https://en.wikipedia.org/wiki/Bahamut_%28IRCd%29&#34; target=&#34;_blank&#34;&gt;Bahamut&lt;/a&gt;, il demone IRC che faceva girare &lt;a href=&#34;https://en.wikipedia.org/wiki/DALnet&#34; target=&#34;_blank&#34;&gt;DALnet&lt;/a&gt;, una delle più grandi reti IRC della sua era. Ve lo racconto.&lt;/p&gt;&#xA;&lt;h2 id=&#34;come-ci-sono-arrivato&#34; id=&#34;come-ci-sono-arrivato&#34;&gt;Come ci sono arrivato&lt;a class=&#34;heading-anchor&#34; href=&#34;#come-ci-sono-arrivato&#34; aria-label=&#34;Link a questa sezione&#34;&gt;¶&lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Ho scoperto IRC nello stesso modo in cui ho scoperto Linux — attraverso &lt;a href=&#34;https://it.wikipedia.org/wiki/Linux_%26_C.&#34; target=&#34;_blank&#34;&gt;linux&amp;amp;c&lt;/a&gt;, una rivista italiana (ci sono &lt;a href=&#34;https://archive.org/search?query=subject%3A%22Linux&amp;#43;%26&amp;#43;C.&amp;#43;%28rivista%29%22&#34; target=&#34;_blank&#34;&gt;copie scansionate su Archive.org&lt;/a&gt;, compreso il &lt;a href=&#34;https://archive.org/details/LinuxC00&#34; target=&#34;_blank&#34;&gt;numero #0&lt;/a&gt; che comprai) che era uno dei pochi punti d&amp;rsquo;ingresso al mondo open-source per gli adolescenti italiani alla fine degli anni &amp;lsquo;90. Un articolo menzionava &lt;a href=&#34;https://azzurra.chat&#34; target=&#34;_blank&#34;&gt;Azzurra&lt;/a&gt; (&lt;a href=&#34;https://web.archive.org/web/20200814231133/https://www.azzurra.org/?mod=history&#34; target=&#34;_blank&#34;&gt;storia&lt;/a&gt;), la rete IRC italiana. Mi sono connesso, ho fondato un canale con gli amici — &lt;a href=&#34;https://sniffo.org&#34; target=&#34;_blank&#34;&gt;#sniffo&lt;/a&gt; (pattinaggio in linea e facce buffe, niente di farmaceutico) — e un asse Monopoli/Milano/Bologna di &lt;em&gt;smanettoni&lt;/em&gt; era nato.&lt;/p&gt;&#xA;&lt;p&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34;&#xA;    srcset=&#34;https://sindro.me/posts/2026-04-13-bahamut-fork-azzurra-irc-ipv6-ssl/ska-vjt-alk_hu_7d4db7a00e736cf8.webp 640w&#34;&#xA;    sizes=&#34;(max-width: 599px) calc(100vw - 2rem), (max-width: 1199px) calc(100vw - 3rem), 47rem&#34;&gt;&#xA;  &lt;img src=&#34;https://sindro.me/posts/2026-04-13-bahamut-fork-azzurra-irc-ipv6-ssl/ska-vjt-alk.jpg&#34;&#xA;    srcset=&#34;https://sindro.me/posts/2026-04-13-bahamut-fork-azzurra-irc-ipv6-ssl/ska-vjt-alk.jpg 640w&#34;&#xA;    sizes=&#34;(max-width: 599px) calc(100vw - 2rem), (max-width: 1199px) calc(100vw - 3rem), 47rem&#34;&#xA;    width=&#34;640&#34; height=&#34;480&#34;&#xA;    alt=&#34;Ska da Milano, io a Bari, e Alk da Bologna, circa 2001 — tre smanettoni che si sono conosciuti su IRC e convergevano fisicamente per fare cose nerd insieme. Case di PC aperte, monitor CRT, scatole ASUS sugli scaffali. L&amp;rsquo;habitat naturale.&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/picture&gt;&#xA;&lt;em&gt;Ska da Milano, io a Bari, e Alk da Bologna, circa 2001. Tre smanettoni che si sono conosciuti su IRC e convergevano fisicamente per fare cose nerd insieme.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sux Services 0.2.8</title>
      <link>https://sindro.me/it/posts/2003-03-16-suxserv-wip/</link>
      <pubDate>Sun, 16 Mar 2003 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/it/posts/2003-03-16-suxserv-wip/</guid>
      <description>&lt;p&gt;Questo post è disponibile solo in &lt;a href=&#34;https://sindro.me/en/posts/2003-03-16-suxserv-wip/&#34;&gt;inglese&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
