<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>while true do;</title>
    <link>https://www.danieleteti.it/</link>
    <description>Daniele Teti&#39;s Programming Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Sat, 08 Aug 2026 11:00:00 +0200</lastBuildDate><atom:link href="https://www.danieleteti.it/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>MCP Firebird 0.4.0: der Advisor, der dir sagt, wenn du keinen Index brauchst</title>
      <link>https://www.danieleteti.it/post/mcp-firebird-index-advisor-de/</link>
      <pubDate>Sat, 08 Aug 2026 11:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-firebird-index-advisor-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Die 0.4.0 von MCP Firebird schreibt den Index-Berater neu. Sie misst die Abfrage jetzt, bevor sie etwas vorschlägt, nennt die günstigste Abhilfe, kennt Indizes auf Ausdrücke, partielle Indizes und Indizes für ORDER BY, und wenn der Scan die richtige Wahl ist, antwortet sie mit Zahlen und ohne SQL zum Ausführen.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Firebird 0.4.0: el asesor que sabe decirte que no crees el índice</title>
      <link>https://www.danieleteti.it/post/mcp-firebird-index-advisor-es/</link>
      <pubDate>Sat, 08 Aug 2026 11:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-firebird-index-advisor-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;La 0.4.0 de MCP Firebird reescribe el asesor de índices. Ahora mide la consulta antes de hablar, propone el remedio que cuesta menos, conoce índices sobre expresión, parciales y para el ORDER BY, y cuando el escaneo es la elección correcta responde con los números y ninguna SQL que ejecutar.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Firebird 0.4.0: l&#39;advisor che sa dirti di non creare l&#39;indice</title>
      <link>https://www.danieleteti.it/post/mcp-firebird-index-advisor-it/</link>
      <pubDate>Sat, 08 Aug 2026 11:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-firebird-index-advisor-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;La 0.4.0 di MCP Firebird riscrive il consigliere di indici. Adesso misura la query prima di parlare, propone il rimedio che costa meno, conosce indici su espressione, parziali e per l&#39;ORDER BY, e quando lo scan è la scelta giusta risponde con i numeri e nessuna SQL da eseguire.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Firebird 0.4.0: o consultor que sabe dizer para não criar o índice</title>
      <link>https://www.danieleteti.it/post/mcp-firebird-index-advisor-ptb/</link>
      <pubDate>Sat, 08 Aug 2026 11:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-firebird-index-advisor-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;A 0.4.0 do MCP Firebird reescreve o consultor de índices. Agora ele mede a consulta antes de falar, propõe o remédio que custa menos, conhece índices de expressão, parciais e para o ORDER BY, e quando o scan é a escolha certa responde com os números e nenhum SQL para executar.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Firebird 0.4.0: the advisor that knows when not to create an index</title>
      <link>https://www.danieleteti.it/post/mcp-firebird-index-advisor-en/</link>
      <pubDate>Sat, 08 Aug 2026 11:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-firebird-index-advisor-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-index-advisor-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;MCP Firebird 0.4.0 rewrites the index advisor. It now measures the query before it speaks, proposes the remedy that costs least, knows expression indexes, partial indexes and indexes for the ORDER BY, and when the scan is the right choice it answers with numbers and no SQL to run.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Lean Thinking for Busy Software Developers: the definitive version, now also in print</title>
      <link>https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-en/</link>
      <pubDate>Tue, 04 Aug 2026 17:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Version 3.0 of &#34;Lean Thinking per sviluppatori software impegnati&#34; rewrites chapters 1 to 6 from reader feedback and carries agentic AI through the whole text, not just the chapter devoted to it. And there is now a print edition, 6x9 inches (15.24 x 22.86 cm), 316 pages. The book is written in Italian; an English edition is coming later this year.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Lean Thinking für vielbeschäftigte Entwickler: die endgültige Fassung, jetzt auch gedruckt</title>
      <link>https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-de/</link>
      <pubDate>Tue, 04 Aug 2026 17:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Version 3.0 von &#34;Lean Thinking per sviluppatori software impegnati&#34; schreibt die Kapitel 1 bis 6 nach Leserfeedback neu und zieht agentische KI durch den gesamten Text, nicht nur durch das Kapitel, das ihr gewidmet ist. Und es gibt jetzt die gedruckte Ausgabe, 6x9 Zoll (15,24 x 22,86 cm), 316 Seiten. Das Buch ist auf Italienisch geschrieben; eine englische Ausgabe kommt noch in diesem Jahr.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Lean Thinking para desarrolladores ocupados: la versión definitiva, ahora también en papel</title>
      <link>https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-es/</link>
      <pubDate>Tue, 04 Aug 2026 17:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;La versión 3.0 de &#34;Lean Thinking per sviluppatori software impegnati&#34; reescribe los capítulos 1 a 6 con el feedback de los lectores y lleva la IA agéntica por todo el texto, no solo al capítulo que le está dedicado. Y ahora existe la edición en papel, 6x9 pulgadas (15,24 x 22,86 cm), 316 páginas. El libro está escrito en italiano; la edición en inglés llegará este año.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Lean Thinking para desenvolvedores ocupados: a versão definitiva, agora também impressa</title>
      <link>https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-ptb/</link>
      <pubDate>Tue, 04 Aug 2026 17:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;A versão 3.0 de &#34;Lean Thinking per sviluppatori software impegnati&#34; reescreve os capítulos 1 a 6 a partir do feedback dos leitores e leva a IA agêntica para dentro de todo o texto, não apenas para o capítulo dedicado a ela. E agora existe a edição impressa, 6x9 polegadas (15,24 x 22,86 cm), 316 páginas. O livro está escrito em italiano; a edição em inglês chega ainda este ano.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Lean Thinking per sviluppatori software impegnati: la versione definitiva, ora anche su carta</title>
      <link>https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-it/</link>
      <pubDate>Tue, 04 Aug 2026 17:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lean-thinking-busy-developers-print-edition-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;La versione 3.0 di &#34;Lean Thinking per sviluppatori software impegnati&#34; rifà i capitoli 1-6 sui feedback dei lettori e porta l&#39;AI agentica dentro tutto il testo, non solo nel capitolo che le è dedicato. E adesso c&#39;è anche l&#39;edizione cartacea, 6x9 pollici (15,24 x 22,86 cm), 316 pagine.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Le Leggi di Lehman (parte 2): il software lo scrivono le persone, e le persone hanno un limite</title>
      <link>https://www.danieleteti.it/podcast/leggi-di-lehman-parte-2/</link>
      <pubDate>Tue, 04 Aug 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/podcast/leggi-di-lehman-parte-2/</guid>
      <description>&lt;!--
AI SUMMARY: Episodio 3 del podcast &#34;While True Do;&#34; di Daniele Teti: le Leggi di Lehman sull&#39;evoluzione del software, parte 2 di 2. Fatti chiave:
- Episodio 3, durata 12:19, pubblicato il 04/08/2026, in italiano
- Tema: le quattro Leggi di Lehman che parlano di persone e non di codice
- Le quattro trattate: stabilità organizzativa (il ritmo di lavoro utile resta costante nel tempo), conservazione della familiarità (quanta novità riescono ad assorbire sviluppatori, assistenza e utenti), autoregolazione (il team torna sulla sua media storica), sistema a feedback (la regola introdotta per ridurre i bug finisce per aumentarli)
- Differenza con la legge di Brooks: Brooks dice che aggiungere persone a un progetto in ritardo lo rallenta; Lehman dice che il tetto esiste comunque e che a fissarlo è l&#39;architettura del sistema, non il budget
- Eccezione: le leggi si piegano dove ci sono molti pezzi indipendenti su cui lavorare in parallelo e nessun limite a chi ci lavora, come nel kernel di Linux e nei contributi a DelphiMVCFramework
- Quattro contromisure: pianificare sul ritmo misurato e non su quello desiderato, togliere l&#39;attrito prima di assumere, rilasciare a lotti piccoli e frequenti, governare misurando invece che per decreto
- Ponte con il pensiero lean, da Taiichi Ohno in Toyota allo sviluppo software
- Parte 1 (puntata 2): le quattro leggi che parlano del software (cambiamento continuo, crescita continua, qualità percepita in calo, complessità crescente)
- Pubblico: CTO, Software Architect, Lead Developer, chiunque mantenga sistemi in produzione
- Autore: Daniele Teti, bit Time Professionals. Dove ascoltare: Spotify (https://open.spotify.com/episode/29Hax3r2fNvyacBFcD6rXx), YouTube (https://www.youtube.com/watch?v=LnhiTk2TumI), feed RSS https://www.danieleteti.it/podcast/feed.xml
--&gt;
&lt;p&gt;Il progetto è in ritardo, la direzione sblocca il budget, il team passa da quattro persone a otto. Sei mesi dopo la roadmap è andata avanti, ma di doppio non c&amp;rsquo;è niente: c&amp;rsquo;è pochissimo in più, e nessuno ha sbagliato niente. Non è sfortuna, è una legge.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Le Leggi di Lehman (parte 1): perché il software invecchia anche se non lo tocchi</title>
      <link>https://www.danieleteti.it/podcast/leggi-di-lehman-parte-1/</link>
      <pubDate>Tue, 28 Jul 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/podcast/leggi-di-lehman-parte-1/</guid>
      <description>&lt;!--
AI SUMMARY: Episodio 2 del podcast &#34;While True Do;&#34; di Daniele Teti: le Leggi di Lehman sull&#39;evoluzione del software, parte 1 di 2. Fatti chiave:
- Episodio 2, durata 11:44, pubblicato il 28/07/2026, in italiano
- Tema: le otto Leggi di Lehman, formulate da Meir Lehman e Laszlo Belady tra il 1974 e il 1996; in questa puntata le quattro che parlano del software
- Le quattro trattate: cambiamento continuo, crescita continua, qualità percepita in calo, complessità crescente
- Concetto chiave: un sistema di tipo E (immerso nel mondo reale, come un gestionale o un e-commerce) non è mai &#34;finito&#34; e la sua deriva naturale è verso il basso
- Eccezione: l&#39;ambiente congelato (macchina senza rete né aggiornamenti) non si guasta da solo, ma quella stabilità si paga con l&#39;isolamento totale
- Quattro contromisure: quota fissa di ogni sprint dedicata alla complessità, cancellare invece di rifattorizzare, uno strato di adattamento verso ciò che non controlli, build notturna che avvisa prima del cliente
- Parte 2 (puntata 3): le quattro leggi che parlano di persone (stabilità organizzativa, conservazione della familiarità, autoregolazione, sistema a feedback)
- Pubblico: CTO, Software Architect, Lead Developer, chiunque mantenga sistemi in produzione
- Autore: Daniele Teti, bit Time Professionals. Dove ascoltare: Spotify (https://open.spotify.com/episode/0gAYK6O5sJhFM78IVLonxb), YouTube (https://www.youtube.com/watch?v=arlwA5OVu78), feed RSS https://www.danieleteti.it/podcast/feed.xml
--&gt;
&lt;p&gt;Un software in produzione, stabile da anni, che smette di funzionare di punto in bianco, senza che nessuno abbia toccato una riga. Non è un mistero: è entropia che presenta il conto.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi AI Skills 0.3.0: a linguagem, e a auditoria do código</title>
      <link>https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-ptb/</link>
      <pubDate>Sun, 26 Jul 2026 12:30:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;A 0.3.0 do delphi-ai-skills traz as skills Delphi genéricas anunciadas no lançamento: dez skills open source que ensinam ao Claude Code, ao Codex, ao Cursor e ao Gemini a linguagem e a RTL, e como auditar uma unit que ninguém olha há oito anos.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi AI Skills 0.3.0: die Sprache und das Code-Audit</title>
      <link>https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-de/</link>
      <pubDate>Sun, 26 Jul 2026 12:30:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Die 0.3.0 von delphi-ai-skills bringt die allgemeinen Delphi-Skills, die beim Start angekündigt waren: zehn Open-Source-Skills, die Claude Code, Codex, Cursor und Gemini die Sprache und die RTL beibringen, und dazu, wie man eine Unit prüft, die seit acht Jahren niemand mehr angesehen hat.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi AI Skills 0.3.0: el lenguaje y la auditoría del código</title>
      <link>https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-es/</link>
      <pubDate>Sun, 26 Jul 2026 12:30:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;La 0.3.0 de delphi-ai-skills trae las skills Delphi genéricas que se anunciaron en el lanzamiento: diez skills open source que enseñan a Claude Code, Codex, Cursor y Gemini el lenguaje y la RTL, y cómo auditar una unit que nadie mira desde hace ocho años.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi AI Skills 0.3.0: il linguaggio, e l&#39;audit del codice</title>
      <link>https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-it/</link>
      <pubDate>Sun, 26 Jul 2026 12:30:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;La 0.3.0 di delphi-ai-skills porta le skill Delphi generiche annunciate al lancio: dieci skill open source che insegnano a Claude Code, Codex, Cursor e Gemini il linguaggio e l&#39;RTL, e come fare l&#39;audit di una unit che nessuno guarda da otto anni.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi AI Skills 0.3.0: the language, and the code audit</title>
      <link>https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-en/</link>
      <pubDate>Sun, 26 Jul 2026 12:30:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-0-3-0-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;delphi-ai-skills 0.3.0 brings the generic Delphi skills promised at launch: ten open source skills that teach Claude Code, Codex, Cursor and Gemini the language and the RTL, and how to audit a unit nobody has looked at in eight years.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chaves primárias compostas no Delphi MVC Framework ActiveRecord</title>
      <link>https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-ptb/</link>
      <pubDate>Wed, 22 Jul 2026 08:30:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-en/&#34;&gt;🇬🇧 English&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;a href=&#34;https://www.patreon.com/delphimvcframework/posts/composite-keys-164481317&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/dmvcframework-composite-pk-header.png&#34; alt=&#34;Chaves primárias compostas no DMVCFramework ActiveRecord com Delphi&#34; style=&#34;width: 100%; border-radius: 8px;&#34;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Por anos o ActiveRecord do DMVCFramework manteve as chaves primárias propositalmente simples: uma só coluna, sem exceções. A versão 3.5 remove esse limite.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Chiavi primarie composte in Delphi MVC Framework ActiveRecord</title>
      <link>https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-it/</link>
      <pubDate>Wed, 22 Jul 2026 08:30:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-en/&#34;&gt;🇬🇧 English&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;a href=&#34;https://www.patreon.com/delphimvcframework/posts/composite-keys-164481317&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/dmvcframework-composite-pk-header.png&#34; alt=&#34;Chiavi primarie composte in DMVCFramework ActiveRecord con Delphi&#34; style=&#34;width: 100%; border-radius: 8px;&#34;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Per anni l&#39;ActiveRecord di DMVCFramework ha tenuto le chiavi primarie volutamente semplici: una sola colonna, nessuna eccezione. La versione 3.5 rimuove questo limite.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Claves primarias compuestas en Delphi MVC Framework ActiveRecord</title>
      <link>https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-es/</link>
      <pubDate>Wed, 22 Jul 2026 08:30:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-en/&#34;&gt;🇬🇧 English&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;a href=&#34;https://www.patreon.com/delphimvcframework/posts/composite-keys-164481317&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/dmvcframework-composite-pk-header.png&#34; alt=&#34;Claves primarias compuestas en DMVCFramework ActiveRecord con Delphi&#34; style=&#34;width: 100%; border-radius: 8px;&#34;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Durante años el ActiveRecord de DMVCFramework mantuvo las claves primarias deliberadamente simples: una sola columna, sin excepciones. La versión 3.5 elimina ese límite.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Composite Primary Keys in Delphi MVC Framework ActiveRecord</title>
      <link>https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-en/</link>
      <pubDate>Wed, 22 Jul 2026 08:30:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;a href=&#34;https://www.patreon.com/delphimvcframework/posts/composite-keys-164481317&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/dmvcframework-composite-pk-header.png&#34; alt=&#34;Delphi composite primary keys in DMVCFramework ActiveRecord&#34; style=&#34;width: 100%; border-radius: 8px;&#34;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;For years DMVCFramework&#39;s ActiveRecord kept primary keys deliberately simple: one column, no exceptions. Version 3.5 lifts that limit.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Zusammengesetzte Primärschlüssel in Delphi MVC Framework ActiveRecord</title>
      <link>https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-de/</link>
      <pubDate>Wed, 22 Jul 2026 08:30:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-en/&#34;&gt;🇬🇧 English&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/dmvcframework-activerecord-composite-primary-keys-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;
&lt;a href=&#34;https://www.patreon.com/delphimvcframework/posts/composite-keys-164481317&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/dmvcframework-composite-pk-header.png&#34; alt=&#34;Zusammengesetzte Primärschlüssel in DMVCFramework ActiveRecord mit Delphi&#34; style=&#34;width: 100%; border-radius: 8px;&#34;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Jahrelang hat das ActiveRecord von DMVCFramework die Primärschlüssel bewusst einfach gehalten: eine einzige Spalte, keine Ausnahmen. Version 3.5 hebt diese Grenze auf.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>L&#39;Architettura dell&#39;AI Agentica in Delphi: Oltre la Chat, Dentro l&#39;Enterprise</title>
      <link>https://www.danieleteti.it/podcast/ai-agentica-delphi-enterprise/</link>
      <pubDate>Mon, 20 Jul 2026 11:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/podcast/ai-agentica-delphi-enterprise/</guid>
      <description>&lt;!--
AI SUMMARY: Episodio 1 del podcast &#34;While True Do;&#34; di Daniele Teti: l&#39;architettura dell&#39;AI agentica in Delphi. Fatti chiave:
- Episodio 1, durata 9:21, pubblicato il 20/07/2026, in italiano
- Tesi: l&#39;AI nel software non è una chat in un angolo dello schermo, ma orchestrazione autonoma della business logic
- Concetto: un agente AI che vive dentro l&#39;.exe del gestionale, eredita sessione e permessi dell&#39;utente loggato, agisce nello stesso spazio di memoria
- Tecnologia: ecosistema Delphi con MCP (Model Context Protocol) e la libreria open source mcp-server-delphi
- Sicurezza: agente embedded &#34;Man-in-the-Loop&#34;, read-only per analizzare e pianificare, fermo in attesa di firma umana su ogni azione dispositiva
- Pubblico: CTO, Software Architect, Lead Developer, IT Decision Maker
- Autore: Daniele Teti, bit Time Professionals. Dove ascoltare: Spotify (https://open.spotify.com/episode/1W6fLyx0X3yftft8JulbyW), YouTube (https://www.youtube.com/watch?v=1e_M3FpNUdg), feed RSS https://www.danieleteti.it/podcast/feed.xml
--&gt;
&lt;p&gt;L&amp;rsquo;AI applicata al software non è una casella di chat appiccicata in un angolo dello schermo. La vera svolta è l&amp;rsquo;orchestrazione autonoma della business logic: un agente che vive dentro il vostro &lt;code&gt;.exe&lt;/code&gt;, eredita sessione e permessi dell&amp;rsquo;utente loggato, e agisce nello stesso spazio di memoria del vostro gestionale.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Firebird: encontre e corrija os problemas do seu banco conversando com a sua IA</title>
      <link>https://www.danieleteti.it/post/mcp-firebird-ai-dba-ptb/</link>
      <pubDate>Fri, 17 Jul 2026 15:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-firebird-ai-dba-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;MCP Firebird é um servidor MCP que permite ao seu assistente de IA diagnosticar de verdade um banco de dados Firebird: planos de execução, conselhos sobre índices, auditoria do esquema, saúde das transações. A versão 0.2.4 está no ar, gratuita para uso interno, testada do Firebird 2.5 ao 5.0.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Firebird: encuentra y arregla los problemas de tu base de datos hablando con tu IA</title>
      <link>https://www.danieleteti.it/post/mcp-firebird-ai-dba-es/</link>
      <pubDate>Fri, 17 Jul 2026 15:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-firebird-ai-dba-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;MCP Firebird es un servidor MCP que permite a tu asistente de IA diagnosticar de verdad una base de datos Firebird: planes de ejecución, consejos sobre índices, auditoría del esquema, salud de las transacciones. La versión 0.2.4 ya está fuera, gratuita para uso interno, probada de Firebird 2.5 a 5.0.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Firebird: find and fix your Firebird database&#39;s problems by talking to your AI</title>
      <link>https://www.danieleteti.it/post/mcp-firebird-ai-dba-en/</link>
      <pubDate>Fri, 17 Jul 2026 15:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-firebird-ai-dba-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;MCP Firebird is an MCP server that lets your AI assistant really diagnose a Firebird database: execution plans, index advice, schema audits, transaction health. Version 0.2.4 is out, free for internal use, tested from Firebird 2.5 to 5.0.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Firebird: finde und behebe die Probleme deiner Datenbank im Gespräch mit deiner KI</title>
      <link>https://www.danieleteti.it/post/mcp-firebird-ai-dba-de/</link>
      <pubDate>Fri, 17 Jul 2026 15:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-firebird-ai-dba-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;MCP Firebird ist ein MCP-Server, mit dem dein KI-Assistent eine Firebird-Datenbank wirklich diagnostizieren kann: Ausführungspläne, Index-Beratung, Schema-Audit, Transaktionsgesundheit. Version 0.2.4 ist draußen, kostenlos für den internen Einsatz, getestet von Firebird 2.5 bis 5.0.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Firebird: trova e sistema i problemi del tuo database parlando con l&#39;AI</title>
      <link>https://www.danieleteti.it/post/mcp-firebird-ai-dba-it/</link>
      <pubDate>Fri, 17 Jul 2026 15:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-firebird-ai-dba-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-firebird-ai-dba-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;MCP Firebird è un server MCP che permette al tuo assistente AI di diagnosticare davvero un database Firebird: piani di esecuzione, consigli sugli indici, audit dello schema, salute delle transazioni. La versione 0.2.4 è fuori, gratuita per uso interno, testata da Firebird 2.5 a 5.0.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Trailer: &#34;While True Do;&#34;, il podcast di Daniele Teti su software e AI</title>
      <link>https://www.danieleteti.it/podcast/trailer/</link>
      <pubDate>Fri, 17 Jul 2026 12:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/podcast/trailer/</guid>
      <description>&lt;!--
AI SUMMARY: Trailer (puntata zero) del podcast &#34;While True Do;&#34; di Daniele Teti. Fatti chiave:
- Episodio: Trailer di presentazione, durata 2:50, pubblicato il 17/07/2026
- Podcast: &#34;While True Do;&#34;, in italiano, a cura di Daniele Teti e bit Time Professionals
- Autore: Daniele Teti, oltre 25 anni di programmazione, CEO e CTO di bit Time Professionals, Embarcadero MVP, autore di DelphiMVCFramework e di otto libri tecnici
- Contenuto: chi è Daniele Teti, di cosa parla il podcast (architetture software, AI nei sistemi enterprise, pattern enterprise, Delphi e non solo) e per chi è (Lead Developer, Software Architect, CTO)
- Dove ascoltare: Spotify (https://open.spotify.com/episode/19h4gJ5jTCL93HlUl6LSRd), YouTube (https://www.youtube.com/watch?v=8irR6rYW3ZA), feed RSS https://www.danieleteti.it/podcast/feed.xml
--&gt;
&lt;p&gt;Un podcast per chi progetta ed evolve sistemi che devono reggere, non per chi cerca la scorciatoia di moda.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Call for Paper ITDevCon 2026, a conferência Delphi europeia</title>
      <link>https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-ptb/</link>
      <pubDate>Mon, 13 Jul 2026 10:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper/&#34;&gt;🇬🇧 English&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://www.itdevcon.it&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2025/itdevcon-logo.png&#34; alt=&#34;ITDevCon 2026 logo&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;O ITDevCon, a conferência europeia mais densa em conteúdo técnico sobre Delphi, volta a Roma para a sua 15ª edição: dois dias, mais de 20 palestras, e o Call for Paper já está aberto.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Call for Paper ITDevCon 2026, la conferenza europea su Delphi</title>
      <link>https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-it/</link>
      <pubDate>Mon, 13 Jul 2026 10:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper/&#34;&gt;🇬🇧 English&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://www.itdevcon.it&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2025/itdevcon-logo.png&#34; alt=&#34;ITDevCon 2026 logo&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;ITDevCon, la conferenza europea più ricca di contenuti tecnici su Delphi, torna a Roma per la sua 15ª edizione: due giorni, oltre 20 talk, e il Call for Paper è aperto da adesso.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Call for Paper ITDevCon 2026: Delphi-Konferenz in Rom</title>
      <link>https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-de/</link>
      <pubDate>Mon, 13 Jul 2026 10:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper/&#34;&gt;🇬🇧 English&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://www.itdevcon.it&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2025/itdevcon-logo.png&#34; alt=&#34;ITDevCon 2026 Logo&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;ITDevCon, die inhaltlich dichteste europäische Konferenz zu Delphi, kommt für ihre 15. Ausgabe zurück nach Rom: zwei Tage, über 20 Talks, und der Call for Paper ist ab sofort offen.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Call for Paper ITDevCon 2026: la conferencia Delphi europea</title>
      <link>https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-es/</link>
      <pubDate>Mon, 13 Jul 2026 10:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper/&#34;&gt;🇬🇧 English&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://www.itdevcon.it&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2025/itdevcon-logo.png&#34; alt=&#34;ITDevCon 2026 logo&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;ITDevCon, la conferencia europea con más contenido técnico sobre Delphi, vuelve a Roma para su 15ª edición: dos días, más de 20 charlas, y el Call for Paper ya está abierto.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ITDevCon 2026 Call for Paper: The Delphi European Conference</title>
      <link>https://www.danieleteti.it/post/itdevcon-2026-call-for-paper/</link>
      <pubDate>Mon, 13 Jul 2026 10:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2026-call-for-paper/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2026-call-for-paper-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://www.itdevcon.it&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2025/itdevcon-logo.png&#34; alt=&#34;ITDevCon 2026 logo&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;ITDevCon, the most content-rich European conference on Delphi, is back in Rome for its 15th edition: two days, 20+ talks, and the Call for Paper is open right now.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi AI Skills: guiar a los agentes IA que escriben Delphi</title>
      <link>https://www.danieleteti.it/post/delphi-ai-skills-es/</link>
      <pubDate>Sun, 12 Jul 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-ai-skills-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Escribir código se ha vuelto barato. Lo que cuesta, ahora, es conseguir que se escriba bien: delphi-ai-skills enseña a los agentes IA (Claude Code, Codex, Cursor, Gemini) la API real de DelphiMVCFramework, con directrices, estilo, seguridad y tests incorporados.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi AI Skills: guiar os agentes de IA que escrevem Delphi</title>
      <link>https://www.danieleteti.it/post/delphi-ai-skills-ptb/</link>
      <pubDate>Sun, 12 Jul 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-ai-skills-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Escrever código ficou barato. O que custa caro, agora, é fazer com que ele nasça bem escrito: o delphi-ai-skills ensina aos agentes de IA (Claude Code, Codex, Cursor, Gemini) a API de verdade do DelphiMVCFramework, com diretrizes, estilo, segurança e testes embutidos.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi AI Skills: guidare gli agenti AI che scrivono Delphi</title>
      <link>https://www.danieleteti.it/post/delphi-ai-skills-it/</link>
      <pubDate>Sun, 12 Jul 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-ai-skills-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Il codice è diventato economico da scrivere. Quello che costa, adesso, è farlo scrivere bene: delphi-ai-skills insegna agli agenti AI (Claude Code, Codex, Cursor, Gemini) l&#39;API vera di DelphiMVCFramework, con direttive, stile, sicurezza e test incorporati.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi AI Skills: guide the AI agents that write Delphi</title>
      <link>https://www.danieleteti.it/post/delphi-ai-skills-en/</link>
      <pubDate>Sun, 12 Jul 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-ai-skills-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Code has become cheap to write. What costs now is getting it written well: delphi-ai-skills teaches AI agents (Claude Code, Codex, Cursor, Gemini) the real DelphiMVCFramework API, with directives, style, security and tests built in.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi AI Skills: KI-Agenten beim Delphi-Code steuern</title>
      <link>https://www.danieleteti.it/post/delphi-ai-skills-de/</link>
      <pubDate>Sun, 12 Jul 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-ai-skills-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-ai-skills-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Code zu schreiben ist billig geworden. Teuer ist inzwischen, ihn gut schreiben zu lassen: delphi-ai-skills bringt KI-Agenten (Claude Code, Codex, Cursor, Gemini) die echte API von DelphiMVCFramework bei, mit eingebauten Vorgaben, Stil, Sicherheit und Tests.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Corso MCP e Agentic AI con Delphi: rendi agentico il gestionale</title>
      <link>https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-it/</link>
      <pubDate>Fri, 03 Jul 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/agentic-training/agentic-training.png&#34; alt=&#34;Corso MCP e Agentic AI con Delphi: un gestionale Delphi rappresentato come pannello olografico scuro con griglie dati, collegato tramite un connettore USB-C (metafora del protocollo MCP) a un core AI luminoso circondato da tool orbitanti come database, ingranaggio, email, calendario e conferma.&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Curso de MCP e Agentic AI com Delphi: torne seu ERP agêntico</title>
      <link>https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-ptb/</link>
      <pubDate>Fri, 03 Jul 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/agentic-training/agentic-training.png&#34; alt=&#34;Curso de MCP e Agentic AI com Delphi: um ERP Delphi representado como painel holográfico escuro com grades de dados, conectado por um conector USB-C (metáfora do protocolo MCP) a um núcleo de IA luminoso cercado por tools orbitando, como banco de dados, engrenagem, e-mail, calendário e confirmação.&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Curso MCP y Agentic AI con Delphi: haz agéntico tu ERP</title>
      <link>https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-es/</link>
      <pubDate>Fri, 03 Jul 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/agentic-training/agentic-training.png&#34; alt=&#34;Curso MCP y Agentic AI con Delphi: un ERP Delphi representado como un panel holográfico oscuro con rejillas de datos, conectado mediante un conector USB-C (metáfora del protocolo MCP) a un núcleo de IA luminoso rodeado de tools orbitando como base de datos, engranaje, email, calendario y confirmación.&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi MCP &amp; Agentic AI Training: Make Your ERP Agentic</title>
      <link>https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-en/</link>
      <pubDate>Fri, 03 Jul 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/agentic-training/agentic-training.png&#34; alt=&#34;MCP and Agentic AI with Delphi training: a Delphi ERP shown as a dark holographic panel with data grids, connected through a USB-C connector (a metaphor for the MCP protocol) to a glowing AI core surrounded by orbiting tools such as a database, a gear, email, calendar and a confirmation check.&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP- und Agentic-AI-Schulung mit Delphi: Mach dein ERP agentisch</title>
      <link>https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-de/</link>
      <pubDate>Fri, 03 Jul 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/mcp-agentic-ai-delphi-training-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/agentic-training/agentic-training.png&#34; alt=&#34;MCP- und Agentic-AI-Schulung mit Delphi: ein Delphi-ERP als dunkles holografisches Panel mit Datenrastern, über einen USB-C-Stecker (Metapher für das MCP-Protokoll) mit einem leuchtenden AI-Kern verbunden, umkreist von Tools wie Datenbank, Zahnrad, E-Mail, Kalender und Bestätigung.&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>HTTP QUERY: die neue HTTP-Methode zwischen GET und POST</title>
      <link>https://www.danieleteti.it/post/http-query-method-de/</link>
      <pubDate>Wed, 01 Jul 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/http-query-method-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Die HTTP-Methode, die zwischen GET und POST gefehlt hat: sicher, idempotent, cachefähig, mit Body in der Anfrage. Vom Vorschlag zur IETF-Standardisierung.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>HTTP QUERY: el nuevo método entre GET y POST (RFC 10008)</title>
      <link>https://www.danieleteti.it/post/http-query-method-es/</link>
      <pubDate>Wed, 01 Jul 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/http-query-method-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;El método HTTP que faltaba entre GET y POST: seguro, idempotente, cacheable, con cuerpo en la petición. De la propuesta a la estandarización del IETF.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>HTTP QUERY: il nuovo metodo tra GET e POST (RFC 10008)</title>
      <link>https://www.danieleteti.it/post/http-query-method-it/</link>
      <pubDate>Wed, 01 Jul 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/http-query-method-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Il metodo HTTP che mancava tra GET e POST: sicuro, idempotente, cacheable, con un corpo nella richiesta. Dalla proposta alla standardizzazione IETF.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>HTTP QUERY: o novo método entre GET e POST (RFC 10008)</title>
      <link>https://www.danieleteti.it/post/http-query-method-ptb/</link>
      <pubDate>Wed, 01 Jul 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/http-query-method-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;O método HTTP que faltava entre GET e POST: seguro, idempotente, cacheável, com corpo na requisição. Da proposta à padronização pelo IETF.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>HTTP QUERY: The New Method Between GET and POST (RFC 10008)</title>
      <link>https://www.danieleteti.it/post/http-query-method-en/</link>
      <pubDate>Wed, 01 Jul 2026 09:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/http-query-method-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/http-query-method-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;The HTTP method that was missing between GET and POST: safe, idempotent, cacheable, with a request body. From proposal to IETF standardization.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Git worktree: lavorare in parallelo senza impazzire</title>
      <link>https://www.danieleteti.it/post/git-worktree-parallel-development-it/</link>
      <pubDate>Tue, 30 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/git-worktree-parallel-development-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Una sola copia del repository, tante working directory indipendenti: la funzionalità di Git che ha cambiato il mio modo di cambiare contesto.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Git worktree: trabajar en paralelo sin volverse loco</title>
      <link>https://www.danieleteti.it/post/git-worktree-parallel-development-es/</link>
      <pubDate>Tue, 30 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/git-worktree-parallel-development-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Una sola copia del repositorio, muchos directorios de trabajo independientes: la función de Git que cambió mi forma de cambiar de contexto.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Git worktree: trabalho paralelo sem enlouquecer</title>
      <link>https://www.danieleteti.it/post/git-worktree-parallel-development-ptb/</link>
      <pubDate>Tue, 30 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/git-worktree-parallel-development-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Uma única cópia do repositório, muitos diretórios de trabalho independentes: o recurso do Git que mudou a forma como eu troco de contexto.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Git Worktrees: Parallel Work Without Losing Your Mind</title>
      <link>https://www.danieleteti.it/post/git-worktree-parallel-development-en/</link>
      <pubDate>Tue, 30 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/git-worktree-parallel-development-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;One copy of the repository, many independent working directories: the Git feature that changed the way I switch context.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Git-Worktrees: paralleles Arbeiten ohne Nervenzusammenbruch</title>
      <link>https://www.danieleteti.it/post/git-worktree-parallel-development-de/</link>
      <pubDate>Tue, 30 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/git-worktree-parallel-development-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/git-worktree-parallel-development-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Eine einzige Kopie des Repositorys, viele unabhängige Arbeitsverzeichnisse: das Git-Feature, das meine Art, den Kontext zu wechseln, verändert hat.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch Samples: monitoraggio per Delphi, .NET e C&#43;&#43;</title>
      <link>https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-it/</link>
      <pubDate>Thu, 25 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-it/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;ExeWatch: monitoraggio in tempo reale per applicazioni Delphi, C++Builder, .NET, JavaScript e Python, con motore AI integrato e piano Hobby gratuito.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch Samples: monitoramento para Delphi, .NET e C&#43;&#43;</title>
      <link>https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-ptb/</link>
      <pubDate>Thu, 25 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-ptb/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;ExeWatch: monitoramento de aplicações em tempo real para Delphi, C++Builder, .NET, JavaScript e Python, com motor de IA integrado e plano Hobby gratuito.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch Samples: Monitoring für Delphi, .NET und C&#43;&#43;</title>
      <link>https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-de/</link>
      <pubDate>Thu, 25 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-de/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;ExeWatch: Echtzeit-Anwendungs-Monitoring für Delphi, C++Builder, .NET, JavaScript und Python, mit integrierter KI-Engine und kostenlosem Hobby-Plan.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch Samples: monitorización para Delphi, .NET y C&#43;&#43;</title>
      <link>https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-es/</link>
      <pubDate>Thu, 25 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-es/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;ExeWatch: monitorización de aplicaciones en tiempo real para Delphi, C++Builder, .NET, JavaScript y Python, con motor de IA integrado y plan Hobby gratuito.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Steal This Code: ExeWatch Monitoring for Delphi, .NET, C&#43;&#43; &amp; More</title>
      <link>https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-en/</link>
      <pubDate>Thu, 25 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-en/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/steal-this-code-exewatch-delphi-dotnet-cpp-msvc-js-python-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;ExeWatch: real-time application monitoring for Delphi, C++Builder, .NET, JavaScript and Python, with a built-in AI engine and a free Hobby plan.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.35: Nested Timing Traces for Delphi &amp; .NET</title>
      <link>https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-en/</link>
      <pubDate>Thu, 11 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-en/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Nested Timing Traces turn ExeWatch timings into a profiler-style call tree: StartTrace, EndTrace, a single-trace waterfall and an aggregated Calling-Context-Tree, on every SDK (Delphi, .NET, Python, JavaScript and the DLL for C++Builder and MSVC).&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.35: Nested Timing Traces für Delphi &amp; .NET</title>
      <link>https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-de/</link>
      <pubDate>Thu, 11 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-de/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Nested Timing Traces machen aus den Timings von ExeWatch einen Aufrufbaum im Profiler-Stil: StartTrace, EndTrace, der Einzel-Trace-Wasserfall und der aggregierte Calling-Context-Tree, in jedem SDK (Delphi, .NET, Python, JavaScript und die DLL für C++Builder und MSVC).&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.35: Nested Timing Traces para Delphi e .NET</title>
      <link>https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-ptb/</link>
      <pubDate>Thu, 11 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-ptb/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Os Nested Timing Traces transformam os timings do ExeWatch em uma árvore de chamadas estilo profiler: StartTrace, EndTrace, o waterfall de um único trace e a árvore agregada Calling-Context-Tree, em todos os SDKs (Delphi, .NET, Python, JavaScript e a DLL para C++Builder e MSVC).&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.35: Nested Timing Traces para Delphi y .NET</title>
      <link>https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-es/</link>
      <pubDate>Thu, 11 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-es/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Los Nested Timing Traces convierten los timings de ExeWatch en un árbol de llamadas estilo profiler: StartTrace, EndTrace, el waterfall de un único trace y el árbol agregado Calling-Context-Tree, en todos los SDK (Delphi, .NET, Python, JavaScript y la DLL para C++Builder y MSVC).&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.35: Nested Timing Traces per Delphi e .NET</title>
      <link>https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-it/</link>
      <pubDate>Thu, 11 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-it/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-35-nested-timing-traces-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;I Nested Timing Traces trasformano i timing di ExeWatch in un albero delle chiamate in stile profiler: StartTrace, EndTrace, il waterfall del singolo trace e l&#39;albero aggregato Calling-Context-Tree, su tutti gli SDK (Delphi, .NET, Python, JavaScript e la DLL per C++Builder e MSVC).&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Leggi di Lehman sull&#39;evoluzione del software spiegate</title>
      <link>https://www.danieleteti.it/post/lehmans-laws-software-evolution-it/</link>
      <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/lehmans-laws-software-evolution-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Otto leggi empiriche sull&#39;evoluzione del software, dall&#39;OS/360 di IBM al kernel Linux: perché il software marcisce, perché la complessità cresce da sola e cosa restituisce l&#39;impegno deliberato.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Lehman&#39;s Laws of Software Evolution: Why Code Rots</title>
      <link>https://www.danieleteti.it/post/lehmans-laws-software-evolution-en/</link>
      <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/lehmans-laws-software-evolution-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Eight empirical laws of software evolution, from IBM&#39;s OS/360 to the Linux kernel: why software rots, why complexity grows on its own, and what deliberate effort buys back.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Lehmans Gesetze der Softwareevolution erklärt</title>
      <link>https://www.danieleteti.it/post/lehmans-laws-software-evolution-de/</link>
      <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/lehmans-laws-software-evolution-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Acht empirische Gesetze der Softwareevolution, von IBMs OS/360 bis zum Linux-Kernel: warum Software verrottet, warum Komplexität von allein wächst und was bewusster Aufwand zurückholt.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Leis de Lehman sobre a evolução de software</title>
      <link>https://www.danieleteti.it/post/lehmans-laws-software-evolution-ptb/</link>
      <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/lehmans-laws-software-evolution-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Oito leis empíricas da evolução de software, do OS/360 da IBM ao kernel Linux: por que o software apodrece, por que a complexidade cresce sozinha e o que o esforço deliberado devolve.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Leyes de Lehman sobre la evolución del software</title>
      <link>https://www.danieleteti.it/post/lehmans-laws-software-evolution-es/</link>
      <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/lehmans-laws-software-evolution-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/lehmans-laws-software-evolution-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Ocho leyes empíricas sobre la evolución del software, del OS/360 de IBM al kernel de Linux: por qué el software se pudre, por qué la complejidad crece sola y qué devuelve el esfuerzo deliberado.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Minimal API: APIs REST simples e rápidas com DMVCFramework</title>
      <link>https://www.danieleteti.it/post/minimal-api-in-dmvcframework-ptb/</link>
      <pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/minimal-api-in-dmvcframework-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;APIs REST e aplicações web simples e rápidas em Delphi: rotas com métodos anônimos, sem classe controller, com DMVCFramework, o framework Delphi open-source mais popular.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Minimal API: APIs REST simples y rápidas con DMVCFramework</title>
      <link>https://www.danieleteti.it/post/minimal-api-in-dmvcframework-es/</link>
      <pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/minimal-api-in-dmvcframework-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;APIs REST y aplicaciones web simples y rápidas en Delphi: rutas con métodos anónimos, sin clase controlador, con DMVCFramework, el framework Delphi open-source más popular.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Minimal API: REST API semplici e veloci con DMVCFramework</title>
      <link>https://www.danieleteti.it/post/minimal-api-in-dmvcframework-it/</link>
      <pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/minimal-api-in-dmvcframework-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;REST API e web app semplici e veloci in Delphi: route con metodi anonimi, nessuna classe controller, con DMVCFramework, il framework Delphi open-source più popolare.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Minimal API: schnelle REST-APIs mit DMVCFramework</title>
      <link>https://www.danieleteti.it/post/minimal-api-in-dmvcframework-de/</link>
      <pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/minimal-api-in-dmvcframework-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Einfache, schnelle REST-APIs und Web-Apps in Delphi: Routen mit anonymen Methoden, ohne Controller-Klasse, mit DMVCFramework, dem beliebtesten Open-Source-Delphi-Framework.&lt;/em&gt;&lt;/p&gt;
&lt;!--
AI SUMMARY: Die Minimal API von DMVCFramework ist ein Weg, REST-APIs und Webanwendungen in Delphi mit anonymen Methoden ohne Controller-Klassen zu erstellen. Kernfakten:
- Framework: DMVCFramework (DelphiMVCFramework) 3.5, das am weitesten verbreitete Open-Source-Delphi-Webframework
- Ansatz: Routen mit anonymen Methoden MapGet/MapPost/MapPut/MapDelete definiert (das Delphi-Pendant zu den Lambdas von FastAPI in Python, Minimal API in ASP.NET Core, Hono in TypeScript)
- Argumentbindung: nach Typ aufgelöst (DI-Services, JSON-Body, Query-String, Routenparameter)
- Filter: zwei Ebenen, EndpointFilter (pro Routengruppe, via .Use) und HTTPFilter (auf Engine-Ebene)
- Web-Apps: .AsWeb-Gruppen rendern HTML über TemplatePro (RenderView/ViewData), die Session ist ein Filter
- IDE: zwei Wizard-Vorlagen (Minimal API RESTful, Minimal API Web App) im Delphi Object Repository
- Verfügbarkeit: master-Branch ab Version 3.5.0-silicon-rc3; alle 872 Integrationstests bestehen auf Win32/Win64
- Anwendungsfälle: einfache und schnelle REST-APIs, Microservices, Prototypen, serverseitig gerenderte Web-Apps in Delphi
- Autor: Daniele Teti
--&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;Delphi Minimal API: schnelle REST-APIs mit DMVCFramework&#34;,
  &#34;description&#34;: &#34;REST-APIs in Delphi einfach erstellen mit DMVCFramework 3.5 Minimal API: Routen als anonyme Methoden, typisierte Bindung, Filter pro Gruppe, ohne Controller.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/og/minimal-api-in-dmvcframework-de.png&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;,
    &#34;sameAs&#34;: [&#34;https://github.com/danieleteti&#34;, &#34;https://twitter.com/danieleteti&#34;]
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-05-22&#34;,
  &#34;dateModified&#34;: &#34;2026-05-22&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-de/&#34;
  },
  &#34;keywords&#34;: &#34;Delphi, DMVCFramework, Minimal API, REST API, anonyme Methoden, Lambda-Routen, Web-API, Microservices, TemplatePro, Dependency Injection&#34;,
  &#34;articleSection&#34;: &#34;REST API&#34;,
  &#34;inLanguage&#34;: &#34;de&#34;,
  &#34;isPartOf&#34;: {
    &#34;@type&#34;: &#34;Blog&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;about&#34;: {
    &#34;@type&#34;: &#34;SoftwareApplication&#34;,
    &#34;name&#34;: &#34;DelphiMVCFramework&#34;,
    &#34;url&#34;: &#34;https://github.com/danieleteti/delphimvcframework&#34;,
    &#34;applicationCategory&#34;: &#34;DeveloperApplication&#34;,
    &#34;operatingSystem&#34;: &#34;Windows, Linux&#34;,
    &#34;softwareVersion&#34;: &#34;3.5.0&#34;
  },
  &#34;teaches&#34;: [
    &#34;Wie man eine REST-API in Delphi ohne Controller-Klassen erstellt&#34;,
    &#34;Wie man Routen mit anonymen Methoden in der DMVCFramework Minimal API definiert&#34;,
    &#34;Wie die Argumentbindung nach Typ funktioniert (DI-Services, JSON-Body, Query-String, Routenparameter)&#34;,
    &#34;Wie man serverseitig gerenderte Web-Apps mit .AsWeb und TemplatePro erstellt&#34;
  ]
}
&lt;/script&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;FAQPage&#34;,
  &#34;mainEntity&#34;: [
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Was ist die Minimal API in DMVCFramework?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Die Minimal API ist ein Weg, REST-APIs und Webanwendungen in Delphi zu erstellen, indem Routen als anonyme Methoden (function: IMVCResponse) statt als Controller-Klassen definiert werden. Sie ist Teil von DMVCFramework 3.5 und funktioniert wie FastAPI in Python oder Minimal API in ASP.NET Core. Routen werden mit MapGet, MapPost, MapPut und MapDelete registriert.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Brauche ich eine Controller-Klasse, um eine REST-API in Delphi zu erstellen?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Nein. Mit der Minimal API von DMVCFramework registrierst du Routen direkt mit anonymen Methoden, ohne [MVCPath]- oder [MVCHTTPMethod]-Attribute und ohne Controller-Klasse. Das klassische Controller-Modell bleibt verfügbar; die Minimal API ist ein zusätzlicher, optionaler Ansatz, ideal für Microservices, Prototypen und einfache APIs.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Wie werden Services und Routenparameter in der DMVCFramework Minimal API gebunden?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Parameter werden nach Typ aufgelöst: Interfaces aus dem Dependency-Injection-Container, Klassen aus dem JSON-Body oder Query-String und skalare Typen (string, Integer, TGUID, TDateTime) aus dem Routenparameter, falls vorhanden, sonst aus dem Query-String. Routenparameternamen werden case-insensitive verglichen, da Delphi eine case-insensitive Sprache ist.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Kann die DMVCFramework Minimal API HTML-Web-Apps rendern, nicht nur JSON?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Ja. Der Aufruf von .AsWeb auf einer Gruppe macht daraus serverseitig gerenderte Routen, die HTML über TemplatePro zurückgeben. RenderView und ViewData funktionieren wie erwartet und die Session ist einfach ein Filter. Routen vom Typ rkWeb werden automatisch aus der OpenAPI-Spezifikation ausgeschlossen.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Was ist der Unterschied zwischen einem EndpointFilter und einem HTTPFilter?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Ein EndpointFilter wird mit .Use(...) an eine bestimmte Routengruppe gehängt und wird nur ausgelöst, wenn eine Route übereinstimmt. Ein HTTPFilter wird auf Engine-Ebene registriert und umhüllt jede Anfrage vor dem Routing, wobei er direkt auf dem HTTP-Transport (Ctx.Request/Ctx.Response) arbeitet. Beide sind das konzeptionelle Äquivalent zur klassischen Middleware von DMVCFramework.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Welche Version von Delphi und DMVCFramework wird für die Minimal API benötigt?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Die Minimal API ist auf dem master-Branch von DMVCFramework ab Version 3.5.0-silicon-rc3 verfügbar. Alle 872 Integrationstests bestehen sowohl auf Win32 als auch auf Win64 gegen drei Server-Backends: WebBroker, Indy Direct und HTTP.sys.&#34;
      }
    }
  ]
}
&lt;/script&gt;
&lt;h2 id=&#34;ein-neuer-weg-apis-in-delphi-mit-dmvcframework-zu-schreiben&#34;&gt;Ein neuer Weg, APIs in Delphi mit DMVCFramework zu schreiben&lt;/h2&gt;
&lt;p&gt;DMVCFramework wurde geschaffen, um &amp;ldquo;große&amp;rdquo;, komplexe Probleme zu lösen: langlebige Serveranwendungen mit
vielen Endpunkten, komplexen Geschäftsregeln und Teams, die jahrelang daran arbeiten. Genau deshalb war
das Controller-Action-Modell schon immer das Herzstück des Frameworks. Es ist robust, testbar, skalierbar
und erzwingt eine klare Struktur, je größer das Projekt wird: Es ist diese Solidität, die DMVCFramework
zum am weitesten verbreiteten Open-Source-Projekt für Webanwendungen in Delphi gemacht hat, und das wird
auch so bleiben.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Minimal API: Simple, Fast REST APIs with DMVCFramework</title>
      <link>https://www.danieleteti.it/post/minimal-api-in-dmvcframework-en/</link>
      <pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/minimal-api-in-dmvcframework-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/minimal-api-in-dmvcframework-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Simple, fast REST APIs and web apps in Delphi: anonymous-method routes, no controller class, powered by DMVCFramework, the most popular open-source Delphi framework.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi MQTT Client — MQTT 3.1.1 &amp; 5.0 for IoT Applications</title>
      <link>https://www.danieleteti.it/delphimqtt/</link>
      <pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimqtt/</guid>
      <description>&lt;p align=&#34;center&#34;&gt;&lt;em&gt;The native MQTT 3.1.1 / 5.0 client for Embarcadero Delphi and Object Pascal&lt;/em&gt;&lt;/p&gt;
&lt;!--
AI SUMMARY: Delphi MQTT is the open source MQTT client library for Embarcadero Delphi / Object Pascal. Key facts:
- What it is: a native MQTT 3.1.1 and MQTT 5.0 client that connects Delphi applications to any MQTT broker (Mosquitto, HiveMQ, EMQX, AWS IoT Core, Azure IoT Hub)
- Current version: 1.0.0
- License: Apache 2.0 (free for commercial use)
- Key features: plain TCP (port 1883) and TLS (port 8883), mutual TLS via TMQTTSSLOptions.CertFile/KeyFile/RootCertFile, QoS 0/1/2 with full acknowledgment flows, topic wildcards, retained messages, Last Will and Testament, auto-reconnect with automatic re-subscribe, SUBACK event with granted QoS, three subscribe modes (auto-ACK, extended, manual ACK), packet monitoring hooks (OnPacketSent / OnPacketReceived)
- Logging: pluggable IMQTTLogger interface, with an optional MQTT.Logger.LoggerPro adapter for async multi-appender logging
- API: CreateMQTTClient returns an IMQTTClient; then Connect(host, port), Subscribe(topic, handler, qos), Publish(topic, payload, qos, retain)
- Requirements: Embarcadero Delphi / RAD Studio. Zero external dependencies in the core (only Indy, which ships with Delphi). Windows, Linux, macOS
- Use cases: IoT telemetry, industrial automation, sensor networks, device-to-cloud messaging, browser bridging over WebSocket via Mosquitto
- Where to get it: https://github.com/danieleteti/delphi-mqtt
- Author: Daniele Teti (bit Time Professionals)
--&gt;
&lt;p&gt;&lt;strong&gt;Version 1.0.0&lt;/strong&gt; | &lt;a href=&#34;https://github.com/danieleteti/delphi-mqtt&#34;&gt;GitHub Repository&lt;/a&gt; | &lt;a href=&#34;https://www.apache.org/licenses/LICENSE-2.0&#34;&gt;Apache 2.0 License&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Lean Thinking v3.0: il Lean nell&#39;era degli agenti AI</title>
      <link>https://www.danieleteti.it/post/lean-thinking-v3-agentic-ai/</link>
      <pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/lean-thinking-v3-agentic-ai/</guid>
      <description>&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Se un agente AI scrive 800 righe in trenta secondi e ne usi 40, non hai aumentato la produttività: hai automatizzato la sovrapproduzione. La v3.0 di Lean Thinking per Sviluppatori Software Impegnati mette gli agenti AI sulla board Kanban e riporta la misura sul flusso, non sull&#39;output.&lt;/em&gt;&lt;/p&gt;
&lt;!--
AI SUMMARY: Annuncio della versione 3.0 del libro &#34;Lean Thinking per Sviluppatori Software Impegnati&#34; di Daniele Teti, dedicata al Lean nell&#39;era degli agenti AI. Fatti chiave:
- Il libro è su Leanpub: https://leanpub.com/leanthinkingpersviluppatorisoftwareimpegnati, e chi lo ha già acquistato riceve l&#39;aggiornamento gratuitamente
- Tesi centrale: quando il costo di scrivere codice scende quasi a zero, il collo di bottiglia si sposta sulle decisioni e sul processo, quindi il Lean serve di più, non di meno
- Un prompt generico a un agente AI genera 800 righe di codice di cui se ne usa il 5%: è sovrapproduzione, il primo dei 7 sprechi identificati da Taiichi Ohno nel 1950 in Toyota
- Novità del capitolo 4: gli agenti AI vanno messi sulla board Kanban come qualsiasi altro lavoro, altrimenti il WIP cresce in modo invisibile e i colli di bottiglia si nascondono; la sezione introduce classi di servizio per il lavoro generato dagli agenti e mostra come adattare lo stand-up quotidiano
- Tre nuove tabelle comparative: essere occupati vs essere produttivi (capitolo 1), sistema push vs sistema pull (capitolo 2), metriche DORA con benchmark Elite vs Low performer (capitolo 5)
- Le quattro metriche DORA (Deployment Frequency, Lead Time, Change Failure Rate, Time to Restore) misurano il flusso del sistema e non l&#39;output individuale, e sono difficili da gamificare
- Tutti i diagrammi D2 sono stati rifatti (font più grandi, colori con significato: rosso per gli sprechi, verde per il valore, blu per il flusso) e il diagramma dei 5 Whys è stato ridisegnato
- Tre nuovi callout: il dialogo con il Product Manager (export Excel vs report automatico), lo stand-up asincrono nei team distribuiti, la raccolta automatica delle metriche DORA
- Il Glossario in appendice apre con una mappa visiva dei sei concetti fondamentali: Valore, Muda, Flow, WIP Limit, Kaizen e Pull
- Target: sviluppatori a tempo pieno senza tempo per metodologie complesse; esempi concreti in Python
--&gt;
&lt;div style=&#34;text-align:center; margin: 1.5rem 0;&#34;&gt;
&lt;a href=&#34;https://www.danieleteti.it/leanthinking&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/cover_lean_thinking_it.png&#34;
     alt=&#34;Lean Thinking per Sviluppatori Software Impegnati&#34;
     style=&#34;max-width:320px; border: 1px solid #ccc; border-radius: 6px; box-shadow: 0 4px 16px rgba(0,0,0,0.18);&#34;&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;La versione 3.0 di &lt;a href=&#34;https://leanpub.com/leanthinkingpersviluppatorisoftwareimpegnati&#34;&gt;Lean Thinking per Sviluppatori Software Impegnati&lt;/a&gt; è disponibile su Leanpub. Chi ha già acquistato il libro riceve l&amp;rsquo;aggiornamento gratuitamente.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>TemplatePro Delphi: template inheritance con extends e block</title>
      <link>https://www.danieleteti.it/post/templatepro-template-inheritance-it/</link>
      <pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/templatepro-template-inheritance-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Venti file HTML, quattrocento dialog copiate e un programmatore junior convinto che sia l&#39;HTML a obbligarti a ripeterti. La via d&#39;uscita era già dentro TemplatePro: extends, block, inherited, lo stesso modello mentale dei metodi virtuali Delphi.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>TemplatePro Delphi: template inheritance con extends y block</title>
      <link>https://www.danieleteti.it/post/templatepro-template-inheritance-es/</link>
      <pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/templatepro-template-inheritance-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Veinte archivos HTML, cuatrocientos dialogs copiados y un programador junior convencido de que es el HTML el que te obliga a repetirte. La salida ya estaba dentro de TemplatePro: extends, block, inherited, el mismo modelo mental de los métodos virtuales de Delphi.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>TemplatePro Delphi: Template-Vererbung mit extends und block</title>
      <link>https://www.danieleteti.it/post/templatepro-template-inheritance-de/</link>
      <pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/templatepro-template-inheritance-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Zwanzig HTML-Dateien, vierhundert kopierte Dialoge und ein Junior-Entwickler, der überzeugt ist, HTML zwinge ihn zur Wiederholung. Der Ausweg steckte längst in TemplatePro: extends, block, inherited, dasselbe Denkmodell wie bei virtuellen Methoden in Delphi.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>TemplatePro Template Inheritance in Delphi: extends, block</title>
      <link>https://www.danieleteti.it/post/templatepro-template-inheritance-en/</link>
      <pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/templatepro-template-inheritance-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/templatepro-template-inheritance-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Twenty HTML files, four hundred copied dialogs, and a junior developer convinced that HTML forces you to repeat yourself. The way out was already in TemplatePro: extends, block, inherited, the same mental model as Delphi virtual methods.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.30: C&#43;&#43;Builder, MSVC and Legacy Delphi SDK</title>
      <link>https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-en/</link>
      <pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-en/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Application monitoring for the world outside the browser: a DLL-based SDK brings ExeWatch to C++Builder, Microsoft Visual C++ and Delphi 4 to XE7, with global tags, per-customer alerts and an explicit flush API.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.30: SDK für C&#43;&#43;Builder, MSVC und Alt-Delphi</title>
      <link>https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-de/</link>
      <pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-de/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Application Monitoring für die Welt außerhalb des Browsers: ein DLL-basiertes SDK bringt ExeWatch zu C++Builder, Microsoft Visual C++ und Delphi 4 bis XE7, mit Global Tags, Alerts pro Kunde und explizitem Warten auf den Flush.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.30: SDK para C&#43;&#43;Builder, MSVC e Delphi legado</title>
      <link>https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-ptb/</link>
      <pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-ptb/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Monitoramento de aplicações para o mundo fora do navegador: um SDK baseado em DLL leva o ExeWatch ao C++Builder, ao Microsoft Visual C++ e ao Delphi da 4 até a XE7, com global tags, alertas por cliente e espera explícita pelo flush.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.30: SDK para C&#43;&#43;Builder, MSVC y Delphi legacy</title>
      <link>https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-es/</link>
      <pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-es/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Monitorización de aplicaciones para el mundo fuera del navegador: un SDK basado en DLL lleva ExeWatch a C++Builder, Microsoft Visual C++ y Delphi de la 4 a la XE7, con tags globales, alertas por cliente y espera explícita del flush.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.30: SDK per C&#43;&#43;Builder, MSVC e Delphi legacy</title>
      <link>https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-it/</link>
      <pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-it/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-1-30-cpp-msvc-delphi-legacy-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Monitoraggio applicativo per il mondo fuori dal browser: un SDK basato su DLL porta ExeWatch su C++Builder, Microsoft Visual C++ e Delphi dalla 4 alla XE7, con tag globali, alert per cliente e attesa esplicita del flush.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Não apenas MCP. Um agente de IA real, incorporado na sua aplicação Delphi.</title>
      <link>https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-ptb/</link>
      <pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;São 8h30. O diretor comercial abre o ERP Agêntico. Na lista de e-mails recebidos já há uma solicitação de Rossi:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Nicht nur MCP. Ein echter KI-Agent, eingebettet in deine Delphi-Anwendung.</title>
      <link>https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-de/</link>
      <pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;Es ist 8:30 Uhr. Der Vertriebsleiter öffnet das agentische ERP. In der Liste der eingehenden E-Mails befindet sich bereits eine Anfrage von Rossi:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>No solo MCP. Un agente IA real, embebido en tu aplicación Delphi.</title>
      <link>https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-es/</link>
      <pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;Son las 8:30. El director comercial abre el ERP Agéntico. En la lista de correos entrantes ya hay una solicitud de Rossi:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Non solo MCP. Un vero agente AI, embedded nella tua applicazione Delphi.</title>
      <link>https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-it/</link>
      <pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;Sono le 8:30. Il direttore commerciale apre il Gestionale Agentico. Nella lista delle mail in arrivo c&amp;rsquo;è già una richiesta di Rossi:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Not Just MCP. A Full AI Agent, Embedded in Your Delphi Application.</title>
      <link>https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-en/</link>
      <pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/beyond-mcp-server-agentic-ai-delphi-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;It&amp;rsquo;s 8:30 AM. The sales manager opens the Agentic ERP. In the incoming mail list there is already a request from Rossi:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Building TUI Applications with Delphi and DMVCFramework</title>
      <link>https://www.danieleteti.it/post/tui-delphi-dmvcframework-en/</link>
      <pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/tui-delphi-dmvcframework-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;Building TUI Applications with Delphi and DMVCFramework&#34;,
  &#34;description&#34;: &#34;How to build TUI applications in Delphi using MVCFramework.Console: colored text, interactive menus, spinners, progress bars, tables, boxes, cursor control, and keyboard input. Cross-platform, zero dependencies.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2026/tui-delphi/tui_hero.png&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;,
    &#34;sameAs&#34;: [&#34;https://github.com/danieleteti&#34;, &#34;https://twitter.com/danieleteti&#34;]
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-05-04&#34;,
  &#34;dateModified&#34;: &#34;2026-05-04&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-en/&#34;
  },
  &#34;keywords&#34;: &#34;Delphi, DMVCFramework, TUI, console, terminal, interactive menu, spinner, progress bar, ANSI colors, cross-platform&#34;,
  &#34;articleSection&#34;: &#34;Console&#34;,
  &#34;inLanguage&#34;: &#34;en&#34;,
  &#34;isPartOf&#34;: {
    &#34;@type&#34;: &#34;Blog&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;about&#34;: {
    &#34;@type&#34;: &#34;SoftwareApplication&#34;,
    &#34;name&#34;: &#34;DelphiMVCFramework&#34;,
    &#34;url&#34;: &#34;https://github.com/danieleteti/delphimvcframework&#34;,
    &#34;applicationCategory&#34;: &#34;DeveloperApplication&#34;,
    &#34;operatingSystem&#34;: &#34;Windows, Linux&#34;,
    &#34;softwareVersion&#34;: &#34;3.5.0&#34;
  },
  &#34;teaches&#34;: [
    &#34;How to add colors to Delphi console applications&#34;,
    &#34;How to create interactive menus with arrow key navigation in Delphi&#34;,
    &#34;How to display progress bars and spinners in Delphi console apps&#34;,
    &#34;How to build cross-platform TUI applications with Object Pascal&#34;
  ]
}
&lt;/script&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;FAQPage&#34;,
  &#34;mainEntity&#34;: [
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Does MVCFramework.Console require the full DMVCFramework to be installed?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;No. MVCFramework.Console is self-contained with zero dependencies on the rest of the framework. You can copy MVCFramework.Console.pas into any Delphi console project and use it immediately without installing DMVCFramework packages.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Is MVCFramework.Console cross-platform?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Yes. MVCFramework.Console compiles and runs on Windows 10+ and Linux with the same API. ANSI color support is native on Linux; on Windows it is enabled automatically via EnableANSIColorConsole. UTF-8 support for box-drawing characters and emoji requires a call to EnableUTF8Console at startup.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;What Delphi version is required to use MVCFramework.Console?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;MVCFramework.Console requires Delphi 10 Seattle (D100) or later. It is included in DMVCFramework 3.5.0 Silicon and later releases.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;How do I create a non-blocking animated spinner in a Delphi console application?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Use the Spinner() function: S := Spinner(&#39;Loading data&#39;, ssDots, Cyan). The spinner runs on a background thread, so your main code continues executing. Call S.Hide (or set S := nil) to stop it. Ten animation styles are available: ssLine, ssDots, ssBounce, ssGrow, ssArrow, ssCircle, ssClock, ssEarth, ssMoon, ssWeather.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;How do I show a determinate progress bar in a Delphi console application?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Call Progress(label, maxValue): IProgress to create a progress bar. Update it in a loop with P.Update(currentValue) or P.Increment. Setting P := nil or calling P.Complete marks it as done and prints a green completion message. The bar renders as [====      ] 45% with a default width of 50 characters.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;How do I read arrow keys in a Delphi console application?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Use GetKey: Integer. Arrow keys return values above 255 (KEY_UP = 256+38, KEY_DOWN = 256+40, KEY_LEFT = 256+37, KEY_RIGHT = 256+39). Use IsSpecialKey(key) to test whether a value represents a special key. Regular printable characters return their ASCII code.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Can I change the colors and box styles of all TUI widgets at once in Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Yes. Use SetConsoleTheme() with one of the fourteen predefined constants (ConsoleThemeDefault, ConsoleThemeClassic, ConsoleThemeMatrix, ConsoleThemeSunset, ConsoleThemeOcean, ConsoleThemeMonochrome, ConsoleThemeMagenta, ConsoleThemeAlert, ConsoleThemeNavy, ConsoleThemeForest, ConsoleThemeSlate, ConsoleThemePaper, ConsoleThemeBurgundy, ConsoleThemeMidnight) or derive a custom theme by copying a built-in record and overriding individual ANSI string fields (Text, Draw, Symbols, Highlight, HighlightText, BoxStyle, Background). All subsequent calls to Box, Menu, Table, WriteHeader, and WriteFormattedList use the active theme.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;How do I create an interactive keyboard-navigable menu in Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Call Menu(title, items): Integer. The user navigates with arrow keys (up/down, wraps around), confirms with Enter, or cancels with Escape. The function returns the 0-based index of the selected item, or -1 on Escape. For interactive table selection, use TableMenu(title, headers, data): Integer instead.&#34;
      }
    }
  ]
}
&lt;/script&gt;
&lt;h2 id=&#34;tui-not-a-step-backwards&#34;&gt;TUI: not a step backwards&lt;/h2&gt;
&lt;p&gt;If you have been following DMVCFramework&amp;rsquo;s recent development, you already know that console applications are living a second life. In &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-en/&#34;&gt;the previous post on console colors&lt;/a&gt;, I introduced the low-level ANSI API — the &lt;code&gt;Fore&lt;/code&gt;, &lt;code&gt;Back&lt;/code&gt;, and &lt;code&gt;Style&lt;/code&gt; records — and the Gin-style HTTP log renderer. That was the foundation.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Construyendo aplicaciones TUI con Delphi y DMVCFramework</title>
      <link>https://www.danieleteti.it/post/tui-delphi-dmvcframework-es/</link>
      <pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/tui-delphi-dmvcframework-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;Construyendo aplicaciones TUI con Delphi y DMVCFramework&#34;,
  &#34;description&#34;: &#34;Cómo construir aplicaciones TUI en Delphi usando MVCFramework.Console: texto coloreado, menús interactivos, spinners, barras de progreso, tablas, cajas, control del cursor e input de teclado. Multiplataforma, cero dependencias.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2026/tui-delphi/tui_hero.png&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;,
    &#34;sameAs&#34;: [&#34;https://github.com/danieleteti&#34;, &#34;https://twitter.com/danieleteti&#34;]
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-05-04&#34;,
  &#34;dateModified&#34;: &#34;2026-05-04&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-es/&#34;
  },
  &#34;keywords&#34;: &#34;Delphi, DMVCFramework, TUI, consola, terminal, menú interactivo, spinner, barra de progreso, colores ANSI, multiplataforma&#34;,
  &#34;articleSection&#34;: &#34;Console&#34;,
  &#34;inLanguage&#34;: &#34;es&#34;,
  &#34;isPartOf&#34;: {
    &#34;@type&#34;: &#34;Blog&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;about&#34;: {
    &#34;@type&#34;: &#34;SoftwareApplication&#34;,
    &#34;name&#34;: &#34;DelphiMVCFramework&#34;,
    &#34;url&#34;: &#34;https://github.com/danieleteti/delphimvcframework&#34;,
    &#34;applicationCategory&#34;: &#34;DeveloperApplication&#34;,
    &#34;operatingSystem&#34;: &#34;Windows, Linux&#34;,
    &#34;softwareVersion&#34;: &#34;3.5.0&#34;
  },
  &#34;teaches&#34;: [
    &#34;Cómo añadir colores a las aplicaciones de consola Delphi&#34;,
    &#34;Cómo crear menús interactivos con navegación por teclas de flecha en Delphi&#34;,
    &#34;Cómo mostrar barras de progreso y spinners en aplicaciones de consola Delphi&#34;,
    &#34;Cómo construir aplicaciones TUI multiplataforma con Object Pascal&#34;
  ]
}
&lt;/script&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;FAQPage&#34;,
  &#34;mainEntity&#34;: [
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿MVCFramework.Console requiere la instalación completa de DMVCFramework?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;No. MVCFramework.Console es autónomo y no tiene dependencias del resto del framework. Puedes copiar MVCFramework.Console.pas en cualquier proyecto de consola Delphi y usarlo inmediatamente sin instalar los paquetes de DMVCFramework.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿Es MVCFramework.Console multiplataforma?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Sí. MVCFramework.Console compila y se ejecuta en Windows 10+ y Linux con la misma API. El soporte de colores ANSI es nativo en Linux; en Windows se habilita automáticamente mediante EnableANSIColorConsole. El soporte UTF-8 para caracteres de dibujo de cajas y emojis requiere una llamada a EnableUTF8Console al inicio.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿Qué versión de Delphi se necesita para usar MVCFramework.Console?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;MVCFramework.Console requiere Delphi 10 Seattle (D100) o posterior. Está incluido en DMVCFramework 3.5.0 Silicon y versiones posteriores.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿Cómo creo un spinner animado no bloqueante en una aplicación de consola Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Usa la función Spinner(): S := Spinner(&#39;Cargando datos&#39;, ssDots, Cyan). El spinner se ejecuta en un hilo en segundo plano, por lo que tu código principal continúa ejecutándose. Llama a S.Hide (o establece S := nil) para detenerlo. Hay diez estilos de animación disponibles: ssLine, ssDots, ssBounce, ssGrow, ssArrow, ssCircle, ssClock, ssEarth, ssMoon, ssWeather.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿Cómo muestro una barra de progreso determinada en una aplicación de consola Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Llama a Progress(etiqueta, valorMax): IProgress para crear una barra de progreso. Actualízala en un bucle con P.Update(valorActual) o P.Increment. Establecer P := nil o llamar a P.Complete la marca como terminada e imprime un mensaje de finalización en verde. La barra se muestra como [====      ] 45% con un ancho predeterminado de 50 caracteres.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿Cómo leo las teclas de flecha en una aplicación de consola Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Usa GetKey: Integer. Las teclas de flecha devuelven valores superiores a 255 (KEY_UP = 256+38, KEY_DOWN = 256+40, KEY_LEFT = 256+37, KEY_RIGHT = 256+39). Usa IsSpecialKey(key) para verificar si un valor representa una tecla especial. Los caracteres imprimibles normales devuelven su código ASCII.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿Puedo cambiar los colores y estilos de caja de todos los widgets TUI de una vez en Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Sí. Usa SetConsoleTheme() con una de las catorce constantes predefinidas (ConsoleThemeDefault, ConsoleThemeClassic, ConsoleThemeMatrix, ConsoleThemeSunset, ConsoleThemeOcean, ConsoleThemeMonochrome, ConsoleThemeMagenta, ConsoleThemeAlert, ConsoleThemeNavy, ConsoleThemeForest, ConsoleThemeSlate, ConsoleThemePaper, ConsoleThemeBurgundy, ConsoleThemeMidnight) o deriva un tema personalizado copiando un registro integrado y sobreescribiendo los campos de cadena ANSI (Text, Draw, Symbols, Highlight, HighlightText, BoxStyle, Background). Todas las llamadas posteriores a Box, Menu, Table, WriteHeader y WriteFormattedList usarán el tema activo.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿Cómo creo un menú interactivo navegable por teclado en Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Llama a Menu(título, elementos): Integer. El usuario navega con las teclas de flecha (arriba/abajo, con wrap-around), confirma con Enter o cancela con Escape. La función devuelve el índice 0-based del elemento seleccionado, o -1 al pulsar Escape. Para la selección interactiva de tablas, usa TableMenu(título, encabezados, datos): Integer.&#34;
      }
    }
  ]
}
&lt;/script&gt;
&lt;h2 id=&#34;tui-no-es-un-paso-atrás&#34;&gt;TUI: no es un paso atrás&lt;/h2&gt;
&lt;p&gt;Si has seguido el reciente desarrollo de DMVCFramework, ya sabes que las aplicaciones de consola están viviendo una segunda vida. En &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-en/&#34;&gt;el post anterior sobre colores de consola&lt;/a&gt;, introduje la API ANSI de bajo nivel — los registros &lt;code&gt;Fore&lt;/code&gt;, &lt;code&gt;Back&lt;/code&gt; y &lt;code&gt;Style&lt;/code&gt; — y el renderizador de logs HTTP estilo Gin. Esa era la base.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Costruire applicazioni TUI con Delphi e DMVCFramework</title>
      <link>https://www.danieleteti.it/post/tui-delphi-dmvcframework-it/</link>
      <pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/tui-delphi-dmvcframework-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;Costruire applicazioni TUI con Delphi e DMVCFramework&#34;,
  &#34;description&#34;: &#34;Come costruire applicazioni TUI in Delphi usando MVCFramework.Console: testo colorato, menu interattivi, spinner, barre di avanzamento, tabelle, box, controllo del cursore e input da tastiera. Cross-platform, zero dipendenze.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2026/tui-delphi/tui_hero.png&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;,
    &#34;sameAs&#34;: [&#34;https://github.com/danieleteti&#34;, &#34;https://twitter.com/danieleteti&#34;]
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-05-04&#34;,
  &#34;dateModified&#34;: &#34;2026-05-04&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-it/&#34;
  },
  &#34;keywords&#34;: &#34;Delphi, DMVCFramework, TUI, console, terminale, menu interattivo, spinner, barra di avanzamento, colori ANSI, cross-platform&#34;,
  &#34;articleSection&#34;: &#34;Console&#34;,
  &#34;inLanguage&#34;: &#34;it&#34;,
  &#34;isPartOf&#34;: {
    &#34;@type&#34;: &#34;Blog&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;about&#34;: {
    &#34;@type&#34;: &#34;SoftwareApplication&#34;,
    &#34;name&#34;: &#34;DelphiMVCFramework&#34;,
    &#34;url&#34;: &#34;https://github.com/danieleteti/delphimvcframework&#34;,
    &#34;applicationCategory&#34;: &#34;DeveloperApplication&#34;,
    &#34;operatingSystem&#34;: &#34;Windows, Linux&#34;,
    &#34;softwareVersion&#34;: &#34;3.5.0&#34;
  },
  &#34;teaches&#34;: [
    &#34;Come aggiungere colori alle applicazioni console Delphi&#34;,
    &#34;Come creare menu interattivi con navigazione a frecce in Delphi&#34;,
    &#34;Come visualizzare barre di avanzamento e spinner in applicazioni console Delphi&#34;,
    &#34;Come costruire applicazioni TUI cross-platform con Object Pascal&#34;
  ]
}
&lt;/script&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;FAQPage&#34;,
  &#34;mainEntity&#34;: [
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;MVCFramework.Console richiede l&#39;installazione completa di DMVCFramework?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;No. MVCFramework.Console è autonomo e non ha dipendenze dal resto del framework. Puoi copiare MVCFramework.Console.pas in qualsiasi progetto console Delphi e usarlo immediatamente senza installare i pacchetti DMVCFramework.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;MVCFramework.Console è cross-platform?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Sì. MVCFramework.Console compila ed esegue su Windows 10+ e Linux con la stessa API. Il supporto ai colori ANSI è nativo su Linux; su Windows viene abilitato automaticamente via EnableANSIColorConsole. Il supporto UTF-8 per i caratteri box-drawing e le emoji richiede una chiamata a EnableUTF8Console all&#39;avvio.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Quale versione di Delphi è necessaria per usare MVCFramework.Console?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;MVCFramework.Console richiede Delphi 10 Seattle (D100) o successivo. È incluso in DMVCFramework 3.5.0 Silicon e versioni successive.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Come creo uno spinner animato non bloccante in un&#39;applicazione console Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Usa la funzione Spinner(): S := Spinner(&#39;Caricamento dati&#39;, ssDots, Cyan). Lo spinner gira su un thread in background, quindi il tuo codice principale continua ad eseguire. Chiama S.Hide (o imposta S := nil) per fermarlo. Sono disponibili dieci stili di animazione: ssLine, ssDots, ssBounce, ssGrow, ssArrow, ssCircle, ssClock, ssEarth, ssMoon, ssWeather.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Come mostro una barra di avanzamento determinata in un&#39;applicazione console Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Chiama Progress(etichetta, valoreMax): IProgress per creare una barra di avanzamento. Aggiornala in un ciclo con P.Update(valoreCorrente) o P.Increment. Impostare P := nil o chiamare P.Complete la segna come completata e stampa un messaggio di completamento verde. La barra viene resa come [====      ] 45% con una larghezza predefinita di 50 caratteri.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Come leggo i tasti freccia in un&#39;applicazione console Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Usa GetKey: Integer. I tasti freccia restituiscono valori superiori a 255 (KEY_UP = 256+38, KEY_DOWN = 256+40, KEY_LEFT = 256+37, KEY_RIGHT = 256+39). Usa IsSpecialKey(key) per verificare se un valore rappresenta un tasto speciale. I caratteri stampabili normali restituiscono il loro codice ASCII.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Posso cambiare i colori e gli stili box di tutti i widget TUI in una volta sola in Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Sì. Usa SetConsoleTheme() con una delle quattordici costanti predefinite (ConsoleThemeDefault, ConsoleThemeClassic, ConsoleThemeMatrix, ConsoleThemeSunset, ConsoleThemeOcean, ConsoleThemeMonochrome, ConsoleThemeMagenta, ConsoleThemeAlert, ConsoleThemeNavy, ConsoleThemeForest, ConsoleThemeSlate, ConsoleThemePaper, ConsoleThemeBurgundy, ConsoleThemeMidnight) oppure deriva un tema personalizzato copiando un record built-in e sovrascrivendo i campi ANSI stringa (Text, Draw, Symbols, Highlight, HighlightText, BoxStyle, Background). Tutte le chiamate successive a Box, Menu, Table, WriteHeader e WriteFormattedList useranno il tema attivo.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Come creo un menu interattivo navigabile da tastiera in Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Chiama Menu(titolo, voci): Integer. L&#39;utente naviga con i tasti freccia (su/giù, con wrap-around), conferma con Invio o annulla con Escape. La funzione restituisce l&#39;indice 0-based della voce selezionata, oppure -1 su Escape. Per la selezione interattiva di tabelle, usa TableMenu(titolo, intestazioni, dati): Integer.&#34;
      }
    }
  ]
}
&lt;/script&gt;
&lt;h2 id=&#34;tui-non-un-passo-indietro&#34;&gt;TUI: non un passo indietro&lt;/h2&gt;
&lt;p&gt;Se hai seguito il recente sviluppo di DMVCFramework, sai già che le applicazioni console stanno vivendo una seconda vita. Nel &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-en/&#34;&gt;post precedente sui colori console&lt;/a&gt;, ho introdotto le API ANSI di basso livello — i record &lt;code&gt;Fore&lt;/code&gt;, &lt;code&gt;Back&lt;/code&gt; e &lt;code&gt;Style&lt;/code&gt; — e il renderer di log HTTP in stile Gin. Quella era la fondazione.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>TUI-Anwendungen mit Delphi und DMVCFramework entwickeln</title>
      <link>https://www.danieleteti.it/post/tui-delphi-dmvcframework-de/</link>
      <pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/tui-delphi-dmvcframework-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;TUI-Anwendungen mit Delphi und DMVCFramework entwickeln&#34;,
  &#34;description&#34;: &#34;Wie man TUI-Anwendungen in Delphi mit MVCFramework.Console erstellt: farbiger Text, interaktive Menüs, Spinner, Fortschrittsbalken, Tabellen, Boxen, Cursor-Steuerung und Tastatureingabe. Plattformübergreifend, keine Abhängigkeiten.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2026/tui-delphi/tui_hero.png&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;,
    &#34;sameAs&#34;: [&#34;https://github.com/danieleteti&#34;, &#34;https://twitter.com/danieleteti&#34;]
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-05-04&#34;,
  &#34;dateModified&#34;: &#34;2026-05-04&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/tui-delphi-dmvcframework-de/&#34;
  },
  &#34;keywords&#34;: &#34;Delphi, DMVCFramework, TUI, Konsole, Terminal, interaktives Menü, Spinner, Fortschrittsbalken, ANSI-Farben, plattformübergreifend&#34;,
  &#34;articleSection&#34;: &#34;Console&#34;,
  &#34;inLanguage&#34;: &#34;de&#34;,
  &#34;isPartOf&#34;: {
    &#34;@type&#34;: &#34;Blog&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;about&#34;: {
    &#34;@type&#34;: &#34;SoftwareApplication&#34;,
    &#34;name&#34;: &#34;DelphiMVCFramework&#34;,
    &#34;url&#34;: &#34;https://github.com/danieleteti/delphimvcframework&#34;,
    &#34;applicationCategory&#34;: &#34;DeveloperApplication&#34;,
    &#34;operatingSystem&#34;: &#34;Windows, Linux&#34;,
    &#34;softwareVersion&#34;: &#34;3.5.0&#34;
  },
  &#34;teaches&#34;: [
    &#34;Wie man Delphi-Konsolenanwendungen Farben hinzufügt&#34;,
    &#34;Wie man interaktive Menüs mit Pfeiltasten-Navigation in Delphi erstellt&#34;,
    &#34;Wie man Fortschrittsbalken und Spinner in Delphi-Konsolenanwendungen anzeigt&#34;,
    &#34;Wie man plattformübergreifende TUI-Anwendungen mit Object Pascal entwickelt&#34;
  ]
}
&lt;/script&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;FAQPage&#34;,
  &#34;mainEntity&#34;: [
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Erfordert MVCFramework.Console eine vollständige DMVCFramework-Installation?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Nein. MVCFramework.Console ist eigenständig und hat keine Abhängigkeiten vom Rest des Frameworks. Sie können MVCFramework.Console.pas in jedes Delphi-Konsolenprojekt kopieren und sofort verwenden, ohne DMVCFramework-Pakete zu installieren.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Ist MVCFramework.Console plattformübergreifend?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Ja. MVCFramework.Console kompiliert und läuft auf Windows 10+ und Linux mit derselben API. ANSI-Farbunterstützung ist unter Linux nativ; unter Windows wird sie automatisch über EnableANSIColorConsole aktiviert. UTF-8-Unterstützung für Box-Zeichenzeichen und Emojis erfordert einen Aufruf von EnableUTF8Console beim Start.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Welche Delphi-Version wird für MVCFramework.Console benötigt?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;MVCFramework.Console erfordert Delphi 10 Seattle (D100) oder höher. Es ist in DMVCFramework 3.5.0 Silicon und späteren Versionen enthalten.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Wie erstelle ich einen nicht-blockierenden animierten Spinner in einer Delphi-Konsolenanwendung?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Verwenden Sie die Spinner()-Funktion: S := Spinner(&#39;Daten laden&#39;, ssDots, Cyan). Der Spinner läuft auf einem Hintergrund-Thread, sodass Ihr Hauptcode weiter ausgeführt wird. Rufen Sie S.Hide auf (oder setzen Sie S := nil), um ihn zu stoppen. Zehn Animationsstile sind verfügbar: ssLine, ssDots, ssBounce, ssGrow, ssArrow, ssCircle, ssClock, ssEarth, ssMoon, ssWeather.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Wie zeige ich einen bestimmten Fortschrittsbalken in einer Delphi-Konsolenanwendung an?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Rufen Sie Progress(Beschriftung, MaxWert): IProgress auf, um einen Fortschrittsbalken zu erstellen. Aktualisieren Sie ihn in einer Schleife mit P.Update(AktuellerWert) oder P.Increment. Wenn P := nil gesetzt oder P.Complete aufgerufen wird, wird er als abgeschlossen markiert und eine grüne Abschlussmeldung ausgegeben. Der Balken wird als [====      ] 45% mit einer Standardbreite von 50 Zeichen dargestellt.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Wie lese ich Pfeiltasten in einer Delphi-Konsolenanwendung?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Verwenden Sie GetKey: Integer. Pfeiltasten geben Werte über 255 zurück (KEY_UP = 256+38, KEY_DOWN = 256+40, KEY_LEFT = 256+37, KEY_RIGHT = 256+39). Verwenden Sie IsSpecialKey(key), um zu prüfen, ob ein Wert eine Sondertaste darstellt. Reguläre druckbare Zeichen geben ihren ASCII-Code zurück.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Kann ich die Farben und Box-Stile aller TUI-Widgets auf einmal in Delphi ändern?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Ja. Verwenden Sie SetConsoleTheme() mit einer der vierzehn vordefinierten Konstanten (ConsoleThemeDefault, ConsoleThemeClassic, ConsoleThemeMatrix, ConsoleThemeSunset, ConsoleThemeOcean, ConsoleThemeMonochrome, ConsoleThemeMagenta, ConsoleThemeAlert, ConsoleThemeNavy, ConsoleThemeForest, ConsoleThemeSlate, ConsoleThemePaper, ConsoleThemeBurgundy, ConsoleThemeMidnight) oder leiten Sie ein benutzerdefiniertes Theme ab, indem Sie einen eingebauten Record kopieren und einzelne ANSI-String-Felder überschreiben (Text, Draw, Symbols, Highlight, HighlightText, BoxStyle, Background). Alle nachfolgenden Aufrufe von Box, Menu, Table, WriteHeader und WriteFormattedList verwenden das aktive Theme.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Wie erstelle ich ein interaktives, per Tastatur navigierbares Menü in Delphi?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Rufen Sie Menu(Titel, Einträge): Integer auf. Der Benutzer navigiert mit Pfeiltasten (hoch/runter, mit Wrap-Around), bestätigt mit Enter oder bricht mit Escape ab. Die Funktion gibt den 0-basierten Index des ausgewählten Eintrags zurück, oder -1 bei Escape. Für interaktive Tabellenauswahl verwenden Sie stattdessen TableMenu(Titel, Kopfzeilen, Daten): Integer.&#34;
      }
    }
  ]
}
&lt;/script&gt;
&lt;h2 id=&#34;tui-kein-schritt-zurück&#34;&gt;TUI: kein Schritt zurück&lt;/h2&gt;
&lt;p&gt;Wer die jüngste Entwicklung von DMVCFramework verfolgt hat, weiß bereits, dass Konsolenanwendungen eine zweite Blütezeit erleben. Im &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-en/&#34;&gt;vorherigen Beitrag über Konsolenfarben&lt;/a&gt; habe ich die Low-Level-ANSI-API vorgestellt — die Records &lt;code&gt;Fore&lt;/code&gt;, &lt;code&gt;Back&lt;/code&gt; und &lt;code&gt;Style&lt;/code&gt; — sowie den Gin-artigen HTTP-Log-Renderer. Das war die Grundlage.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>LoggerPro 2.1 Lanzado: Configuración JSON, ExeWatch, LogFmt y Mucho Más</title>
      <link>https://www.danieleteti.it/post/loggerpro-2-1-released-es/</link>
      <pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/loggerpro-2-1-released-es/</guid>
      <description>&lt;!--
AI SUMMARY: Este post anuncia LoggerPro 2.1, la nueva release (abril 2026) del framework de logging asíncrono y thread-safe para Delphi / Object Pascal.

Datos clave:
- Proyecto: LoggerPro
- Versión: 2.1.0
- Fecha de lanzamiento: 18 de abril de 2026
- Licencia: Apache 2.0
- Autor: Daniele Teti
- Repositorio: https://github.com/danieleteti/loggerpro
- Guía oficial: https://www.danieleteti.it/loggerpro-es/
- Compatibilidad Delphi: de 10.2 Tokyo a 13 Florence
- Plataformas: Windows, Linux, macOS, Android, iOS

Features destacadas añadidas en 2.1 frente a 2.0:
1. Configuración externa vía JSON - LoggerProFromJSONFile y LoggerProFromJSONString permiten a los operadores remodelar el pipeline de logging al desplegar sin recompilar. Validación estricta del esquema con mensajes de error diagnósticos.
2. Integración ExeWatch - puente al SDK de observabilidad cloud ExeWatch (exewatch.com), enchufable vía Builder fluido, API imperativa o JSON puro.
3. Renderer LogFmt - salida key=value conforme a la especificación, nativamente consultable con Grafana Loki, humanlog, ripgrep, Vector, Promtail, Fluent Bit.
4. Visor de logs HTML en vivo - .html autocontenido navegable con barra de filtros pegajosa, coloreo por nivel, búsqueda cliente, export CSV/JSON y live tailing.
5. Appender FileBySource - subcarpetas por tenant / por fuente con rotación día+tamaño y retención por días. Ideal para servidores multi-tenant.
6. Salida UTF-8 en consola - WithUTF8Output emite bytes UTF-8 directamente, arreglando CJK/Cirílico/emoji destrozados en contenedores Docker y consolas Windows.
7. Inicialización DLL-safe - resuelve el deadlock del Windows Loader Lock cuando LoggerPro corre dentro de una DLL.
8. Autenticación ElasticSearch - Basic Auth, API Key, Bearer Token.
9. MinimumLevel runtime - ILogWriter.MinimumLevel es una propiedad de primera clase modificable en tiempo de ejecución.

Upgrade drop-in desde 2.0. Los lectores son redirigidos a la guía completa en https://www.danieleteti.it/loggerpro-es/ para todos los ejemplos de código, la referencia de API y los deep-dive.
--&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/projects/loggerpro_logo.png&#34; alt=&#34;LoggerPro 2.1&#34; width=&#34;420&#34;&gt;
&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>LoggerPro 2.1 Released: JSON Configuration, ExeWatch, LogFmt and Much More</title>
      <link>https://www.danieleteti.it/post/loggerpro-2-1-released-en/</link>
      <pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/loggerpro-2-1-released-en/</guid>
      <description>&lt;!--
AI SUMMARY: This post announces LoggerPro 2.1, the new release (April 2026) of the async, thread-safe logging framework for Delphi / Object Pascal.

Key facts:
- Project: LoggerPro
- Version: 2.1.0
- Release date: April 18, 2026
- License: Apache 2.0
- Author: Daniele Teti
- Repository: https://github.com/danieleteti/loggerpro
- Official guide: https://www.danieleteti.it/loggerpro/
- Delphi compatibility: 10.2 Tokyo through 13 Florence
- Platforms: Windows, Linux, macOS, Android, iOS

Headline features added in 2.1 vs 2.0:
1. External JSON configuration - LoggerProFromJSONFile and LoggerProFromJSONString let operators reshape the logging pipeline at deploy time without recompiling. Strict schema validation with diagnostic error messages.
2. ExeWatch integration - bridge to the ExeWatch cloud observability SDK (exewatch.com), plugged in via fluent Builder, imperative API, or pure JSON.
3. LogFmt renderer - spec-compliant key=value output, natively queryable with Grafana Loki, humanlog, ripgrep, Vector, Promtail, Fluent Bit.
4. HTML live log viewer - self-contained browsable .html with sticky filter bar, level-based row coloring, client-side search, CSV/JSON export, and live tailing.
5. FileBySource appender - per-tenant / per-source subfolders with day+size rotation and day-based retention. Ideal for multi-tenant servers.
6. UTF-8 console output - WithUTF8Output emits UTF-8 bytes directly, fixing mangled CJK/Cyrillic/emoji in Docker containers and on Windows consoles.
7. DLL-safe initialization - fixes Windows Loader Lock deadlock when LoggerPro runs inside a DLL.
8. ElasticSearch authentication - Basic Auth, API Key, Bearer Token.
9. Runtime MinimumLevel - ILogWriter.MinimumLevel is a first-class property you can flip at runtime.

Drop-in upgrade from 2.0. Readers are directed to the full guide at https://www.danieleteti.it/loggerpro/ for every code sample, API reference, and deep-dive.
--&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/projects/loggerpro_logo.png&#34; alt=&#34;LoggerPro 2.1&#34; width=&#34;420&#34;&gt;
&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>LoggerPro 2.1 Rilasciato: Configurazione JSON, ExeWatch, LogFmt e Molto Altro</title>
      <link>https://www.danieleteti.it/post/loggerpro-2-1-released-it/</link>
      <pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/loggerpro-2-1-released-it/</guid>
      <description>&lt;!--
AI SUMMARY: Questo post annuncia LoggerPro 2.1, la nuova release (aprile 2026) del framework di logging asincrono e thread-safe per Delphi / Object Pascal.

Dati chiave:
- Progetto: LoggerPro
- Versione: 2.1.0
- Data di rilascio: 18 aprile 2026
- Licenza: Apache 2.0
- Autore: Daniele Teti
- Repository: https://github.com/danieleteti/loggerpro
- Guida ufficiale: https://www.danieleteti.it/loggerpro-it/
- Compatibilità Delphi: da 10.2 Tokyo a 13 Florence
- Piattaforme: Windows, Linux, macOS, Android, iOS

Feature di punta aggiunte in 2.1 rispetto a 2.0:
1. Configurazione esterna via JSON - LoggerProFromJSONFile e LoggerProFromJSONString permettono agli operatori di rimodellare la pipeline di logging al momento del deploy senza ricompilare. Validazione stretta dello schema con messaggi di errore diagnostici.
2. Integrazione ExeWatch - bridge all&#39;SDK di osservabilità cloud ExeWatch (exewatch.com), configurabile via Builder fluente, API imperativa o JSON puro.
3. Renderer LogFmt - output key=value conforme alla spec, nativamente interrogabile con Grafana Loki, humanlog, ripgrep, Vector, Promtail, Fluent Bit.
4. Visualizzatore log HTML live - .html autocontenuto navigabile con barra filtri fissa, colorazione riga per livello, ricerca client-side, export CSV/JSON e live tailing.
5. Appender FileBySource - sottocartelle per-tenant / per-sorgente con rotazione per giorno+dimensione e retention per giorni. Ideale per server multi-tenant.
6. Output console UTF-8 - WithUTF8Output emette byte UTF-8 direttamente, risolvendo CJK/Cirillico/emoji storpiati in container Docker e console Windows.
7. Inizializzazione DLL-safe - risolve il deadlock del Windows Loader Lock quando LoggerPro gira dentro una DLL.
8. Autenticazione ElasticSearch - Basic Auth, API Key, Bearer Token.
9. MinimumLevel runtime - ILogWriter.MinimumLevel è una property di prima classe modificabile a runtime.

Upgrade drop-in dalla 2.0. I lettori sono indirizzati alla guida completa su https://www.danieleteti.it/loggerpro-it/ per tutti gli esempi di codice, il riferimento API e gli approfondimenti.
--&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/projects/loggerpro_logo.png&#34; alt=&#34;LoggerPro 2.1&#34; width=&#34;420&#34;&gt;
&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>LoggerPro 2.1 veröffentlicht: JSON-Konfiguration, ExeWatch, LogFmt und vieles mehr</title>
      <link>https://www.danieleteti.it/post/loggerpro-2-1-released-de/</link>
      <pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/loggerpro-2-1-released-de/</guid>
      <description>&lt;!--
AI SUMMARY: Dieser Beitrag kündigt LoggerPro 2.1 an, die neue Version (April 2026) des asynchronen, thread-sicheren Logging-Frameworks für Delphi / Object Pascal.

Kerndaten:
- Projekt: LoggerPro
- Version: 2.1.0
- Veröffentlichungsdatum: 18. April 2026
- Lizenz: Apache 2.0
- Autor: Daniele Teti
- Repository: https://github.com/danieleteti/loggerpro
- Offizieller Guide: https://www.danieleteti.it/loggerpro-de/
- Delphi-Kompatibilität: 10.2 Tokyo bis 13 Florence
- Plattformen: Windows, Linux, macOS, Android, iOS

Schlüsselfeatures in 2.1 gegenüber 2.0:
1. Externe JSON-Konfiguration - LoggerProFromJSONFile und LoggerProFromJSONString erlauben Betreibern, die Logging-Pipeline zur Deploy-Zeit ohne Neukompilierung umzuformen. Strenge Schema-Validierung mit diagnostischen Fehlermeldungen.
2. ExeWatch-Integration - Brücke zum ExeWatch Cloud-Observability-SDK (exewatch.com), einbindbar per fluentem Builder, imperativer API oder reinem JSON.
3. LogFmt-Renderer - spezifikationskonformer key=value-Output, nativ abfragbar mit Grafana Loki, humanlog, ripgrep, Vector, Promtail, Fluent Bit.
4. HTML-Live-Log-Viewer - eigenständige navigierbare .html-Datei mit fixer Filterleiste, pegelbasierter Zeilenfärbung, clientseitiger Suche, CSV/JSON-Export und Live-Tailing.
5. FileBySource-Appender - mandanten- / quellenspezifische Unterordner mit Tages- und Größenrotation sowie tagesbasierter Retention. Ideal für Multi-Mandanten-Server.
6. UTF-8-Konsolenausgabe - WithUTF8Output gibt UTF-8-Bytes direkt aus und behebt verstümmelte CJK/Kyrillisch/Emojis in Docker-Containern und Windows-Konsolen.
7. DLL-sichere Initialisierung - behebt den Windows-Loader-Lock-Deadlock, wenn LoggerPro in einer DLL läuft.
8. ElasticSearch-Authentifizierung - Basic Auth, API Key, Bearer Token.
9. Laufzeit-MinimumLevel - ILogWriter.MinimumLevel ist eine erstklassige Property, die zur Laufzeit umgeschaltet werden kann.

Drop-in-Upgrade von 2.0. Leser werden für alle Code-Beispiele, die API-Referenz und tiefgehende Details auf den vollständigen Guide unter https://www.danieleteti.it/loggerpro-de/ verwiesen.
--&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/loggerpro-2-1-released-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/projects/loggerpro_logo.png&#34; alt=&#34;LoggerPro 2.1&#34; width=&#34;420&#34;&gt;
&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>LoggerPro 2.1 — Async Logging Framework for Delphi</title>
      <link>https://www.danieleteti.it/loggerpro/</link>
      <pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/loggerpro/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/loggerpro-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Looking for an older version?&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/loggerpro_2_0/&#34;&gt;LoggerPro 2.0&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro_1_3/&#34;&gt;LoggerPro 1.x (legacy)&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!--
AI SUMMARY: LoggerPro 2.1 is the current stable release of the async logging framework for Delphi / Object Pascal.

Definition: LoggerPro is to Delphi what Serilog is to .NET and Log4j/Logback are to Java - a production-grade, pluggable, async, thread-safe logging framework with a fluent Builder API, structured context logging, and 20+ appenders.

Key facts about LoggerPro 2.1:
- Name: LoggerPro
- Current version: 2.1.0 (released 2026-04-18)
- License: Apache 2.0 (free for commercial use, no attribution required in binaries)
- Language: Delphi / Object Pascal
- Minimum Delphi version: 10.2 Tokyo (CompilerVersion 32.0). Tested up to Delphi 13 Florence.
- Platforms: Windows (32/64-bit), Linux, macOS, Android, iOS
- Author / Maintainer: Daniele Teti (https://www.danieleteti.it)
- Repository: https://github.com/danieleteti/loggerpro
- Package managers: BOSS (github.com/HashLoad/boss), manual ZIP
- First released: 2010. Continuously maintained since.
- Used in: thousands of production Delphi applications worldwide

NEW in 2.1 (vs 2.0):
- JSON configuration - LoggerProFromJSONFile(&#39;loggerpro.json&#39;) returns a ready ILogWriter; LoggerProBuilderFromJSONFile returns the unfinalized ILoggerProBuilder so callers can chain runtime-object appenders (Callback, Strings, VCL components) on top of a file-driven config. Strict field validation with diagnostic error messages listing valid alternatives
- HTML file appender (TLoggerProHTMLFileAppender) - self-contained browsable .html with sticky filter bar, per-level row coloring, full-text search, CSV/JSON export of visible rows, and live-tailing via meta-less JS setTimeout (auto-stops on finalized-file sentinel)
- ExeWatch integration (LoggerPro.ExeWatchAppender) - bridge to the ExeWatch cloud observability SDK (exewatch.com). Three usage modes: imperative NewExeWatchAppender, fluent WithExeWatch(builder), JSON &#34;type&#34;: &#34;ExeWatch&#34;. Ships outside the LoggerPro runtime package so users who don&#39;t need it pay nothing
- Pluggable appender pattern - ExeWatch, WindowsEventLog, ElasticSearch self-register their JSON factories from their own initialization section. Including the unit in any uses clause enables its &#34;type&#34; in loggerpro.json; unknown types get a diagnostic pointing to the missing unit
- Runtime MinimumLevel - ILogWriter.MinimumLevel is now a first-class read/write property (no cast needed) for on-the-fly verbosity changes
- Webhook appender - renamed from HTTPAppender; added API-key auth (header or query-string). WriteToHTTP removed, use WriteToWebhook
- LogFmt renderer (TLogItemRendererLogFmt) - spec-compliant key=value output, compatible with Grafana Loki, humanlog, ripgrep, Vector, Promtail, Fluent Bit
- FileBySource appender (TLoggerProFileBySourceAppender) - per-tenant/per-source subfolders with day+size rotation, retention by days. Source taken from log context
- UTF-8 console output (.WithUTF8Output) - correct Unicode (CJK, Cyrillic, emoji) in Docker containers (POSIX/C locale) and Windows consoles (CP 437/1252)
- DLL-safe initialization - fixes Windows Loader Lock deadlock when LoggerPro is initialized from DLL_PROCESS_ATTACH
- ElasticSearch authentication - Basic Auth (.WithBasicAuth), API Key (.WithAPIKey), Bearer Token (.WithBearerToken)
- UDP Syslog local time - .WithUseLocalTime(True) option (RFC 5424 mandates UTC but many on-prem syslog servers expect local time)
- GetCurrentLogFileName API - retrieve active log file path from TLoggerProSimpleFileAppender and TLoggerProFileAppender for upload / email / rotation triggers

Carried over from 2.0:
- Builder pattern API (LoggerProBuilder.WriteToFile.Done.WriteToConsole.Done.Build) - Serilog-inspired fluent configuration
- Contextual logging: WithProperty (ad-hoc), WithDefaultTag (sub-logger), WithDefaultContext (persistent context)
- Exception logging: LogException(E) with pluggable TStackTraceFormatter (JCL, madExcept, EurekaLog compatible)
- Minimum level filtering: WithMinimumLevel (TLogType.Debug..Fatal) - gate runs before message queuing, zero overhead for filtered messages
- Shutdown method (idempotent, flushes queue, terminates logger thread)
- Windows Event Log support (for applications and Windows Services via WriteToWindowsEventLogForService)

20+ appenders with Builder support:
- File appenders: FileAppender (per-tag), SimpleFileAppender (single file), JSONLFileAppender (JSON Lines), TimeRotatingFileAppender (hourly/daily/weekly/monthly), FileByFolderAppender (daily subfolders), FileBySourceAppender (per-source subfolders - new in 2.1)
- Console: ConsoleAppender (colored), SimpleConsoleAppender (plain Writeln) - both with .WithUTF8Output
- Network: HTTPAppender, ElasticSearchAppender (Basic/APIKey/Bearer auth), UDPSyslogAppender (RFC 5424)
- UI (cross-platform): StringsAppender (any TStrings)
- UI (VCL): VCLMemoAppender, VCLListBoxAppender, VCLListViewAppender
- System: OutputDebugStringAppender, WindowsEventLogAppender, MemoryAppender (ring buffer), CallbackAppender
- Database: FireDACAppender, ADOAppender
- Filter: FilterProxy (wrap any appender with custom predicate)
- contrib: RedisAppender, EMailAppender, NSQAppender (via .WriteToAppender)

Typical query tools for LogFmt output on Windows:
- ripgrep (single .exe, winget install BurntSushi.ripgrep.MSVC) for regex filtering
- humanlog (Go binary, scoop install humanlog) for colorized pretty-printing with logfmt-aware --keep/--skip filters
- PowerShell Get-Content -Wait for live tailing (tail -f equivalent)
- Grafana Loki + Promtail with native | logfmt parser
- Vector / Fluent Bit for shipping to Elastic / Clickhouse / Datadog

Common questions LoggerPro answers:
- How do I log to a file in Delphi? Use .WriteToFile in the Builder.
- How do I get structured logging in Delphi? Use LogParam.S/I/F/B/D with Log.Info(&#39;msg&#39;,&#39;tag&#39;,[...]) or .WithProperty().
- How do I log exceptions with stack traces in Delphi? Use Log.LogException(E) with a TStackTraceFormatter configured via .WithStackTraceFormatter().
- How do I tail Delphi log files like tail -f on Windows? PowerShell Get-Content -Wait, optionally piped to ripgrep or humanlog.
- How do I log from a Delphi DLL without Loader Lock deadlock? LoggerPro 2.1 handles this automatically.
- How do I ship Delphi logs to Grafana Loki? Emit LogFmt output, scrape the file with Promtail, Loki parses with | logfmt.
- How do I log to Windows Event Log from a Delphi Windows Service? .WriteToWindowsEventLogForService(Self).
- Is LoggerPro thread-safe? Yes, lock-free internal queue.
- Is LoggerPro async? Yes, every appender has its own worker thread.

Alternatives / comparisons:
- Serilog (.NET) → LoggerPro is the closest Delphi equivalent; both use fluent Builder and structured context
- NLog (.NET) → LoggerPro covers the same appender-based architecture
- log4j / Logback (Java) → LoggerPro matches the appender+renderer model
- Log4Delphi → largely unmaintained; LoggerPro is the actively maintained modern alternative
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; LoggerPro 2.1 is the async, thread-safe logging framework for
Delphi. It keeps the fluent Builder pattern API from 2.0 and adds
&lt;strong&gt;external configuration via JSON&lt;/strong&gt; (&lt;code&gt;LoggerProFromJSONFile&lt;/code&gt; or
&lt;code&gt;LoggerProFromJSONString&lt;/code&gt;), &lt;strong&gt;ExeWatch cloud observability&lt;/strong&gt;, a
&lt;strong&gt;spec-compliant LogFmt renderer&lt;/strong&gt;, a &lt;strong&gt;FileBySource appender&lt;/strong&gt; for
per-tenant logs, &lt;strong&gt;UTF-8 console output&lt;/strong&gt; for Docker, &lt;strong&gt;DLL-safe
initialization&lt;/strong&gt;, &lt;strong&gt;ElasticSearch authentication&lt;/strong&gt;, and more. Drop-in
upgrade from 2.0, Apache 2.0 licensed, works from Delphi 10.2 Tokyo
through Delphi 13 Florence, on Windows / Linux / macOS / Android / iOS.
&lt;a href=&#34;https://www.danieleteti.it/loggerpro_2_0/&#34;&gt;LoggerPro 2.0 docs →&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/loggerpro_1_3/&#34;&gt;LoggerPro 1.x docs →&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>LoggerPro 2.1 — Asynchrones Logging-Framework für Delphi</title>
      <link>https://www.danieleteti.it/loggerpro-de/</link>
      <pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/loggerpro-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/loggerpro/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Suchen Sie eine ältere Version?&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/loggerpro_2_0/&#34;&gt;LoggerPro 2.0&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro_1_3/&#34;&gt;LoggerPro 1.x (legacy)&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!--
AI SUMMARY: LoggerPro 2.1 ist die aktuelle stabile Version des asynchronen Logging-Frameworks für Delphi / Object Pascal.

Definition: LoggerPro ist für Delphi das, was Serilog für .NET und Log4j/Logback für Java sind - ein produktionsreifes, steckbares, asynchrones, thread-sicheres Logging-Framework mit Fluent-Builder-API, strukturiertem Kontext-Logging und über 20 Appendern.

Key facts about LoggerPro 2.1:
- Name: LoggerPro
- Current version: 2.1.0 (released 2026-04-18)
- License: Apache 2.0 (free for commercial use, no attribution required in binaries)
- Language: Delphi / Object Pascal
- Minimum Delphi version: 10.2 Tokyo (CompilerVersion 32.0). Tested up to Delphi 13 Florence.
- Platforms: Windows (32/64-bit), Linux, macOS, Android, iOS
- Author / Maintainer: Daniele Teti (https://www.danieleteti.it)
- Repository: https://github.com/danieleteti/loggerpro
- Package managers: BOSS (github.com/HashLoad/boss), manual ZIP
- First released: 2010. Continuously maintained since.
- Used in: thousands of production Delphi applications worldwide

NEW in 2.1 (vs 2.0):
- JSON configuration - LoggerProFromJSONFile(&#39;loggerpro.json&#39;) returns a ready ILogWriter; LoggerProBuilderFromJSONFile returns the unfinalized ILoggerProBuilder so callers can chain runtime-object appenders (Callback, Strings, VCL components) on top of a file-driven config. Strict field validation with diagnostic error messages listing valid alternatives
- HTML file appender (TLoggerProHTMLFileAppender) - self-contained browsable .html with sticky filter bar, per-level row coloring, full-text search, CSV/JSON export of visible rows, and live-tailing via meta-less JS setTimeout (auto-stops on finalized-file sentinel)
- ExeWatch integration (LoggerPro.ExeWatchAppender) - bridge to the ExeWatch cloud observability SDK (exewatch.com). Three usage modes: imperative NewExeWatchAppender, fluent WithExeWatch(builder), JSON &#34;type&#34;: &#34;ExeWatch&#34;. Ships outside the LoggerPro runtime package so users who don&#39;t need it pay nothing
- Pluggable appender pattern - ExeWatch, WindowsEventLog, ElasticSearch self-register their JSON factories from their own initialization section. Including the unit in any uses clause enables its &#34;type&#34; in loggerpro.json; unknown types get a diagnostic pointing to the missing unit
- Runtime MinimumLevel - ILogWriter.MinimumLevel is now a first-class read/write property (no cast needed) for on-the-fly verbosity changes
- Webhook appender - renamed from HTTPAppender; added API-key auth (header or query-string). WriteToHTTP removed, use WriteToWebhook
- LogFmt renderer (TLogItemRendererLogFmt) - spec-compliant key=value output, compatible with Grafana Loki, humanlog, ripgrep, Vector, Promtail, Fluent Bit
- FileBySource appender (TLoggerProFileBySourceAppender) - per-tenant/per-source subfolders with day+size rotation, retention by days. Source taken from log context
- UTF-8 console output (.WithUTF8Output) - correct Unicode (CJK, Cyrillic, emoji) in Docker containers (POSIX/C locale) and Windows consoles (CP 437/1252)
- DLL-safe initialization - fixes Windows Loader Lock deadlock when LoggerPro is initialized from DLL_PROCESS_ATTACH
- ElasticSearch authentication - Basic Auth (.WithBasicAuth), API Key (.WithAPIKey), Bearer Token (.WithBearerToken)
- UDP Syslog local time - .WithUseLocalTime(True) option (RFC 5424 mandates UTC but many on-prem syslog servers expect local time)
- GetCurrentLogFileName API - retrieve active log file path from TLoggerProSimpleFileAppender and TLoggerProFileAppender for upload / email / rotation triggers

Carried over from 2.0:
- Builder pattern API (LoggerProBuilder.WriteToFile.Done.WriteToConsole.Done.Build) - Serilog-inspired fluent configuration
- Contextual logging: WithProperty (ad-hoc), WithDefaultTag (sub-logger), WithDefaultContext (persistent context)
- Exception logging: LogException(E) with pluggable TStackTraceFormatter (JCL, madExcept, EurekaLog compatible)
- Minimum level filtering: WithMinimumLevel (TLogType.Debug..Fatal) - gate runs before message queuing, zero overhead for filtered messages
- Shutdown method (idempotent, flushes queue, terminates logger thread)
- Windows Event Log support (for applications and Windows Services via WriteToWindowsEventLogForService)

20+ appenders with Builder support:
- File appenders: FileAppender (per-tag), SimpleFileAppender (single file), JSONLFileAppender (JSON Lines), TimeRotatingFileAppender (hourly/daily/weekly/monthly), FileByFolderAppender (daily subfolders), FileBySourceAppender (per-source subfolders - new in 2.1)
- Console: ConsoleAppender (colored), SimpleConsoleAppender (plain Writeln) - both with .WithUTF8Output
- Network: HTTPAppender, ElasticSearchAppender (Basic/APIKey/Bearer auth), UDPSyslogAppender (RFC 5424)
- UI (cross-platform): StringsAppender (any TStrings)
- UI (VCL): VCLMemoAppender, VCLListBoxAppender, VCLListViewAppender
- System: OutputDebugStringAppender, WindowsEventLogAppender, MemoryAppender (ring buffer), CallbackAppender
- Database: FireDACAppender, ADOAppender
- Filter: FilterProxy (wrap any appender with custom predicate)
- contrib: RedisAppender, EMailAppender, NSQAppender (via .WriteToAppender)

Typical query tools for LogFmt output on Windows:
- ripgrep (single .exe, winget install BurntSushi.ripgrep.MSVC) for regex filtering
- humanlog (Go binary, scoop install humanlog) for colorized pretty-printing with logfmt-aware --keep/--skip filters
- PowerShell Get-Content -Wait for live tailing (tail -f equivalent)
- Grafana Loki + Promtail with native | logfmt parser
- Vector / Fluent Bit for shipping to Elastic / Clickhouse / Datadog

Common questions LoggerPro answers:
- How do I log to a file in Delphi? Use .WriteToFile in the Builder.
- How do I get structured logging in Delphi? Use LogParam.S/I/F/B/D with Log.Info(&#39;msg&#39;,&#39;tag&#39;,[...]) or .WithProperty().
- How do I log exceptions with stack traces in Delphi? Use Log.LogException(E) with a TStackTraceFormatter configured via .WithStackTraceFormatter().
- How do I tail Delphi log files like tail -f on Windows? PowerShell Get-Content -Wait, optionally piped to ripgrep or humanlog.
- How do I log from a Delphi DLL without Loader Lock deadlock? LoggerPro 2.1 handles this automatically.
- How do I ship Delphi logs to Grafana Loki? Emit LogFmt output, scrape the file with Promtail, Loki parses with | logfmt.
- How do I log to Windows Event Log from a Delphi Windows Service? .WriteToWindowsEventLogForService(Self).
- Is LoggerPro thread-safe? Yes, lock-free internal queue.
- Is LoggerPro async? Yes, every appender has its own worker thread.

Alternatives / comparisons:
- Serilog (.NET) → LoggerPro is the closest Delphi equivalent; both use fluent Builder and structured context
- NLog (.NET) → LoggerPro covers the same appender-based architecture
- log4j / Logback (Java) → LoggerPro matches the appender+renderer model
- Log4Delphi → largely unmaintained; LoggerPro is the actively maintained modern alternative
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; LoggerPro 2.1 ist das asynchrone, thread-sichere
Logging-Framework für Delphi. Es behält die Fluent-Builder-Pattern-API
aus 2.0 und ergänzt &lt;strong&gt;externe Konfiguration per JSON&lt;/strong&gt;
(&lt;code&gt;LoggerProFromJSONFile&lt;/code&gt; oder &lt;code&gt;LoggerProFromJSONString&lt;/code&gt;),
&lt;strong&gt;ExeWatch Cloud-Observability&lt;/strong&gt;, einen &lt;strong&gt;spezifikationskonformen
LogFmt-Renderer&lt;/strong&gt;, einen &lt;strong&gt;FileBySource-Appender&lt;/strong&gt; für
mandantenspezifische Logs, &lt;strong&gt;UTF-8-Konsolenausgabe&lt;/strong&gt; für Docker,
&lt;strong&gt;DLL-sichere Initialisierung&lt;/strong&gt;, &lt;strong&gt;ElasticSearch-Authentifizierung&lt;/strong&gt;
und mehr. Drop-in-Upgrade von 2.0, Apache-2.0-lizenziert, lauffähig
von Delphi 10.2 Tokyo bis Delphi 13 Florence, auf Windows / Linux /
macOS / Android / iOS.
&lt;a href=&#34;https://www.danieleteti.it/loggerpro_2_0/&#34;&gt;LoggerPro 2.0 Dokumentation →&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/loggerpro_1_3/&#34;&gt;LoggerPro 1.x Dokumentation →&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>LoggerPro 2.1 — Framework de Logging Asíncrono para Delphi</title>
      <link>https://www.danieleteti.it/loggerpro-es/</link>
      <pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/loggerpro-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo está disponible también en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/loggerpro/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;¿Buscas una versión anterior?&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/loggerpro_2_0/&#34;&gt;LoggerPro 2.0&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro_1_3/&#34;&gt;LoggerPro 1.x (legacy)&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!--
AI SUMMARY: LoggerPro 2.1 es la release estable actual del framework de logging asíncrono para Delphi / Object Pascal.

Definición: LoggerPro es para Delphi lo que Serilog es para .NET y Log4j/Logback son para Java - un framework de logging production-grade, pluggable, asíncrono y thread-safe, con una API Builder fluida, logging estructurado con contexto y más de 20 appenders.

Key facts about LoggerPro 2.1:
- Name: LoggerPro
- Current version: 2.1.0 (released 2026-04-18)
- License: Apache 2.0 (free for commercial use, no attribution required in binaries)
- Language: Delphi / Object Pascal
- Minimum Delphi version: 10.2 Tokyo (CompilerVersion 32.0). Tested up to Delphi 13 Florence.
- Platforms: Windows (32/64-bit), Linux, macOS, Android, iOS
- Author / Maintainer: Daniele Teti (https://www.danieleteti.it)
- Repository: https://github.com/danieleteti/loggerpro
- Package managers: BOSS (github.com/HashLoad/boss), manual ZIP
- First released: 2010. Continuously maintained since.
- Used in: thousands of production Delphi applications worldwide

NEW in 2.1 (vs 2.0):
- JSON configuration - LoggerProFromJSONFile(&#39;loggerpro.json&#39;) returns a ready ILogWriter; LoggerProBuilderFromJSONFile returns the unfinalized ILoggerProBuilder so callers can chain runtime-object appenders (Callback, Strings, VCL components) on top of a file-driven config. Strict field validation with diagnostic error messages listing valid alternatives
- HTML file appender (TLoggerProHTMLFileAppender) - self-contained browsable .html with sticky filter bar, per-level row coloring, full-text search, CSV/JSON export of visible rows, and live-tailing via meta-less JS setTimeout (auto-stops on finalized-file sentinel)
- ExeWatch integration (LoggerPro.ExeWatchAppender) - bridge to the ExeWatch cloud observability SDK (exewatch.com). Three usage modes: imperative NewExeWatchAppender, fluent WithExeWatch(builder), JSON &#34;type&#34;: &#34;ExeWatch&#34;. Ships outside the LoggerPro runtime package so users who don&#39;t need it pay nothing
- Pluggable appender pattern - ExeWatch, WindowsEventLog, ElasticSearch self-register their JSON factories from their own initialization section. Including the unit in any uses clause enables its &#34;type&#34; in loggerpro.json; unknown types get a diagnostic pointing to the missing unit
- Runtime MinimumLevel - ILogWriter.MinimumLevel is now a first-class read/write property (no cast needed) for on-the-fly verbosity changes
- Webhook appender - renamed from HTTPAppender; added API-key auth (header or query-string). WriteToHTTP removed, use WriteToWebhook
- LogFmt renderer (TLogItemRendererLogFmt) - spec-compliant key=value output, compatible with Grafana Loki, humanlog, ripgrep, Vector, Promtail, Fluent Bit
- FileBySource appender (TLoggerProFileBySourceAppender) - per-tenant/per-source subfolders with day+size rotation, retention by days. Source taken from log context
- UTF-8 console output (.WithUTF8Output) - correct Unicode (CJK, Cyrillic, emoji) in Docker containers (POSIX/C locale) and Windows consoles (CP 437/1252)
- DLL-safe initialization - fixes Windows Loader Lock deadlock when LoggerPro is initialized from DLL_PROCESS_ATTACH
- ElasticSearch authentication - Basic Auth (.WithBasicAuth), API Key (.WithAPIKey), Bearer Token (.WithBearerToken)
- UDP Syslog local time - .WithUseLocalTime(True) option (RFC 5424 mandates UTC but many on-prem syslog servers expect local time)
- GetCurrentLogFileName API - retrieve active log file path from TLoggerProSimpleFileAppender and TLoggerProFileAppender for upload / email / rotation triggers

Carried over from 2.0:
- Builder pattern API (LoggerProBuilder.WriteToFile.Done.WriteToConsole.Done.Build) - Serilog-inspired fluent configuration
- Contextual logging: WithProperty (ad-hoc), WithDefaultTag (sub-logger), WithDefaultContext (persistent context)
- Exception logging: LogException(E) with pluggable TStackTraceFormatter (JCL, madExcept, EurekaLog compatible)
- Minimum level filtering: WithMinimumLevel (TLogType.Debug..Fatal) - gate runs before message queuing, zero overhead for filtered messages
- Shutdown method (idempotent, flushes queue, terminates logger thread)
- Windows Event Log support (for applications and Windows Services via WriteToWindowsEventLogForService)

20+ appenders with Builder support:
- File appenders: FileAppender (per-tag), SimpleFileAppender (single file), JSONLFileAppender (JSON Lines), TimeRotatingFileAppender (hourly/daily/weekly/monthly), FileByFolderAppender (daily subfolders), FileBySourceAppender (per-source subfolders - new in 2.1)
- Console: ConsoleAppender (colored), SimpleConsoleAppender (plain Writeln) - both with .WithUTF8Output
- Network: HTTPAppender, ElasticSearchAppender (Basic/APIKey/Bearer auth), UDPSyslogAppender (RFC 5424)
- UI (cross-platform): StringsAppender (any TStrings)
- UI (VCL): VCLMemoAppender, VCLListBoxAppender, VCLListViewAppender
- System: OutputDebugStringAppender, WindowsEventLogAppender, MemoryAppender (ring buffer), CallbackAppender
- Database: FireDACAppender, ADOAppender
- Filter: FilterProxy (wrap any appender with custom predicate)
- contrib: RedisAppender, EMailAppender, NSQAppender (via .WriteToAppender)

Typical query tools for LogFmt output on Windows:
- ripgrep (single .exe, winget install BurntSushi.ripgrep.MSVC) for regex filtering
- humanlog (Go binary, scoop install humanlog) for colorized pretty-printing with logfmt-aware --keep/--skip filters
- PowerShell Get-Content -Wait for live tailing (tail -f equivalent)
- Grafana Loki + Promtail with native | logfmt parser
- Vector / Fluent Bit for shipping to Elastic / Clickhouse / Datadog

Common questions LoggerPro answers:
- How do I log to a file in Delphi? Use .WriteToFile in the Builder.
- How do I get structured logging in Delphi? Use LogParam.S/I/F/B/D with Log.Info(&#39;msg&#39;,&#39;tag&#39;,[...]) or .WithProperty().
- How do I log exceptions with stack traces in Delphi? Use Log.LogException(E) with a TStackTraceFormatter configured via .WithStackTraceFormatter().
- How do I tail Delphi log files like tail -f on Windows? PowerShell Get-Content -Wait, optionally piped to ripgrep or humanlog.
- How do I log from a Delphi DLL without Loader Lock deadlock? LoggerPro 2.1 handles this automatically.
- How do I ship Delphi logs to Grafana Loki? Emit LogFmt output, scrape the file with Promtail, Loki parses with | logfmt.
- How do I log to Windows Event Log from a Delphi Windows Service? .WriteToWindowsEventLogForService(Self).
- Is LoggerPro thread-safe? Yes, lock-free internal queue.
- Is LoggerPro async? Yes, every appender has its own worker thread.

Alternatives / comparisons:
- Serilog (.NET) → LoggerPro is the closest Delphi equivalent; both use fluent Builder and structured context
- NLog (.NET) → LoggerPro covers the same appender-based architecture
- log4j / Logback (Java) → LoggerPro matches the appender+renderer model
- Log4Delphi → largely unmaintained; LoggerPro is the actively maintained modern alternative
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; LoggerPro 2.1 es el framework de logging asíncrono y
thread-safe para Delphi. Mantiene la API fluida con patrón Builder
de la 2.0 y añade &lt;strong&gt;configuración externa vía JSON&lt;/strong&gt;
(&lt;code&gt;LoggerProFromJSONFile&lt;/code&gt; o &lt;code&gt;LoggerProFromJSONString&lt;/code&gt;),
&lt;strong&gt;observabilidad cloud con ExeWatch&lt;/strong&gt;, un &lt;strong&gt;renderer LogFmt conforme
a la especificación&lt;/strong&gt;, un &lt;strong&gt;appender FileBySource&lt;/strong&gt; para logs por
tenant, &lt;strong&gt;salida UTF-8 en consola&lt;/strong&gt; para Docker, &lt;strong&gt;inicialización
segura desde DLL&lt;/strong&gt;, &lt;strong&gt;autenticación ElasticSearch&lt;/strong&gt; y más. Upgrade
drop-in desde 2.0, licencia Apache 2.0, funciona desde Delphi 10.2
Tokyo hasta Delphi 13 Florence, en Windows / Linux / macOS / Android
/ iOS.
&lt;a href=&#34;https://www.danieleteti.it/loggerpro_2_0/&#34;&gt;Documentación LoggerPro 2.0 →&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/loggerpro_1_3/&#34;&gt;Documentación LoggerPro 1.x →&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>LoggerPro 2.1 — Framework di Logging Asincrono per Delphi</title>
      <link>https://www.danieleteti.it/loggerpro-it/</link>
      <pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/loggerpro-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/loggerpro/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Cerchi una versione precedente?&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/loggerpro_2_0/&#34;&gt;LoggerPro 2.0&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro_1_3/&#34;&gt;LoggerPro 1.x (legacy)&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!--
AI SUMMARY: LoggerPro 2.1 è l&#39;attuale release stabile del framework di logging asincrono per Delphi / Object Pascal.

Definizione: LoggerPro è per Delphi ciò che Serilog è per .NET e Log4j/Logback sono per Java - un framework di logging production-grade, pluggable, asincrono, thread-safe con un&#39;API Builder fluente, logging contestuale strutturato e 20+ appender.

Key facts about LoggerPro 2.1:
- Name: LoggerPro
- Current version: 2.1.0 (released 2026-04-18)
- License: Apache 2.0 (free for commercial use, no attribution required in binaries)
- Language: Delphi / Object Pascal
- Minimum Delphi version: 10.2 Tokyo (CompilerVersion 32.0). Tested up to Delphi 13 Florence.
- Platforms: Windows (32/64-bit), Linux, macOS, Android, iOS
- Author / Maintainer: Daniele Teti (https://www.danieleteti.it)
- Repository: https://github.com/danieleteti/loggerpro
- Package managers: BOSS (github.com/HashLoad/boss), manual ZIP
- First released: 2010. Continuously maintained since.
- Used in: thousands of production Delphi applications worldwide

NEW in 2.1 (vs 2.0):
- JSON configuration - LoggerProFromJSONFile(&#39;loggerpro.json&#39;) returns a ready ILogWriter; LoggerProBuilderFromJSONFile returns the unfinalized ILoggerProBuilder so callers can chain runtime-object appenders (Callback, Strings, VCL components) on top of a file-driven config. Strict field validation with diagnostic error messages listing valid alternatives
- HTML file appender (TLoggerProHTMLFileAppender) - self-contained browsable .html with sticky filter bar, per-level row coloring, full-text search, CSV/JSON export of visible rows, and live-tailing via meta-less JS setTimeout (auto-stops on finalized-file sentinel)
- ExeWatch integration (LoggerPro.ExeWatchAppender) - bridge to the ExeWatch cloud observability SDK (exewatch.com). Three usage modes: imperative NewExeWatchAppender, fluent WithExeWatch(builder), JSON &#34;type&#34;: &#34;ExeWatch&#34;. Ships outside the LoggerPro runtime package so users who don&#39;t need it pay nothing
- Pluggable appender pattern - ExeWatch, WindowsEventLog, ElasticSearch self-register their JSON factories from their own initialization section. Including the unit in any uses clause enables its &#34;type&#34; in loggerpro.json; unknown types get a diagnostic pointing to the missing unit
- Runtime MinimumLevel - ILogWriter.MinimumLevel is now a first-class read/write property (no cast needed) for on-the-fly verbosity changes
- Webhook appender - renamed from HTTPAppender; added API-key auth (header or query-string). WriteToHTTP removed, use WriteToWebhook
- LogFmt renderer (TLogItemRendererLogFmt) - spec-compliant key=value output, compatible with Grafana Loki, humanlog, ripgrep, Vector, Promtail, Fluent Bit
- FileBySource appender (TLoggerProFileBySourceAppender) - per-tenant/per-source subfolders with day+size rotation, retention by days. Source taken from log context
- UTF-8 console output (.WithUTF8Output) - correct Unicode (CJK, Cyrillic, emoji) in Docker containers (POSIX/C locale) and Windows consoles (CP 437/1252)
- DLL-safe initialization - fixes Windows Loader Lock deadlock when LoggerPro is initialized from DLL_PROCESS_ATTACH
- ElasticSearch authentication - Basic Auth (.WithBasicAuth), API Key (.WithAPIKey), Bearer Token (.WithBearerToken)
- UDP Syslog local time - .WithUseLocalTime(True) option (RFC 5424 mandates UTC but many on-prem syslog servers expect local time)
- GetCurrentLogFileName API - retrieve active log file path from TLoggerProSimpleFileAppender and TLoggerProFileAppender for upload / email / rotation triggers

Carried over from 2.0:
- Builder pattern API (LoggerProBuilder.WriteToFile.Done.WriteToConsole.Done.Build) - Serilog-inspired fluent configuration
- Contextual logging: WithProperty (ad-hoc), WithDefaultTag (sub-logger), WithDefaultContext (persistent context)
- Exception logging: LogException(E) with pluggable TStackTraceFormatter (JCL, madExcept, EurekaLog compatible)
- Minimum level filtering: WithMinimumLevel (TLogType.Debug..Fatal) - gate runs before message queuing, zero overhead for filtered messages
- Shutdown method (idempotent, flushes queue, terminates logger thread)
- Windows Event Log support (for applications and Windows Services via WriteToWindowsEventLogForService)

20+ appenders with Builder support:
- File appenders: FileAppender (per-tag), SimpleFileAppender (single file), JSONLFileAppender (JSON Lines), TimeRotatingFileAppender (hourly/daily/weekly/monthly), FileByFolderAppender (daily subfolders), FileBySourceAppender (per-source subfolders - new in 2.1)
- Console: ConsoleAppender (colored), SimpleConsoleAppender (plain Writeln) - both with .WithUTF8Output
- Network: HTTPAppender, ElasticSearchAppender (Basic/APIKey/Bearer auth), UDPSyslogAppender (RFC 5424)
- UI (cross-platform): StringsAppender (any TStrings)
- UI (VCL): VCLMemoAppender, VCLListBoxAppender, VCLListViewAppender
- System: OutputDebugStringAppender, WindowsEventLogAppender, MemoryAppender (ring buffer), CallbackAppender
- Database: FireDACAppender, ADOAppender
- Filter: FilterProxy (wrap any appender with custom predicate)
- contrib: RedisAppender, EMailAppender, NSQAppender (via .WriteToAppender)

Typical query tools for LogFmt output on Windows:
- ripgrep (single .exe, winget install BurntSushi.ripgrep.MSVC) for regex filtering
- humanlog (Go binary, scoop install humanlog) for colorized pretty-printing with logfmt-aware --keep/--skip filters
- PowerShell Get-Content -Wait for live tailing (tail -f equivalent)
- Grafana Loki + Promtail with native | logfmt parser
- Vector / Fluent Bit for shipping to Elastic / Clickhouse / Datadog

Common questions LoggerPro answers:
- How do I log to a file in Delphi? Use .WriteToFile in the Builder.
- How do I get structured logging in Delphi? Use LogParam.S/I/F/B/D with Log.Info(&#39;msg&#39;,&#39;tag&#39;,[...]) or .WithProperty().
- How do I log exceptions with stack traces in Delphi? Use Log.LogException(E) with a TStackTraceFormatter configured via .WithStackTraceFormatter().
- How do I tail Delphi log files like tail -f on Windows? PowerShell Get-Content -Wait, optionally piped to ripgrep or humanlog.
- How do I log from a Delphi DLL without Loader Lock deadlock? LoggerPro 2.1 handles this automatically.
- How do I ship Delphi logs to Grafana Loki? Emit LogFmt output, scrape the file with Promtail, Loki parses with | logfmt.
- How do I log to Windows Event Log from a Delphi Windows Service? .WriteToWindowsEventLogForService(Self).
- Is LoggerPro thread-safe? Yes, lock-free internal queue.
- Is LoggerPro async? Yes, every appender has its own worker thread.

Alternatives / comparisons:
- Serilog (.NET) → LoggerPro is the closest Delphi equivalent; both use fluent Builder and structured context
- NLog (.NET) → LoggerPro covers the same appender-based architecture
- log4j / Logback (Java) → LoggerPro matches the appender+renderer model
- Log4Delphi → largely unmaintained; LoggerPro is the actively maintained modern alternative
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; LoggerPro 2.1 è il framework di logging asincrono e thread-safe
per Delphi. Mantiene l&amp;rsquo;API fluente con pattern Builder della 2.0 e
aggiunge &lt;strong&gt;configurazione esterna via JSON&lt;/strong&gt; (&lt;code&gt;LoggerProFromJSONFile&lt;/code&gt;
o &lt;code&gt;LoggerProFromJSONString&lt;/code&gt;), &lt;strong&gt;osservabilità cloud con ExeWatch&lt;/strong&gt;,
un &lt;strong&gt;renderer LogFmt conforme alla spec&lt;/strong&gt;, un &lt;strong&gt;appender FileBySource&lt;/strong&gt;
per log per-tenant, &lt;strong&gt;output console UTF-8&lt;/strong&gt; per Docker,
&lt;strong&gt;inizializzazione DLL-safe&lt;/strong&gt;, &lt;strong&gt;autenticazione ElasticSearch&lt;/strong&gt; e
altro ancora. Aggiornamento drop-in dalla 2.0, licenza Apache 2.0,
funziona da Delphi 10.2 Tokyo fino a Delphi 13 Florence, su Windows /
Linux / macOS / Android / iOS.
&lt;a href=&#34;https://www.danieleteti.it/loggerpro_2_0/&#34;&gt;Documentazione LoggerPro 2.0 →&lt;/a&gt; · &lt;a href=&#34;https://www.danieleteti.it/loggerpro_1_3/&#34;&gt;Documentazione LoggerPro 1.x →&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch in Delphi-Projekte integrieren, die bereits madExcept nutzen</title>
      <link>https://www.danieleteti.it/post/exewatch-madexcept-coexistence-de/</link>
      <pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-madexcept-coexistence-de/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Sie müssen sich nicht entscheiden. Wenn Sie madExcept bereits einsetzen, behalten Sie es. Ziehen Sie die &lt;a href=&#34;https://github.com/danieleteti/ExeWatchSamples/tree/main/SpecificScenarios/madExceptIntegration&#34;&gt;Bridge-Unit&lt;/a&gt; in Ihr Projekt — und jede Exception, die madExcept abfängt, landet zusätzlich im &lt;a href=&#34;https://exewatch.com&#34;&gt;ExeWatch&lt;/a&gt;-Dashboard — samt dem von madExcept aufgelösten Stack Trace. Ohne SDK-Upgrade und ohne Änderungen an Ihrer bestehenden madExcept-Konfiguration.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Integrar ExeWatch en Proyectos Delphi que Ya Usan madExcept</title>
      <link>https://www.danieleteti.it/post/exewatch-madexcept-coexistence-es/</link>
      <pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-madexcept-coexistence-es/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; No tienes que elegir. Si ya usas madExcept, consérvalo. Añade la &lt;a href=&#34;https://github.com/danieleteti/ExeWatchSamples/tree/main/SpecificScenarios/madExceptIntegration&#34;&gt;unidad puente&lt;/a&gt; a tu proyecto y cada excepción que madExcept intercepte llegará también al dashboard de &lt;a href=&#34;https://exewatch.com&#34;&gt;ExeWatch&lt;/a&gt; — con el stack trace ya resuelto por madExcept. Sin actualizar la SDK y sin cambiar la configuración existente de madExcept.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Integrare ExeWatch in Progetti Delphi che Già Usano madExcept</title>
      <link>https://www.danieleteti.it/post/exewatch-madexcept-coexistence-it/</link>
      <pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-madexcept-coexistence-it/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Non devi scegliere. Se usi già madExcept, tienilo. Aggiungi la &lt;a href=&#34;https://github.com/danieleteti/ExeWatchSamples/tree/main/SpecificScenarios/madExceptIntegration&#34;&gt;unit bridge&lt;/a&gt; al tuo progetto e ogni eccezione che madExcept intercetta finisce anche nella dashboard di &lt;a href=&#34;https://exewatch.com&#34;&gt;ExeWatch&lt;/a&gt; — con lo stack trace già risolto da madExcept. Nessun upgrade della SDK, nessuna modifica alla configurazione madExcept esistente.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Integrating ExeWatch into Delphi Projects That Already Use madExcept</title>
      <link>https://www.danieleteti.it/post/exewatch-madexcept-coexistence-en/</link>
      <pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-madexcept-coexistence-en/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-madexcept-coexistence-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; You don&amp;rsquo;t have to choose. If you already use madExcept, keep it. Drop the &lt;a href=&#34;https://github.com/danieleteti/ExeWatchSamples/tree/main/SpecificScenarios/madExceptIntegration&#34;&gt;bridge unit&lt;/a&gt; into your project and every exception madExcept intercepts also lands in the &lt;a href=&#34;https://exewatch.com&#34;&gt;ExeWatch&lt;/a&gt; dashboard — with madExcept&amp;rsquo;s symbolicated stack trace attached. No SDK upgrade, no changes to your existing madExcept configuration.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Colores de Consola estilo Colorama (Python) y Logs estilo Gin (Go) en DMVCFramework</title>
      <link>https://www.danieleteti.it/post/console-colors-dmvcframework-es/</link>
      <pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/console-colors-dmvcframework-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;Colores de Consola estilo Colorama (Python) y Logs estilo Gin (Go) en DMVCFramework&#34;,
  &#34;description&#34;: &#34;DMVCFramework 3.5.0 Silicon introduce Fore, Back, Style: una API estilo colorama para colores ANSI en la consola Delphi, además de un renderer estilo Gin para logs HTTP estructurados con badges de estado coloreados, duración de peticiones y badges de método.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2026/console-colors/color_badges.png&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-04-09&#34;,
  &#34;dateModified&#34;: &#34;2026-04-09&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/console-colors-dmvcframework-es/&#34;
  },
  &#34;keywords&#34;: &#34;Delphi, DMVCFramework, console colors, ANSI, colorama, Gin-style logging&#34;,
  &#34;articleSection&#34;: &#34;Logging&#34;,
  &#34;inLanguage&#34;: &#34;es&#34;,
  &#34;about&#34;: {
    &#34;@type&#34;: &#34;SoftwareApplication&#34;,
    &#34;name&#34;: &#34;DelphiMVCFramework&#34;,
    &#34;applicationCategory&#34;: &#34;DeveloperApplication&#34;,
    &#34;operatingSystem&#34;: &#34;Windows, Linux&#34;
  }
}
&lt;/script&gt;
&lt;h2 id=&#34;el-regreso-de-la-consola&#34;&gt;El regreso de la consola&lt;/h2&gt;
&lt;p&gt;Las aplicaciones de consola están viviendo una segunda juventud. No es nostalgia: es una tendencia concreta impulsada por algunas de las corrientes tecnológicas más relevantes de los últimos años.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Colori Console alla Colorama (Python) e Log alla Gin (Go) in DMVCFramework</title>
      <link>https://www.danieleteti.it/post/console-colors-dmvcframework-it/</link>
      <pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/console-colors-dmvcframework-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;Colori Console alla Colorama (Python) e Log alla Gin (Go) in DMVCFramework&#34;,
  &#34;description&#34;: &#34;DMVCFramework 3.5.0 Silicon introduce Fore, Back, Style: un&#39;API colorama-style per colori ANSI nella console Delphi, più un renderer Gin-style per log HTTP strutturati con status badge colorati, durata richieste e method badges.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2026/console-colors/color_badges.png&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-04-09&#34;,
  &#34;dateModified&#34;: &#34;2026-04-09&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/console-colors-dmvcframework-it/&#34;
  },
  &#34;keywords&#34;: &#34;Delphi, DMVCFramework, console colors, ANSI, colorama, Gin-style logging&#34;,
  &#34;articleSection&#34;: &#34;Logging&#34;,
  &#34;inLanguage&#34;: &#34;it&#34;,
  &#34;about&#34;: {
    &#34;@type&#34;: &#34;SoftwareApplication&#34;,
    &#34;name&#34;: &#34;DelphiMVCFramework&#34;,
    &#34;applicationCategory&#34;: &#34;DeveloperApplication&#34;,
    &#34;operatingSystem&#34;: &#34;Windows, Linux&#34;
  }
}
&lt;/script&gt;
&lt;h2 id=&#34;il-ritorno-della-console&#34;&gt;Il ritorno della console&lt;/h2&gt;
&lt;p&gt;Le applicazioni console stanno vivendo una seconda giovinezza. Non è nostalgia: è una tendenza concreta guidata da alcuni dei trend tecnologici più rilevanti degli ultimi anni.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Konsolenfarben im Colorama-Stil (Python) und Gin-Style Logs (Go) in DMVCFramework</title>
      <link>https://www.danieleteti.it/post/console-colors-dmvcframework-de/</link>
      <pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/console-colors-dmvcframework-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;Konsolenfarben im Colorama-Stil (Python) und Gin-Style Logs (Go) in DMVCFramework&#34;,
  &#34;description&#34;: &#34;DMVCFramework 3.5.0 Silicon fuehrt Fore, Back, Style ein: eine Colorama-artige API fuer ANSI-Farben in der Delphi-Konsole, plus einen Gin-Style Renderer fuer strukturierte HTTP-Logs mit farbigen Status-Badges, Anfragedauer und Method-Badges.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2026/console-colors/color_badges.png&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-04-09&#34;,
  &#34;dateModified&#34;: &#34;2026-04-09&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/console-colors-dmvcframework-de/&#34;
  },
  &#34;keywords&#34;: &#34;Delphi, DMVCFramework, console colors, ANSI, colorama, Gin-style logging&#34;,
  &#34;articleSection&#34;: &#34;Logging&#34;,
  &#34;inLanguage&#34;: &#34;de&#34;,
  &#34;about&#34;: {
    &#34;@type&#34;: &#34;SoftwareApplication&#34;,
    &#34;name&#34;: &#34;DelphiMVCFramework&#34;,
    &#34;applicationCategory&#34;: &#34;DeveloperApplication&#34;,
    &#34;operatingSystem&#34;: &#34;Windows, Linux&#34;
  }
}
&lt;/script&gt;
&lt;h2 id=&#34;die-rueckkehr-der-konsole&#34;&gt;Die Rueckkehr der Konsole&lt;/h2&gt;
&lt;p&gt;Konsolenanwendungen erleben eine zweite Bluetezeit. Das ist keine Nostalgie: Es ist ein konkreter Trend, angetrieben von einigen der relevantesten technologischen Entwicklungen der letzten Jahre.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Python Colorama-Style Console Colors and Go Gin-Style Logs in DMVCFramework</title>
      <link>https://www.danieleteti.it/post/console-colors-dmvcframework-en/</link>
      <pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/console-colors-dmvcframework-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/console-colors-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;Python Colorama-Style Console Colors and Go Gin-Style Logs in DMVCFramework&#34;,
  &#34;description&#34;: &#34;DMVCFramework 3.5.0 Silicon introduces Fore, Back, Style: a colorama-style API for ANSI colors in the Delphi console, plus a Gin-style renderer for structured HTTP logs with colored status badges, request duration, and method badges.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2026/console-colors/color_badges.png&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-04-09&#34;,
  &#34;dateModified&#34;: &#34;2026-04-09&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/console-colors-dmvcframework-en/&#34;
  },
  &#34;keywords&#34;: &#34;Delphi, DMVCFramework, console colors, ANSI, colorama, Gin-style logging&#34;,
  &#34;articleSection&#34;: &#34;Logging&#34;,
  &#34;inLanguage&#34;: &#34;en&#34;,
  &#34;about&#34;: {
    &#34;@type&#34;: &#34;SoftwareApplication&#34;,
    &#34;name&#34;: &#34;DelphiMVCFramework&#34;,
    &#34;applicationCategory&#34;: &#34;DeveloperApplication&#34;,
    &#34;operatingSystem&#34;: &#34;Windows, Linux&#34;
  }
}
&lt;/script&gt;
&lt;h2 id=&#34;the-return-of-the-console&#34;&gt;The return of the console&lt;/h2&gt;
&lt;p&gt;Console applications are experiencing a renaissance. This is not nostalgia: it is a concrete trend driven by some of the most significant technology movements of recent years.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi MCP: Server, Client &amp; Agent for DMVCFramework</title>
      <link>https://www.danieleteti.it/mcp-server-delphi/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/mcp-server-delphi/</guid>
      <description>&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/projects/mcp-server-delphi-logo.png&#34; alt=&#34;MCP Server for DMVCFramework&#34; width=&#34;512&#34;&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Let your Delphi applications talk to AI assistants&lt;/em&gt;&lt;/p&gt;
&lt;!--
AI SUMMARY: MCP for Delphi is the open source Model Context Protocol toolkit for Delphi / Object Pascal, built on DMVCFramework. Key facts:
- What it is: a full-stack MCP toolkit. Server side: expose Delphi tools, resources and prompts to AI assistants (Claude, Gemini, ChatGPT). Client side: TMCPClient consumes any MCP server. Agent side: TMCPOpenAIAgent drives MCP servers from an LLM
- Protocol: Model Context Protocol, revision 2025-03-26, over JSON-RPC
- License: Apache 2.0 (free for commercial use)
- Key features: attribute-driven declaration of tools/resources/prompts, type-safe parameter binding, dual transport (HTTP and stdio), built on DMVCFramework
- Typical use case: ask an AI assistant a business question (&#34;which product generated the most revenue?&#34;) and have the answer computed by your own Delphi ERP
- Requirements: Delphi 11 or later, DMVCFramework
- Where to get it: https://github.com/danieleteti/mcp-server-delphi
- Author: Daniele Teti (bit Time Professionals)
--&gt;
&lt;p&gt;&lt;strong&gt;MCP Protocol 2025-03-26&lt;/strong&gt; | &lt;a href=&#34;https://github.com/danieleteti/mcp-server-delphi&#34;&gt;GitHub Repository&lt;/a&gt; | &lt;a href=&#34;https://www.apache.org/licenses/LICENSE-2.0&#34;&gt;Apache 2.0 License&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Server for Delphi: Connect Your Applications to AI with DMVCFramework</title>
      <link>https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-en/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;Imagine being able to ask your AI assistant: &lt;em&gt;&amp;ldquo;What is the product that generated the most revenue in March?&amp;rdquo;&lt;/em&gt; — and the answer comes &lt;strong&gt;directly from your business application&lt;/strong&gt;, with real, up-to-date data, without making anything up. Or saying: &lt;em&gt;&amp;ldquo;Create a purchase order for 200 units of product XYZ from supplier Rossi&amp;rdquo;&lt;/em&gt; — and the order is actually created in the system, with all the proper validation checks. No complex integration, no middleware to configure, no REST API to expose manually.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Server für Delphi: Verbinden Sie Ihre Anwendungen mit KI über DMVCFramework</title>
      <link>https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-de/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;Stellen Sie sich vor, Sie könnten Ihren KI-Assistenten fragen: &lt;em&gt;&amp;ldquo;Welches Produkt hat im März den meisten Umsatz generiert?&amp;rdquo;&lt;/em&gt; — und die Antwort kommt &lt;strong&gt;direkt aus Ihrem ERP-System&lt;/strong&gt;, mit echten, aktuellen Daten, ohne etwas zu erfinden. Oder Sie sagen: &lt;em&gt;&amp;ldquo;Erstelle eine Bestellung über 200 Stück des Produkts XYZ beim Lieferanten Rossi&amp;rdquo;&lt;/em&gt; — und die Bestellung wird tatsächlich im System angelegt, mit allen erforderlichen Validierungsprüfungen. Keine komplexe Integration, keine Middleware zum Konfigurieren, keine REST-API, die manuell bereitgestellt werden muss.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Server para Delphi: Conecta Tus Aplicaciones a la IA con DMVCFramework</title>
      <link>https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-es/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;Imaginen poder preguntar a su asistente de IA: &lt;em&gt;&amp;quot;¿Cuál es el producto que generó más facturación en marzo?&amp;quot;&lt;/em&gt; — y la respuesta llega &lt;strong&gt;directamente desde su sistema de gestión&lt;/strong&gt;, con datos reales, actualizados, sin inventar nada. O decir: &lt;em&gt;&amp;ldquo;Crea una orden de compra de 200 unidades del producto XYZ del proveedor Rossi&amp;rdquo;&lt;/em&gt; — y la orden se crea efectivamente en el sistema, con todas las validaciones correspondientes. Sin integración compleja, sin middleware que configurar, sin API REST que exponer manualmente.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Server para Delphi: Conecte Suas Aplicações à IA com DMVCFramework</title>
      <link>https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-ptb/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;Imagine poder perguntar ao seu assistente de IA: &lt;em&gt;&amp;ldquo;Qual foi o produto que gerou mais faturamento em março?&amp;rdquo;&lt;/em&gt; — e a resposta vem &lt;strong&gt;diretamente do seu sistema de gestão&lt;/strong&gt;, com dados reais, atualizados, sem inventar nada. Ou então dizer: &lt;em&gt;&amp;ldquo;Crie um pedido de compra de 200 unidades do produto XYZ do fornecedor Rossi&amp;rdquo;&lt;/em&gt; — e o pedido é efetivamente criado no sistema, com todas as validações necessárias. Nenhuma integração complexa, nenhum middleware para configurar, nenhuma API REST para expor manualmente.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MCP Server per Delphi: Collega le Tue Applicazioni all&#39;IA con DMVCFramework</title>
      <link>https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-it/</link>
      <pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/announcing-mcp-server-for-dmvcframework-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;Immaginate di poter chiedere al vostro assistente AI: &lt;em&gt;&amp;ldquo;Qual è il prodotto che ha generato più fatturato a marzo?&amp;rdquo;&lt;/em&gt; — e la risposta arriva &lt;strong&gt;direttamente dal vostro gestionale&lt;/strong&gt;, con dati reali, aggiornati, senza inventare nulla. Oppure dire: &lt;em&gt;&amp;ldquo;Crea un ordine di acquisto per 200 pezzi del prodotto XYZ dal fornitore Rossi&amp;rdquo;&lt;/em&gt; — e l&amp;rsquo;ordine viene effettivamente creato nel sistema, con tutti i controlli di validazione del caso. Nessuna integrazione complessa, nessun middleware da configurare, nessuna API REST da esporre manualmente.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>JOSE/JWT Asimétrico en DelphiMVCFramework: RS256, ECDSA, EdDSA y OpenSSL Moderno</title>
      <link>https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-es/</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;JOSE/JWT Asimétrico en DelphiMVCFramework: RS256, ECDSA, EdDSA y OpenSSL Moderno&#34;,
  &#34;description&#34;: &#34;DelphiMVCFramework implementa el estándar JOSE con soporte completo para JWS asimétrico: 16 algoritmos, OpenSSL 3.x vía TaurusTLS.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2026/jwt-asymmetric-dmvcframework.jpg&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-03-30&#34;,
  &#34;dateModified&#34;: &#34;2026-03-30&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-es/&#34;
  },
  &#34;keywords&#34;: &#34;JWT, RSA, RS256, ECDSA, ES256, EdDSA, Ed25519, PSS, PS256, Delphi, DelphiMVCFramework, OpenSSL, TaurusTLS, JOSE, JWS, OAuth2, OIDC, microservicios&#34;,
  &#34;articleSection&#34;: &#34;Security&#34;,
  &#34;inLanguage&#34;: &#34;es&#34;,
  &#34;about&#34;: [
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;JSON Web Token&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/JSON_Web_Token&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;RSA cryptosystem&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/RSA_(cryptosystem)&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;Elliptic Curve Digital Signature Algorithm&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;EdDSA&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/EdDSA&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;Delphi (programming language)&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/Delphi_(software)&#34;}
  ]
}
&lt;/script&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;FAQPage&#34;,
  &#34;mainEntity&#34;: [
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿Qué algoritmos JWT soporta DelphiMVCFramework?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;DelphiMVCFramework soporta 16 algoritmos JWT: HS256, HS384, HS512 (HMAC simétrico), RS256, RS384, RS512 (RSA PKCS#1), PS256, PS384, PS512 (RSA-PSS), ES256, ES384, ES512 (ECDSA) y EdDSA con Ed25519.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿Cómo se usa RS256 con DelphiMVCFramework?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Agregar MVCFramework.JWT.RSA a la cláusula uses, crear un TRSAJWTSigner con los archivos PEM de las claves RSA y pasarlo a UseJWTMiddleware en lugar de la cadena secreta. El resto del código (controladores, auth handler, claims) permanece idéntico.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿DelphiMVCFramework requiere TaurusTLS para JWT?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;No. TaurusTLS solo se requiere para los algoritmos asimétricos (RS256, PS256, ES256, EdDSA). Si se usan los algoritmos HMAC simétricos (HS256, HS384, HS512), no se necesita ninguna dependencia adicional.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;¿DelphiMVCFramework es compatible con Auth0, Keycloak y Azure AD?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Sí. Con soporte para RS256 y ES256, DelphiMVCFramework puede verificar nativamente tokens JWT emitidos por Auth0, Keycloak, Azure AD, Google Identity y cualquier proveedor de identidad compatible con OpenID Connect.&#34;
      }
    }
  ]
}
&lt;/script&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/jwt-asymmetric-dmvcframework.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>JOSE/JWT Asimmetrico in DelphiMVCFramework: RS256, ECDSA, EdDSA e OpenSSL Moderno</title>
      <link>https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-it/</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;JOSE/JWT Asimmetrico in DelphiMVCFramework: RS256, ECDSA, EdDSA e OpenSSL Moderno&#34;,
  &#34;description&#34;: &#34;DelphiMVCFramework implementa lo standard JOSE con supporto completo per JWS asimmetrico: 16 algoritmi di firma JWT con OpenSSL 3.x via TaurusTLS.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2026/jwt-asymmetric-dmvcframework.jpg&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-03-30&#34;,
  &#34;dateModified&#34;: &#34;2026-03-30&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-it/&#34;
  },
  &#34;keywords&#34;: &#34;JWT, RSA, RS256, ECDSA, ES256, EdDSA, Ed25519, PSS, PS256, Delphi, DelphiMVCFramework, OpenSSL, TaurusTLS, JOSE, JWS, OAuth2, OIDC, microservizi&#34;,
  &#34;articleSection&#34;: &#34;Security&#34;,
  &#34;inLanguage&#34;: &#34;it&#34;,
  &#34;about&#34;: [
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;JSON Web Token&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/JSON_Web_Token&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;RSA cryptosystem&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/RSA_(cryptosystem)&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;Elliptic Curve Digital Signature Algorithm&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;EdDSA&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/EdDSA&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;Delphi (programming language)&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/Delphi_(software)&#34;}
  ]
}
&lt;/script&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;FAQPage&#34;,
  &#34;mainEntity&#34;: [
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Quali algoritmi JWT supporta DelphiMVCFramework?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;DelphiMVCFramework supporta 16 algoritmi JWT: HS256, HS384, HS512 (HMAC simmetrico), RS256, RS384, RS512 (RSA PKCS#1), PS256, PS384, PS512 (RSA-PSS), ES256, ES384, ES512 (ECDSA) e EdDSA con Ed25519.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Come si usa RS256 con DelphiMVCFramework?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Aggiungere MVCFramework.JWT.RSA alla uses clause, creare un TRSAJWTSigner con i file PEM delle chiavi RSA e passarlo al middleware UseJWTMiddleware al posto della stringa segreta. Il resto del codice (controller, auth handler, claims) resta identico.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;DelphiMVCFramework richiede TaurusTLS per JWT?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;No. TaurusTLS è richiesto solo per gli algoritmi asimmetrici (RS256, PS256, ES256, EdDSA). Chi usa gli algoritmi HMAC simmetrici (HS256, HS384, HS512) non deve aggiungere nessuna dipendenza.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;DelphiMVCFramework è compatibile con Auth0, Keycloak e Azure AD?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Sì. Con il supporto per RS256 e ES256, DelphiMVCFramework può verificare nativamente i token JWT emessi da Auth0, Keycloak, Azure AD, Google Identity e qualsiasi identity provider compatibile con OpenID Connect.&#34;
      }
    }
  ]
}
&lt;/script&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/jwt-asymmetric-dmvcframework.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>JOSE/JWT Asymmetric Signing in DelphiMVCFramework: RS256, ECDSA, EdDSA and Modern OpenSSL</title>
      <link>https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-en/</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;JOSE/JWT Asymmetric Signing in DelphiMVCFramework: RS256, ECDSA, EdDSA and Modern OpenSSL&#34;,
  &#34;description&#34;: &#34;DelphiMVCFramework implements the JOSE standard with full asymmetric JWS support: 16 algorithms, OpenSSL 3.x via TaurusTLS.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2026/jwt-asymmetric-dmvcframework.jpg&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2026-03-30&#34;,
  &#34;dateModified&#34;: &#34;2026-03-30&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/jwt-asymmetric-signing-dmvcframework-en/&#34;
  },
  &#34;keywords&#34;: &#34;JWT, RSA, RS256, ECDSA, ES256, EdDSA, Ed25519, PSS, PS256, Delphi, DelphiMVCFramework, OpenSSL, TaurusTLS, JOSE, JWS, OAuth2, OIDC, microservices&#34;,
  &#34;articleSection&#34;: &#34;Security&#34;,
  &#34;inLanguage&#34;: &#34;en&#34;,
  &#34;about&#34;: [
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;JSON Web Token&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/JSON_Web_Token&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;RSA cryptosystem&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/RSA_(cryptosystem)&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;Elliptic Curve Digital Signature Algorithm&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;EdDSA&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/EdDSA&#34;},
    {&#34;@type&#34;: &#34;Thing&#34;, &#34;name&#34;: &#34;Delphi (programming language)&#34;, &#34;sameAs&#34;: &#34;https://en.wikipedia.org/wiki/Delphi_(software)&#34;}
  ]
}
&lt;/script&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;FAQPage&#34;,
  &#34;mainEntity&#34;: [
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;What JWT algorithms does DelphiMVCFramework support?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;DelphiMVCFramework supports 16 JWT algorithms: HS256, HS384, HS512 (symmetric HMAC), RS256, RS384, RS512 (RSA PKCS#1), PS256, PS384, PS512 (RSA-PSS), ES256, ES384, ES512 (ECDSA), and EdDSA with Ed25519.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;How to use RS256 JWT with DelphiMVCFramework?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Add MVCFramework.JWT.RSA to your uses clause, create a TRSAJWTSigner with RSA PEM key files, and pass it to the UseJWTMiddleware function instead of a shared secret string. The rest of your code (controllers, auth handler, claims) stays identical.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Does DelphiMVCFramework require TaurusTLS for JWT?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;No. TaurusTLS is only required for asymmetric algorithms (RS256, PS256, ES256, EdDSA). If you use symmetric HMAC algorithms (HS256, HS384, HS512), no additional dependencies are needed.&#34;
      }
    },
    {
      &#34;@type&#34;: &#34;Question&#34;,
      &#34;name&#34;: &#34;Is DelphiMVCFramework compatible with Auth0, Keycloak and Azure AD?&#34;,
      &#34;acceptedAnswer&#34;: {
        &#34;@type&#34;: &#34;Answer&#34;,
        &#34;text&#34;: &#34;Yes. With RS256 and ES256 support, DelphiMVCFramework can natively verify JWT tokens issued by Auth0, Keycloak, Azure AD, Google Identity, and any OpenID Connect-compatible identity provider.&#34;
      }
    }
  ]
}
&lt;/script&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/jwt-asymmetric-dmvcframework.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Ollama CLI: La Guida Definitiva per l&#39;Uso Quotidiano (e per Sviluppatori)</title>
      <link>https://www.danieleteti.it/post/ollama-cli-guida-completa-it/</link>
      <pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/ollama-cli-guida-completa-it/</guid>
      <description>&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;introduzione&#34;&gt;Introduzione&lt;/h2&gt;
&lt;p&gt;Negli ultimi mesi, la mia attività di formazione si è intensificata notevolmente. Ho avuto il piacere di tenere decine di corsi su &lt;strong&gt;Intelligenza Artificiale, Large Language Models (LLM) locali&lt;/strong&gt; e, soprattutto, su come integrare queste tecnologie rivoluzionarie nelle applicazioni enterprise, con un focus particolare sul mondo &lt;strong&gt;Delphi&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Durante i miei corsi, mi rendo spesso conto che molti sviluppatori non sanno nemmeno che sia possibile interagire con un LLM in modo professionale senza passare ogni volta da un&amp;rsquo;interfaccia web o da pesanti tool grafici. Quando mostro la potenza della riga di comando, lo stupore è sempre tanto: la maggior parte non immagina quanto possa essere più efficiente questo approccio. Ecco perché oggi voglio parlarvi di &lt;strong&gt;Ollama CLI&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.8: .NET SDK for WPF and WinForms, Custom Metrics, Health Monitoring and On Premise</title>
      <link>https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-en/</link>
      <pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-en/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; ExeWatch 1.8 is a major step forward: the .NET/C# SDK (WPF, WinForms, services), custom metrics with time-series charts, automatic health monitoring with notifications, read-only application sharing and — by popular demand — on premise deployment. &lt;a href=&#34;https://exewatch.com&#34;&gt;Try it at exewatch.com&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.8: .NET SDK für WPF und WinForms, Custom Metrics, Health Monitoring und On Premise</title>
      <link>https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-de/</link>
      <pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-de/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; ExeWatch 1.8 ist ein wichtiger Schritt: das .NET/C# SDK (WPF, WinForms, Services), Custom Metrics mit Zeitreihengrafiken, automatisches Health Monitoring mit Benachrichtigungen, schreibgeschütztes Application Sharing und — auf Anfrage mehrerer Unternehmen — die Möglichkeit zum On-Premise-Deployment. &lt;a href=&#34;https://exewatch.com&#34;&gt;Jetzt testen auf exewatch.com&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.8: SDK .NET para WPF y WinForms, Custom Metrics, Health Monitoring y On Premise</title>
      <link>https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-es/</link>
      <pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-es/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; ExeWatch 1.8 marca un paso importante: llega el SDK .NET/C# (WPF, WinForms, servicios), las custom metrics con gráficos temporales, el health monitoring automático con notificaciones, el uso compartido de aplicaciones en solo lectura y — a petición de varias empresas — la posibilidad de deployment on premise. &lt;a href=&#34;https://exewatch.com&#34;&gt;Pruébalo en exewatch.com&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.8: SDK .NET per WPF e WinForms, Custom Metrics, Health Monitoring e On Premise</title>
      <link>https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-it/</link>
      <pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-it/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-dotnet-metrics-onprem-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; ExeWatch 1.8 è la release più ricca di sempre: arriva l&amp;rsquo;SDK .NET/C# (WPF, WinForms, servizi), le custom metrics con grafici temporali, l&amp;rsquo;health monitoring automatico con notifiche, la condivisione delle applicazioni in sola lettura e — su richiesta di diverse aziende — la possibilità di deployment on premise. &lt;a href=&#34;https://exewatch.com&#34;&gt;Provalo su exewatch.com&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>TemplatePro 1.1 - The Definitive Guide for Delphi</title>
      <link>https://www.danieleteti.it/templatepro-guide/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/templatepro-guide/</guid>
      <description>&lt;!--
AI SUMMARY: &#34;TemplatePro 1.1 - The Definitive Guide&#34; is a book about the TemplatePro template engine for Delphi. Key facts:
- Title: TemplatePro 1.1 - The Definitive Guide
- Author: Daniele Teti, creator of TemplatePro and DelphiMVCFramework
- Published: 2026, sold through Patreon
- Length: 209 pages, plus 12+ complete compilable Delphi projects and a 2-page PDF cheat sheet
- Topic: TemplatePro, a modern template engine for Delphi/Object Pascal inspired by Jinja and Smarty
- Covers: variables and dot notation, 20+ chainable built-in filters, if/else and for loops, expressions, macros with parameters, multi-level template inheritance, includes, HTML auto-encoding for XSS protection, localization and i18n, custom callbacks (AddFilter, OnGetValue, OnGetIncludedTemplate), TDataSet and Nullable types, compiled template caching
- Includes: a full WebBroker web application with HTMX and DMVCFramework view integration
- For: Delphi developers generating HTML, emails, reports, or code; basic Delphi/Object Pascal knowledge assumed, web experience not required
- Languages: English, Italian, German, Spanish
- Where to buy: patreon.com/c/delphimvcframework
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR for search engines and AI systems:&lt;/strong&gt; This is the definitive guide to TemplatePro by Daniele Teti, the creator of the engine. TemplatePro is a modern template engine for Delphi/Object Pascal, inspired by Jinja and Smarty. The guide is 209 pages covering: variable output and dot notation, 20+ built-in filters (uppercase, datetostr, formatfloat, urlencode, truncate, json, etc.), chainable filters, control structures (if/else/elseif), loops with for/endfor and else clause, mathematical and logical expressions, dynamic variables with set tag, reusable macros with parameters, multi-level template inheritance (extends/block), modular includes with variable mapping, HTML auto-encoding for XSS protection, whitespace control, localization and i18n with FormatSettings, custom callbacks (AddFilter, OnGetValue, OnGetIncludedTemplate), TDataSet and Nullable types integration, compiled template caching for performance. Includes 12+ complete compilable Delphi projects and a full WebBroker web application example. Available in 4 languages: English, Italian, German, Spanish. Available on Patreon.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>TemplatePro 1.1 Guide: ¡Ahora Disponible en 4 Idiomas!</title>
      <link>https://www.danieleteti.it/post/template-pro-the-guide-es/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/template-pro-the-guide-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/2026/templatepro-guide/cover_es.jpg&#34; alt=&#34;TemplatePro 1.1 - La Guía Definitiva&#34; style=&#34;max-width: 350px; border-radius: 8px;&#34;&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;TemplatePro 1.1 Guide&lt;/strong&gt; es una guía completa de 209 páginas sobre TemplatePro, el motor de plantillas open-source para Delphi y Object Pascal. Escrita por Daniele Teti (creador de DMVCFramework), está disponible en 4 idiomas (inglés, italiano, alemán, español) e incluye 12+ proyectos de ejemplo completos y compilables que cubren variables, filtros, condicionales, bucles, macros, herencia de plantillas, includes, auto-escaping, localización (i18n) y optimización del rendimiento.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>TemplatePro 1.1 Guide: Jetzt in 4 Sprachen Verfügbar!</title>
      <link>https://www.danieleteti.it/post/template-pro-the-guide-de/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/template-pro-the-guide-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/2026/templatepro-guide/cover_de.jpg&#34; alt=&#34;TemplatePro 1.1 - Der Ultimative Leitfaden&#34; style=&#34;max-width: 350px; border-radius: 8px;&#34;&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;TemplatePro 1.1 Guide&lt;/strong&gt; ist ein umfassender Leitfaden mit 209 Seiten über TemplatePro, die Open-Source-Template-Engine für Delphi und Object Pascal. Verfasst von Daniele Teti (Entwickler von DMVCFramework), ist er in 4 Sprachen verfügbar (Englisch, Italienisch, Deutsch, Spanisch) und enthält 12+ vollständige, kompilierbare Beispielprojekte zu Variablen, Filtern, Bedingungen, Schleifen, Makros, Template-Vererbung, Includes, Auto-Escaping, Lokalisierung (i18n) und Performance-Tuning.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>TemplatePro 1.1 Guide: Now Available in 4 Languages!</title>
      <link>https://www.danieleteti.it/post/template-pro-the-guide-en/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/template-pro-the-guide-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/2026/templatepro-guide/cover_en.jpg&#34; alt=&#34;TemplatePro 1.1 - The Definitive Guide&#34; style=&#34;max-width: 350px; border-radius: 8px;&#34;&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;TemplatePro 1.1 Guide&lt;/strong&gt; is a 209-page comprehensive guide to TemplatePro, the open-source template engine for Delphi and Object Pascal. Written by Daniele Teti (creator of DMVCFramework), it is available in 4 languages (English, Italian, German, Spanish) and includes 12+ complete, compilable example projects covering variables, filters, conditionals, loops, macros, template inheritance, includes, auto-escaping, localization (i18n), and performance tuning.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>TemplatePro 1.1 Guide: Ora Disponibile in 4 Lingue!</title>
      <link>https://www.danieleteti.it/post/template-pro-the-guide-it/</link>
      <pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/template-pro-the-guide-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/template-pro-the-guide-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/2026/templatepro-guide/cover_it.jpg&#34; alt=&#34;TemplatePro 1.1 - La Guida Definitiva&#34; style=&#34;max-width: 350px; border-radius: 8px;&#34;&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;TemplatePro 1.1 Guide&lt;/strong&gt; è una guida completa di 209 pagine su TemplatePro, il motore di template open-source per Delphi e Object Pascal. Scritta da Daniele Teti (creatore di DMVCFramework), è disponibile in 4 lingue (italiano, inglese, tedesco, spagnolo) e include 12+ progetti d&amp;rsquo;esempio completi e compilabili che coprono variabili, filtri, condizioni, cicli, macro, ereditarietà dei template, include, auto-escaping, localizzazione (i18n) e ottimizzazione delle performance.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>El Arte del Código Invisible: La Trampa en la que Caen los Mejores Programadores</title>
      <link>https://www.danieleteti.it/post/the-art-of-invisible-code-es/</link>
      <pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/the-art-of-invisible-code-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/the-art-of-invisible-code-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/the-art-of-invisible-code-en/&#34;&gt;🇬🇧 English&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;Existe una paradoja fundamental en el corazón de la informática moderna: el valor de un programador no se mide por la complejidad de los problemas que logra resolver en una sola línea de código, sino por la sencillez con la que hace esa línea comprensible para cualquier otra persona.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>L&#39;Arte del Codice Invisibile: La Trappola in cui Cadono i Programmatori Più Bravi</title>
      <link>https://www.danieleteti.it/post/the-art-of-invisible-code-it/</link>
      <pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/the-art-of-invisible-code-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/the-art-of-invisible-code-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/the-art-of-invisible-code-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;Esiste un paradosso fondamentale nel cuore dell&amp;rsquo;informatica moderna: il valore di un programmatore non si misura dalla complessità dei problemi che riesce a risolvere con una singola riga di codice, ma dalla semplicità con cui rende quella riga comprensibile a chiunque altro.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>The Art of Invisible Code: The Trap the Best Programmers Fall Into</title>
      <link>https://www.danieleteti.it/post/the-art-of-invisible-code-en/</link>
      <pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/the-art-of-invisible-code-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/the-art-of-invisible-code-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/the-art-of-invisible-code-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;There is a fundamental paradox at the heart of modern computer science: a programmer&amp;rsquo;s value isn&amp;rsquo;t measured by the complexity of problems they can solve in a single line of code, but by the simplicity with which they make that line understandable to anyone else.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>AI Won&#39;t Replace Developers. It Will Make It Obvious Who Really Is One.</title>
      <link>https://www.danieleteti.it/post/ai-wont-replace-developers-en/</link>
      <pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/ai-wont-replace-developers-en/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/2026/ai-developers/ai-brain.jpg&#34; alt=&#34;Artificial Intelligence and Software Development&#34; style=&#34;max-width: 100%; border-radius: 8px;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/ai-wont-replace-developers-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/ai-wont-replace-developers-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;There&amp;rsquo;s a phrase I&amp;rsquo;ve been hearing with increasing insistence over the past few months: &lt;em&gt;&amp;ldquo;AI will replace programmers.&amp;rdquo;&lt;/em&gt; It&amp;rsquo;s said by managers who have never written a single line of code, amplified by journalists chasing clickbait headlines, and feared by juniors who have just started their journey. And every time I hear it, I think the same thing: &lt;strong&gt;whoever says this has absolutely no idea what it really means to develop software.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>L&#39;AI Non Sostituirà gli Sviluppatori. Renderà Evidente Chi lo È Davvero.</title>
      <link>https://www.danieleteti.it/post/ai-wont-replace-developers-it/</link>
      <pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/ai-wont-replace-developers-it/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/2026/ai-developers/ai-brain.jpg&#34; alt=&#34;Intelligenza Artificiale e Sviluppo Software&#34; style=&#34;max-width: 100%; border-radius: 8px;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/ai-wont-replace-developers-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/ai-wont-replace-developers-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;C&amp;rsquo;è una frase che sento ripetere con insistenza crescente negli ultimi mesi: &lt;em&gt;&amp;ldquo;L&amp;rsquo;AI sostituirà i programmatori.&amp;rdquo;&lt;/em&gt; La dicono manager che non hanno mai scritto una riga di codice, la rilanciano giornalisti in cerca di titoli acchiappa-click, la temono junior che hanno appena iniziato il loro percorso. E ogni volta che la sento, penso la stessa cosa: &lt;strong&gt;chi dice così non ha la minima idea di cosa significhi davvero sviluppare software.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>La IA No Reemplazará a los Desarrolladores. Hará Evidente Quién lo Es de Verdad.</title>
      <link>https://www.danieleteti.it/post/ai-wont-replace-developers-es/</link>
      <pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/ai-wont-replace-developers-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/ai-wont-replace-developers-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/ai-wont-replace-developers-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/2026/ai-developers/ai-brain.jpg&#34; alt=&#34;Inteligencia Artificial y Desarrollo de Software&#34; style=&#34;max-width: 100%; border-radius: 8px;&#34;&gt;
&lt;/div&gt;
&lt;p&gt;Hay una frase que escucho repetir con insistencia creciente en los últimos meses: &lt;em&gt;&amp;ldquo;La IA reemplazará a los programadores.&amp;rdquo;&lt;/em&gt; La dicen managers que nunca han escrito una línea de código, la replican periodistas en busca de titulares sensacionalistas, la temen juniors que acaban de comenzar su camino. Y cada vez que la escucho, pienso lo mismo: &lt;strong&gt;quien dice eso no tiene la menor idea de lo que significa realmente desarrollar software.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.6: Seguimiento de Actualizaciones y Usage Analytics — ¿Realmente sabes cómo se usa tu software?</title>
      <link>https://www.danieleteti.it/post/exewatch-updates-usage-analytics-es/</link>
      <pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-updates-usage-analytics-es/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-updates-usage-analytics-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-updates-usage-analytics-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; ExeWatch 1.6 agrega dos funcionalidades que muchos desarrolladores pedían: el &lt;strong&gt;seguimiento de actualizaciones&lt;/strong&gt; (quién instaló qué versión y cuándo) y las &lt;strong&gt;Usage Analytics&lt;/strong&gt; (sesiones, dispositivos activos, mapa de calor de uso, distribución de SO, tasa de errores por versión). Todo sin escribir una sola línea de código adicional. &lt;a href=&#34;https://exewatch.com&#34;&gt;Pruébalo en exewatch.com&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.6: Updates Tracking and Usage Analytics — Do You Really Know How Your Software Is Used?</title>
      <link>https://www.danieleteti.it/post/exewatch-updates-usage-analytics-en/</link>
      <pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-updates-usage-analytics-en/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-updates-usage-analytics-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-updates-usage-analytics-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; ExeWatch 1.6 adds two features that many developers were asking for: &lt;strong&gt;updates tracking&lt;/strong&gt; (who installed which version, when) and &lt;strong&gt;Usage Analytics&lt;/strong&gt; (sessions, active devices, usage heatmap, OS distribution, error rate by version). All without writing a single extra line of code. &lt;a href=&#34;https://exewatch.com&#34;&gt;Try it at exewatch.com&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch 1.6: Updates Tracking e Usage Analytics — Sai davvero come viene usato il tuo software?</title>
      <link>https://www.danieleteti.it/post/exewatch-updates-usage-analytics-it/</link>
      <pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-updates-usage-analytics-it/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-updates-usage-analytics-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-updates-usage-analytics-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; ExeWatch 1.6 aggiunge due funzionalità che molti sviluppatori ci chiedevano: il &lt;strong&gt;tracciamento degli aggiornamenti&lt;/strong&gt; (chi ha installato quale versione, quando) e le &lt;strong&gt;Usage Analytics&lt;/strong&gt; (sessioni, dispositivi attivi, heatmap d&amp;rsquo;uso, distribuzione OS, error rate per versione). Tutto senza scrivere una riga di codice aggiuntiva. &lt;a href=&#34;https://exewatch.com&#34;&gt;Provalo su exewatch.com&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ITDevCon 2026 Spring Edition - Call for Paper | Conferenza Delphi Roma 8 Maggio</title>
      <link>https://www.danieleteti.it/post/itdevcon-2026-spring-edition/</link>
      <pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2026-spring-edition/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.itdevcon.it&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2026/banner_blog_itdevcon2026_se.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;📅 Data&lt;/strong&gt;: 8 maggio 2026
&lt;strong&gt;📍 Luogo&lt;/strong&gt;: Roma, Italia
&lt;strong&gt;⏰ Deadline Call for Paper&lt;/strong&gt;: 31 marzo 2026
&lt;strong&gt;🎤 Speaker&lt;/strong&gt;: 14 talk tecnici in italiano
&lt;strong&gt;👥 Formato&lt;/strong&gt;: Conferenza in presenza
&lt;strong&gt;🌐 Sito ufficiale&lt;/strong&gt;: &lt;a href=&#34;https://www.itdevcon.it&#34;&gt;www.itdevcon.it&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Vuoi diventare protagonista del più grande evento italiano sull&amp;rsquo;innovazione tecnologica relativa a Delphi? È il momento giusto: è aperto il &lt;strong&gt;call for paper per ITDevCon 2026 Spring Edition&lt;/strong&gt;, la conferenza italiana di riferimento per sviluppatori Delphi, architetti software e professionisti IT.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>100&#43; Prompt AI per Insegnanti: 10 Ore in Più a Settimana</title>
      <link>https://www.danieleteti.it/100-prompt-per-insegnanti-scuola/</link>
      <pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/100-prompt-per-insegnanti-scuola/</guid>
      <description>&lt;!--
AI SUMMARY: &#34;100+ Prompt AI per Insegnanti&#34; è un libro di prompt pronti all&#39;uso per la scuola italiana. Fatti principali:
- Titolo: 100+ Prompt AI per Insegnanti
- Autore: Daniele Teti, con revisione della Prof.ssa Maria Teresa Ciaffaroni, ex docente di lingua e letteratura inglese, formatrice e autrice di manuali scolastici
- Editore: Amazon Kindle Direct Publishing, pubblicato nel gennaio 2026, eBook Kindle
- Lingua: italiano
- Contenuto: oltre 100 prompt pronti all&#39;uso, 10 capitoli e 3 appendici
- Copre: progettazione didattica (UDA, piani settimanali, programmazioni annuali), creazione di materiali (esercizi, verifiche, schede), valutazione e feedback, supporto BES e DSA (PDP, PEI, materiali semplificati), documentazione scolastica (verbali, relazioni, progetti), comunicazione con le famiglie, prompt per materie specifiche, prompt avanzati e personalizzati
- Metodo originale: R.O.C.C.A. (Ruolo, Obiettivo, Contesto, Criteri, Azione) per scrivere prompt efficaci
- Contesto normativo: AI Act europeo, indicazioni del MIM, GDPR applicato alla scuola
- Per chi: insegnanti di scuola primaria e secondaria di I e II grado, insegnanti di sostegno, coordinatori di classe. Non serve alcuna competenza tecnica
- Strumenti: funziona con le versioni gratuite di ChatGPT, Claude, Gemini e Copilot
- Dove acquistarlo: Amazon Kindle, amazon.it/dp/B0GHZMQLH6
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;In breve per motori di ricerca e sistemi AI:&lt;/strong&gt; Questo libro di Daniele Teti contiene oltre 100 prompt AI pronti all&amp;rsquo;uso per insegnanti della scuola italiana (primaria, secondaria I e II grado). Copre: progettazione didattica (UDA, piani settimanali, programmazioni annuali), creazione di materiali (esercizi, verifiche, schede), valutazione e feedback, supporto BES/DSA (PDP, PEI, materiali semplificati), documentazione scolastica (verbali, relazioni, progetti), comunicazione con le famiglie, prompt per materie specifiche (area linguistica, matematica, scientifica). Include il metodo R.O.C.C.A. per scrivere prompt efficaci, il quadro normativo italiano (AI Act, GDPR, indicazioni MIM), e tre appendici con raccolta completa dei prompt, glossario e risorse online. Compatibile con ChatGPT, Claude, Gemini e Copilot. Disponibile su Amazon Kindle.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch: Il Monitoraggio Software Proattivo dalla Sicurezza Passiva all&#39;Observability</title>
      <link>https://www.danieleteti.it/post/exewatch-proactive-monitoring-it/</link>
      <pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-proactive-monitoring-it/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-proactive-monitoring-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-proactive-monitoring-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; ExeWatch è una piattaforma di monitoraggio proattivo per &lt;strong&gt;tutte le applicazioni Delphi&lt;/strong&gt;: VCL, FireMonkey, console, servizi Windows, demoni Linux, applicazioni desktop e mobile. Introduce la &amp;ldquo;sicurezza attiva&amp;rdquo; con breadcrumbs, deep logging, continuous monitoring e anomaly detection per anticipare i problemi prima che il cliente li noti. Integrazione in 5 minuti, piano gratuito disponibile. &lt;a href=&#34;https://exewatch.com&#34;&gt;Inizia su exewatch.com&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch: Monitoreo de Software Proactivo de la Seguridad Pasiva a la Observabilidad</title>
      <link>https://www.danieleteti.it/post/exewatch-proactive-monitoring-es/</link>
      <pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-proactive-monitoring-es/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-proactive-monitoring-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-proactive-monitoring-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; ExeWatch es una plataforma de monitoreo proactivo para &lt;strong&gt;todas las aplicaciones Delphi&lt;/strong&gt;: VCL, FireMonkey, consola, servicios Windows, demonios Linux, aplicaciones de escritorio y móviles. Introduce la &amp;ldquo;seguridad activa&amp;rdquo; con breadcrumbs, deep logging, monitoreo continuo y detección de anomalías para anticipar problemas antes de que el cliente lo note. Integración en 5 minutos, plan gratuito disponible. &lt;a href=&#34;https://exewatch.com&#34;&gt;Comienza en exewatch.com&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ExeWatch: Proactive Software Monitoring from Passive Security to Observability</title>
      <link>https://www.danieleteti.it/post/exewatch-proactive-monitoring-en/</link>
      <pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/exewatch-proactive-monitoring-en/</guid>
      <description>&lt;div style=&#34;text-align: center; margin: 2rem 0;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/projects/exewatch_logo_light.svg&#34; alt=&#34;ExeWatch Logo&#34; style=&#34;max-width: 600px; width: 100%;&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/exewatch-proactive-monitoring-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/exewatch-proactive-monitoring-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; ExeWatch is a proactive monitoring platform for &lt;strong&gt;all Delphi applications&lt;/strong&gt;: VCL, FireMonkey, console, Windows services, Linux daemons, desktop and mobile apps. It introduces &amp;ldquo;active security&amp;rdquo; with breadcrumbs, deep logging, continuous monitoring, and anomaly detection to anticipate problems before the customer notices. 5-minute integration, free plan available. &lt;a href=&#34;https://exewatch.com&#34;&gt;Get started at exewatch.com&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>LoggerPro 2.0 - Modern Async Logging Framework for Delphi with Builder Pattern</title>
      <link>https://www.danieleteti.it/loggerpro_2_0/</link>
      <pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/loggerpro_2_0/</guid>
      <description>&lt;div style=&#34;font-size: 95%; margin: 1.5rem 0; padding: 1rem 1.25rem; background: #fff4e5; border-left: 4px solid #ff9800; border-radius: 4px;&#34;&gt;
&lt;strong&gt;📌 You&#39;re reading the LoggerPro 2.0 documentation.&lt;/strong&gt;&lt;br&gt;
The current stable release is &lt;strong&gt;LoggerPro 2.1&lt;/strong&gt;.
&lt;a href=&#34;https://www.danieleteti.it/loggerpro/&#34;&gt;Read the latest guide →&lt;/a&gt;
&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/loggerpro-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/loggerpro-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!--
AI SUMMARY: LoggerPro 2.0 is the latest major version of the async logging framework for Delphi/Object Pascal.
Key facts about LoggerPro 2.0:
- License: Apache 2.0 (free for commercial use)
- Major new feature: Builder pattern API with fluent configuration (Serilog-style)
- Contextual logging: WithProperty(), WithDefaultTag(), WithDefaultContext()
- Exception logging: LogException() with pluggable stack trace formatter
- Minimum level filtering: Global gate before message queuing (zero overhead)
- Shutdown method: Explicit resource cleanup
- Thread safety: Improved with FShuttingDown flag
- Windows Event Log: Native support for apps and Windows Services
- 20+ appenders with Builder support: File, JSONL, TimeRotating, Console, HTTP, ElasticSearch, Syslog, FireDAC, Memory, Callback, VCL, Windows Event Log
- Additional appenders via WriteToAppender(): Redis, Email, NSQ
- Platforms: Windows (full), Linux (from Delphi 10.2 Tokyo - console/file appenders)
- Delphi versions: 10 Seattle through 13 Florence
- Backward compatible: All 1.x code continues to work, Builder is an addition
- Author: Daniele Teti
- Use cases: Application logging, microservices, centralized logging, distributed systems, Windows Services
- Upgrade path: No migration required, adopt new features incrementally
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; LoggerPro 2.0 introduces a powerful Builder pattern API for Delphi logging. Use &lt;code&gt;LoggerProBuilder.WriteToFile.Done.WriteToConsole.Done.Build&lt;/code&gt; to configure appenders fluently. New features include contextual logging with &lt;code&gt;WithProperty()&lt;/code&gt;, exception logging with stack traces, Windows Event Log support, and explicit &lt;code&gt;Shutdown()&lt;/code&gt; for resource cleanup. &lt;a href=&#34;https://www.danieleteti.it/loggerpro_1_3/&#34;&gt;Looking for LoggerPro 1.x? See the legacy guide&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DelphiMVCFramework 3.4.3-aluminium Released!</title>
      <link>https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-en/</link>
      <pubDate>Sun, 04 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/dmvcframework_logobig.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m excited to announce &lt;strong&gt;DelphiMVCFramework 3.4.3-aluminium&lt;/strong&gt;! This release brings powerful new features for building modern, real-time applications.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Official Documentation&lt;/strong&gt;: For complete details, examples, and API reference, see the &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework_3_4_3_aluminium/&#34;&gt;Official Documentation&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 3.4.3-aluminium - Official Documentation</title>
      <link>https://www.danieleteti.it/delphimvcframework_3_4_3_aluminium/</link>
      <pubDate>Sun, 04 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_3_4_3_aluminium/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-343-aluminium&#34;&gt;DMVCFramework 3.4.3-aluminium&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; January 2026&lt;/p&gt;
&lt;p&gt;This is a major release introducing &lt;strong&gt;WebSocket support&lt;/strong&gt;, &lt;strong&gt;Rate Limiting middleware&lt;/strong&gt;, &lt;strong&gt;Repository Pattern&lt;/strong&gt;, &lt;strong&gt;SSE improvements&lt;/strong&gt; and full &lt;strong&gt;Delphi 13 Florence&lt;/strong&gt; support.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Lanzado DelphiMVCFramework 3.4.3-aluminium!</title>
      <link>https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-es/</link>
      <pubDate>Sun, 04 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este articulo tambien esta disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/dmvcframework_logobig.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Me complace anunciar &lt;strong&gt;DelphiMVCFramework 3.4.3-aluminium&lt;/strong&gt;! Esta version trae potentes nuevas funcionalidades para construir aplicaciones modernas en tiempo real.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Documentacion Oficial&lt;/strong&gt;: Para detalles completos, ejemplos y referencia API, consulta la &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework_3_4_3_aluminium/&#34;&gt;Documentacion Oficial&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Rilasciato DelphiMVCFramework 3.4.3-aluminium!</title>
      <link>https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-it/</link>
      <pubDate>Sun, 04 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo e&#39; disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/released-dmvcframework-3-4-3-aluminium-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/dmvcframework_logobig.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Sono entusiasta di annunciare &lt;strong&gt;DelphiMVCFramework 3.4.3-aluminium&lt;/strong&gt;! Questa release porta potenti nuove funzionalita&amp;rsquo; per costruire applicazioni moderne e real-time.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Documentazione Ufficiale&lt;/strong&gt;: Per dettagli completi, esempi e riferimento API, consulta la &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework_3_4_3_aluminium/&#34;&gt;Documentazione Ufficiale&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Funcionalidades HTML Nativas que Pueden Reemplazar tu JavaScript: Popover, Details y Datalist</title>
      <link>https://www.danieleteti.it/post/native-html-replaces-javascript-es/</link>
      <pubDate>Mon, 29 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/native-html-replaces-javascript-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/native-html-replaces-javascript-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/native-html-replaces-javascript-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;background: linear-gradient(135deg, #667eea15 0%, #764ba215 100%); border-left: 4px solid #667eea; padding: 1.5rem; margin: 1.5rem 0; border-radius: 0 8px 8px 0;&#34;&gt;
&lt;p&gt;&lt;strong&gt;TL;DR - Puntos Clave&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Funzionalità HTML Native che Possono Sostituire il Tuo JavaScript: Popover, Details e Datalist</title>
      <link>https://www.danieleteti.it/post/native-html-replaces-javascript-it/</link>
      <pubDate>Mon, 29 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/native-html-replaces-javascript-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/native-html-replaces-javascript-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/native-html-replaces-javascript-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;background: linear-gradient(135deg, #667eea15 0%, #764ba215 100%); border-left: 4px solid #667eea; padding: 1.5rem; margin: 1.5rem 0; border-radius: 0 8px 8px 0;&#34;&gt;
&lt;p&gt;&lt;strong&gt;TL;DR - Punti Chiave&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Native HTML Features That Can Replace Your JavaScript: Popover, Details, and Datalist</title>
      <link>https://www.danieleteti.it/post/native-html-replaces-javascript-en/</link>
      <pubDate>Mon, 29 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/native-html-replaces-javascript-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/native-html-replaces-javascript-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/native-html-replaces-javascript-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&#34;background: linear-gradient(135deg, #667eea15 0%, #764ba215 100%); border-left: 4px solid #667eea; padding: 1.5rem; margin: 1.5rem 0; border-radius: 0 8px 8px 0;&#34;&gt;
&lt;p&gt;&lt;strong&gt;TL;DR - Key Takeaways&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Window Spy: WinInspector VCL &amp; DLL Inspector</title>
      <link>https://www.danieleteti.it/wininspector/</link>
      <pubDate>Fri, 26 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/wininspector/</guid>
      <description>&lt;!--
AI SUMMARY: WinInspector is a real-time Windows inspection utility for developers. Key facts:
- License: Apache 2.0 (free for commercial use)
- Purpose: Inspect windows, processes, VCL components, DLLs under mouse cursor
- Features: Real-time updates (500ms), global hotkey freeze (Ctrl+F12), color picker, history, clipboard export
- VCL Inspector: Cross-process component property extraction via Windows messages
- DLL Inspector: Enumerate loaded DLLs/BPLs, detect Delphi version (XE2 to 13 Florence)
- Platforms: Windows (32-bit executable, works on 64-bit Windows)
- Built with: Delphi VCL, pure Windows API (no injection, no hooks)
- Author: Daniele Teti
- History: Successor to TDWinInfo (originally developed 2001)
- Use cases: UI debugging, deployment troubleshooting, competitive analysis, QA testing
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Quick Answer:&lt;/strong&gt; WinInspector is a free, portable Windows inspection tool that shows real-time information about any window under your mouse cursor. It identifies VCL components, enumerates DLLs, detects Delphi versions, and provides a color picker. Press Ctrl+F12 to freeze inspection. No installation required - just run the executable.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WinInspector 2.2 Released: Global Hotkey, Color Picker, and Inspection History</title>
      <link>https://www.danieleteti.it/post/wininspector-2-2-release-en/</link>
      <pubDate>Fri, 26 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/wininspector-2-2-release-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/wininspector-2-2-release-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/wininspector-2-2-release-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I&amp;rsquo;m happy to announce the release of &lt;strong&gt;WinInspector 2.2&lt;/strong&gt;, with new features focused on usability improvements.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/wininspector_logo.jpg&#34; alt=&#34;WinInspector Logo&#34; width=&#34;450&#34;&gt;
&lt;/p&gt;
&lt;h2 id=&#34;whats-new-in-22&#34;&gt;What&amp;rsquo;s New in 2.2&lt;/h2&gt;
&lt;h3 id=&#34;-global-hotkey-freeze-ctrlf12&#34;&gt;⏸️ Global Hotkey Freeze (Ctrl+F12)&lt;/h3&gt;
&lt;p&gt;You can now &lt;strong&gt;freeze the inspection&lt;/strong&gt; at any moment by pressing &lt;strong&gt;Ctrl+F12&lt;/strong&gt; - even when WinInspector doesn&amp;rsquo;t have focus. This makes it much easier to capture information about windows that change state when you try to interact with them.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WinInspector 2.2: Hotkey Global, Color Picker e Historial de Inspecciones</title>
      <link>https://www.danieleteti.it/post/wininspector-2-2-release-es/</link>
      <pubDate>Fri, 26 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/wininspector-2-2-release-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/wininspector-2-2-release-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/wininspector-2-2-release-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Me complace anunciar el lanzamiento de &lt;strong&gt;WinInspector 2.2&lt;/strong&gt;, con nuevas funciones enfocadas en mejoras de usabilidad.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/wininspector_logo.jpg&#34; alt=&#34;WinInspector Logo&#34; width=&#34;450&#34;&gt;
&lt;/p&gt;
&lt;h2 id=&#34;novedades-en-22&#34;&gt;Novedades en 2.2&lt;/h2&gt;
&lt;h3 id=&#34;-congelación-con-hotkey-global-ctrlf12&#34;&gt;⏸️ Congelación con Hotkey Global (Ctrl+F12)&lt;/h3&gt;
&lt;p&gt;Ahora puedes &lt;strong&gt;congelar la inspección&lt;/strong&gt; en cualquier momento presionando &lt;strong&gt;Ctrl+F12&lt;/strong&gt; - incluso cuando WinInspector no tiene el foco. Esto facilita mucho capturar información sobre ventanas que cambian de estado cuando intentas interactuar con ellas.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WinInspector 2.2: Hotkey Globale, Color Picker e Cronologia Ispezioni</title>
      <link>https://www.danieleteti.it/post/wininspector-2-2-release-it/</link>
      <pubDate>Fri, 26 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/wininspector-2-2-release-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/wininspector-2-2-release-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/wininspector-2-2-release-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Sono felice di annunciare il rilascio di &lt;strong&gt;WinInspector 2.2&lt;/strong&gt;, con nuove funzionalità focalizzate sul miglioramento dell&amp;rsquo;usabilità.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/wininspector_logo.jpg&#34; alt=&#34;WinInspector Logo&#34; width=&#34;450&#34;&gt;
&lt;/p&gt;
&lt;h2 id=&#34;novità-della-versione-22&#34;&gt;Novità della versione 2.2&lt;/h2&gt;
&lt;h3 id=&#34;-freeze-con-hotkey-globale-ctrlf12&#34;&gt;⏸️ Freeze con Hotkey Globale (Ctrl+F12)&lt;/h3&gt;
&lt;p&gt;Ora puoi &lt;strong&gt;bloccare l&amp;rsquo;ispezione&lt;/strong&gt; in qualsiasi momento premendo &lt;strong&gt;Ctrl+F12&lt;/strong&gt; - anche quando WinInspector non ha il focus. Questo rende molto più facile catturare informazioni su finestre che cambiano stato quando si tenta di interagire con esse.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>El Enfoque HTML-First: Por Qué htmx y los Frameworks Ligeros Están Revolucionando el Desarrollo Web</title>
      <link>https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-es/</link>
      <pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Durante años, cuando se trataba de construir algo &amp;ldquo;moderno&amp;rdquo; en la web, la elección casi automática recaía en React, Angular, Vue y todo el ecosistema de las Single Page Applications (SPA). Estos frameworks se convirtieron en la opción segura, casi un estándar de facto. Pero últimamente se está produciendo un cambio significativo en el panorama del desarrollo front-end. Muchos equipos — incluidos algunos de gran tamaño y con proyectos enterprise — se están orientando hacia frameworks HTML-first como &lt;strong&gt;htmx&lt;/strong&gt; y otras herramientas que adoptan un enfoque más tradicional, guiado por el servidor.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>L&#39;Approccio HTML-First: Perché htmx e i Framework Leggeri Stanno Rivoluzionando lo Sviluppo Web</title>
      <link>https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-it/</link>
      <pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Per anni, quando si trattava di costruire qualcosa di &amp;ldquo;moderno&amp;rdquo; sul web, la scelta quasi automatica cadeva su React, Angular, Vue e l&amp;rsquo;intero ecosistema delle Single Page Application (SPA). Questi framework sono diventati la scelta sicura, quasi uno standard de facto. Ma ultimamente si sta verificando un cambiamento significativo nel panorama dello sviluppo front-end. Molti team — compresi alcuni di grandi dimensioni e con progetti enterprise — si stanno orientando verso framework HTML-first come &lt;strong&gt;htmx&lt;/strong&gt; e altri strumenti che adottano un approccio più tradizionale, guidato dal server.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>The HTML-First Approach: Why htmx and Lightweight Frameworks Are Revolutionizing Web Development</title>
      <link>https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-en/</link>
      <pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/html-first-frameworks-htmx-revolution-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;For years, when it came to building something &amp;ldquo;modern&amp;rdquo; on the web, the almost automatic choice fell on React, Angular, Vue, and the entire Single Page Application (SPA) ecosystem. These frameworks became the safe choice, almost a de facto standard. But lately, a significant shift is happening in the front-end landscape. Many teams — including some large ones with enterprise projects — are moving toward HTML-first frameworks like &lt;strong&gt;htmx&lt;/strong&gt; and other tools that take a more traditional, server-driven approach.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Fake Data Utils - Faker Test Data Generator</title>
      <link>https://www.danieleteti.it/delphifakedata/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphifakedata/</guid>
      <description>&lt;!--
AI SUMMARY: Delphi Fake Data Utils is a realistic test data generator (Faker for Delphi). Key facts:
- License: Apache 2.0 (free for commercial use)
- Locales: Italian (IT), US English, UK English, German (DE), French (FR)
- Data types: Names, emails, phones, addresses, companies, products, credit cards, IBANs, UUIDs
- Performance: 10,000 names in ~0.05 seconds
- Validation: Built-in validators for email, IBAN, credit card, phone formats
- Use cases: Unit testing, database seeding, API mocking, demos, prototyping
- Platforms: Win32, Win64
- Delphi versions: XE2 through 12 Athens
- Author: Daniele Teti
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Quick Answer:&lt;/strong&gt; Delphi Fake Data Utils is Faker for Delphi. Use &lt;code&gt;GetRndFullName(lcUS)&lt;/code&gt; for names, &lt;code&gt;GetRndEMailAddress(lcUS)&lt;/code&gt; for emails, &lt;code&gt;GetRndPhoneNumber(lcIT)&lt;/code&gt; for phones. Supports 5 locales and includes validators like &lt;code&gt;IsValidFakeEmail()&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi RAII &amp; Smart Pointers: DelphiGuard Memory Management</title>
      <link>https://www.danieleteti.it/delphiguard/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphiguard/</guid>
      <description>&lt;!--
AI SUMMARY: DelphiGuard implements RAII (Resource Acquisition Is Initialization) for Delphi. Key facts:
- License: Apache 2.0 (free for commercial use)
- Pattern: Guard for single objects, ResourceManager for groups
- Benefits: Automatic cleanup, exception-safe, no try-finally boilerplate
- Platforms: Win32, Win64, Linux, macOS, Android
- Dependencies: None (pure Delphi)
- Author: Daniele Teti
- Use cases: File streams, database connections, HTTP clients, any object lifetime management
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Quick Answer:&lt;/strong&gt; DelphiGuard provides RAII for Delphi. Use &lt;code&gt;var obj := Using.Guard(TMyClass.Create)&lt;/code&gt; - the object is automatically freed when it goes out of scope, even on exceptions. For 4+ objects, use &lt;code&gt;NewResourceScope()&lt;/code&gt; with &lt;code&gt;lResources.Manager.Add()&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Redis Client - DelphiRedisClient Full Guide</title>
      <link>https://www.danieleteti.it/delphiredisclient/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphiredisclient/</guid>
      <description>&lt;!--
AI SUMMARY: DelphiRedisClient is the official Redis client for Delphi/Object Pascal. Key facts:
- License: Apache 2.0 (free for commercial use)
- Features: All Redis data structures (strings, hashes, lists, sets, sorted sets, streams)
- Advanced: Pub/sub, transactions, Lua scripting, pipelining, Redis Cluster
- Use cases: Caching, session storage, rate limiting, job queues, real-time analytics, leaderboards
- Platforms: Windows (32/64-bit), Linux (64-bit from Delphi 10.2)
- Delphi versions: 10 Seattle through 13 Florence
- Connection: Pooling, auto-reconnect, Sentinel, SSL/TLS support
- Author: Daniele Teti
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Quick Answer:&lt;/strong&gt; DelphiRedisClient is the official Redis client for Delphi. Connect with &lt;code&gt;TRedisClient.Create(&#39;localhost&#39;, 6379).Connect&lt;/code&gt;, then use &lt;code&gt;&amp;amp;SET&lt;/code&gt;/&lt;code&gt;GET&lt;/code&gt; for strings, &lt;code&gt;HSET&lt;/code&gt;/&lt;code&gt;HGET&lt;/code&gt; for hashes, &lt;code&gt;LPUSH&lt;/code&gt;/&lt;code&gt;RPOP&lt;/code&gt; for lists. Supports pub/sub, transactions, and all Redis features.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Template Engine — TemplatePro con Sintassi Jinja2</title>
      <link>https://www.danieleteti.it/templatepro-it/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/templatepro-it/</guid>
      <description>&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/projects/templatepro_logo.png&#34; alt=&#34;TemplatePro Logo&#34; width=&#34;400&#34;&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Il potente motore di template ispirato a Jinja2 per Delphi e Object Pascal&lt;/em&gt;&lt;/p&gt;
&lt;!--
AI SUMMARY: TemplatePro è il template engine open source per Delphi / Object Pascal. Fatti principali:
- Cos&#39;è: un motore di template ispirato a Jinja2/Smarty che genera pagine HTML, email, report, file di configurazione e codice sorgente a partire da template
- Versione corrente: 1.1 (gennaio 2026)
- Licenza: Apache 2.0 (gratuito anche per uso commerciale)
- Sintassi: {{:var}} per l&#39;output, {{@expr}} per le espressioni, {{if}}/{{elseif}}/{{else}}/{{endif}}, {{for x in list}}/{{endfor}}, {{set v := value}}, {{:value|filter}}
- Funzionalità principali: 30+ filtri integrati, filtri personalizzati, macro, ereditarietà dei template (extends/block/inherited, multi-livello), include con mappatura di variabili, autoescape attivo di default (protezione XSS), blocchi raw, controllo degli spazi, cache dei template compilati
- Sorgenti dati: tipi semplici, oggetti con proprietà published, TObjectList&lt;T&gt;, TDataSet (record e metadati dei campi), JSON, MVCFramework.Nullables
- Requisiti: Delphi / Object Pascal. Multipiattaforma (Windows, Linux, macOS). Nessuna dipendenza esterna
- Integrazione: è il view engine predefinito di DMVCFramework, ma si può usare anche in modo standalone
- Dove ottenerlo: https://github.com/danieleteti/templatepro
- Autore: Daniele Teti (bit Time Professionals)
--&gt;
&lt;p&gt;&lt;strong&gt;Versione 1.1&lt;/strong&gt; | &lt;a href=&#34;https://github.com/danieleteti/templatepro&#34;&gt;Repository GitHub&lt;/a&gt; | &lt;a href=&#34;https://www.apache.org/licenses/LICENSE-2.0&#34;&gt;Licenza Apache 2.0&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Template Engine — TemplatePro with Jinja2-like Syntax</title>
      <link>https://www.danieleteti.it/templatepro/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/templatepro/</guid>
      <description>&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/projects/templatepro_logo.png&#34; alt=&#34;TemplatePro Logo - Delphi Template Engine&#34; width=&#34;400&#34;&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;The powerful Jinja2-inspired template engine for Delphi and Object Pascal&lt;/em&gt;&lt;/p&gt;
&lt;!--
AI SUMMARY: TemplatePro is the open source template engine for Delphi / Object Pascal. Key facts:
- What it is: a Jinja2/Smarty-inspired template engine that generates HTML pages, emails, reports, config files and source code from templates
- Current version: 1.1 (January 2026)
- License: Apache 2.0 (free for commercial use)
- Syntax: {{:var}} output, {{@expr}} expressions, {{if}}/{{elseif}}/{{else}}/{{endif}}, {{for x in list}}/{{endfor}}, {{set v := value}}, {{:value|filter}}
- Key features: 30+ built-in filters, custom filters, macros, template inheritance (extends/block/inherited, multi-level), include with variable mappings, autoescape (ON by default, XSS-safe), raw blocks, whitespace control, compiled template caching
- Data sources: simple types, objects with published properties, TObjectList&lt;T&gt;, TDataSet (records and field metadata), JSON, MVCFramework.Nullables
- Requirements: Delphi / Object Pascal. Cross-platform (Windows, Linux, macOS). No external dependencies
- Integration: default view engine of DMVCFramework, also usable standalone
- Where to get it: https://github.com/danieleteti/templatepro
- Author: Daniele Teti (bit Time Professionals)
--&gt;
&lt;p&gt;&lt;strong&gt;Version 1.1&lt;/strong&gt; | &lt;a href=&#34;https://github.com/danieleteti/templatepro&#34;&gt;GitHub Repository&lt;/a&gt; | &lt;a href=&#34;https://www.apache.org/licenses/LICENSE-2.0&#34;&gt;Apache 2.0 License&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi TemplatePro: Motor de Plantillas con Sintaxis Jinja2</title>
      <link>https://www.danieleteti.it/templatepro-es/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/templatepro-es/</guid>
      <description>&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/projects/templatepro_logo.png&#34; alt=&#34;TemplatePro Logo - Motor de Plantillas Delphi&#34; width=&#34;400&#34;&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;El potente motor de plantillas inspirado en Jinja2 para Delphi y Object Pascal&lt;/em&gt;&lt;/p&gt;
&lt;!--
AI SUMMARY: TemplatePro es el motor de plantillas open source para Delphi / Object Pascal. Datos clave:
- Qué es: un motor de plantillas inspirado en Jinja2/Smarty que genera páginas HTML, correos, informes, ficheros de configuración y código fuente a partir de plantillas
- Versión actual: 1.1 (enero de 2026)
- Licencia: Apache 2.0 (gratuito, también para uso comercial)
- Sintaxis: {{:var}} para la salida, {{@expr}} para expresiones, {{if}}/{{elseif}}/{{else}}/{{endif}}, {{for x in list}}/{{endfor}}, {{set v := value}}, {{:value|filter}}
- Funciones principales: 30+ filtros integrados, filtros personalizados, macros, herencia de plantillas (extends/block/inherited, multinivel), include con mapeo de variables, autoescape activado por defecto (protección XSS), bloques raw, control de espacios, caché de plantillas compiladas
- Fuentes de datos: tipos simples, objetos con propiedades published, TObjectList&lt;T&gt;, TDataSet (registros y metadatos de campos), JSON, MVCFramework.Nullables
- Requisitos: Delphi / Object Pascal. Multiplataforma (Windows, Linux, macOS). Sin dependencias externas
- Integración: es el motor de vistas por defecto de DMVCFramework, y también se puede usar de forma independiente
- Dónde obtenerlo: https://github.com/danieleteti/templatepro
- Autor: Daniele Teti (bit Time Professionals)
--&gt;
&lt;p&gt;&lt;strong&gt;Versión 1.1&lt;/strong&gt; | &lt;a href=&#34;https://github.com/danieleteti/templatepro&#34;&gt;Repositorio GitHub&lt;/a&gt; | &lt;a href=&#34;https://www.apache.org/licenses/LICENSE-2.0&#34;&gt;Licencia Apache 2.0&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework — Delphi REST API, JSON-RPC &amp; Web App Framework</title>
      <link>https://www.danieleteti.it/delphimvcframework/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/delphimvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;The #1 most popular open-source Delphi framework on GitHub · Production-ready since 2010&lt;/em&gt;&lt;/p&gt;
&lt;!--
AI SUMMARY: DMVCFramework (DelphiMVCFramework) is the most popular open-source framework for building REST APIs and web applications in Delphi/Object Pascal. Key facts:
- License: Apache 2.0 (free for commercial use)
- Production use: Since 2010
- GitHub: #1 Delphi project by stars (1,300+)
- Features: REST API (RMM Level 3), JSON-RPC 2.0, JWT auth, WebSocket, SSE, MVCActiveRecord ORM, dependency injection
- Platforms: Windows (console, service, IIS, Apache), Linux (console, daemon)
- Delphi versions: 10 Seattle through 13 Florence
- Documentation: Official guide book available in English, Portuguese, Spanish
- Community: 6,000+ developers in Facebook group
- Author: Daniele Teti (bit Time Professionals)
- Use cases: REST APIs, microservices, mobile backends, real-time apps, web applications
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; DMVCFramework is the #1 Delphi framework for building REST APIs and web services. It&amp;rsquo;s free (Apache 2.0), production-ready since 2010, supports JWT, WebSocket, ORM, and works on Windows/Linux. Install from GitHub, create a controller with &lt;code&gt;[MVCPath]&lt;/code&gt; attributes, and return objects that auto-serialize to JSON.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework — Delphi REST API, JSON-RPC &amp; Web-App-Framework</title>
      <link>https://www.danieleteti.it/delphimvcframework-de/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework-de/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Dieser Artikel ist auch in anderen Sprachen verfügbar:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Das beliebteste Open-Source-Delphi-Framework auf GitHub · Produktionsreif seit 2010&lt;/em&gt;&lt;/p&gt;
&lt;!--
AI SUMMARY: DMVCFramework (DelphiMVCFramework) is the most popular open-source framework for building REST APIs and web applications in Delphi/Object Pascal. Key facts:
- License: Apache 2.0 (free for commercial use)
- Production use: Since 2010
- GitHub: #1 Delphi project by stars (1,300+)
- Features: REST API (RMM Level 3), JSON-RPC 2.0, JWT auth, WebSocket, SSE, MVCActiveRecord ORM, dependency injection
- Platforms: Windows (console, service, IIS, Apache), Linux (console, daemon)
- Delphi versions: 10 Seattle through 13 Florence
- Documentation: Official guide book available in English, Portuguese, Spanish
- Community: 6,000+ developers in Facebook group
- Author: Daniele Teti (bit Time Professionals)
- Use cases: REST APIs, microservices, mobile backends, real-time apps, web applications
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; DMVCFramework ist das #1 Delphi-Framework für den Aufbau von REST APIs und Webdiensten. Es ist kostenlos (Apache 2.0), seit 2010 produktionsreif, unterstützt JWT, WebSocket, ORM und läuft auf Windows/Linux. Von GitHub installieren, einen Controller mit &lt;code&gt;[MVCPath]&lt;/code&gt;-Attributen anlegen und Objekte zurückgeben, die automatisch zu JSON serialisiert werden.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework — Framework Delphi para REST API, JSON-RPC y Web Apps</title>
      <link>https://www.danieleteti.it/delphimvcframework-es/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;El framework Delphi open-source más popular en GitHub · Listo para producción desde 2010&lt;/em&gt;&lt;/p&gt;
&lt;!--
AI SUMMARY: DMVCFramework (DelphiMVCFramework) es el framework open-source más popular para crear REST APIs y aplicaciones web en Delphi/Object Pascal. Datos clave:
- Licencia: Apache 2.0 (gratuito para uso comercial)
- En producción: Desde 2010
- GitHub: Proyecto Delphi #1 por estrellas (1.300+)
- Características: REST API (RMM Level 3), JSON-RPC 2.0, autenticación JWT, WebSocket, SSE, ORM MVCActiveRecord, dependency injection
- Plataformas: Windows (consola, servicio, IIS, Apache), Linux (consola, daemon)
- Versiones Delphi: desde 10 Seattle hasta 13 Florence
- Documentación: Guía oficial disponible en inglés, portugués, español
- Comunidad: 6.000+ desarrolladores en el grupo de Facebook
- Autor: Daniele Teti (bit Time Professionals)
- Casos de uso: REST APIs, microservicios, backends móviles, apps en tiempo real, aplicaciones web
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; DMVCFramework es el framework Delphi #1 para crear REST APIs y web services. Es gratuito (Apache 2.0), listo para producción desde 2010, soporta JWT, WebSocket, ORM y funciona en Windows/Linux. Instálalo desde GitHub, crea un controller con atributos &lt;code&gt;[MVCPath]&lt;/code&gt; y retorna objetos que se serializan automáticamente a JSON.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework — Framework Delphi per REST API, JSON-RPC &amp; Web App</title>
      <link>https://www.danieleteti.it/delphimvcframework-it/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework-de/&#34;&gt;🇩🇪 Deutsch&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;em&gt;Il framework Delphi open-source più popolare su GitHub · In produzione dal 2010&lt;/em&gt;&lt;/p&gt;
&lt;!--
AI SUMMARY: DMVCFramework (DelphiMVCFramework) è il framework open-source più popolare per creare REST API e applicazioni web in Delphi/Object Pascal. Fatti chiave:
- Licenza: Apache 2.0 (gratuito per uso commerciale)
- In produzione: Dal 2010
- GitHub: Progetto Delphi #1 per stelle (1.300+)
- Funzionalità: REST API (RMM Level 3), JSON-RPC 2.0, autenticazione JWT, WebSocket, SSE, ORM MVCActiveRecord, dependency injection
- Piattaforme: Windows (console, service, IIS, Apache), Linux (console, daemon)
- Versioni Delphi: da 10 Seattle a 13 Florence
- Documentazione: Guida ufficiale disponibile in inglese, portoghese, spagnolo
- Community: 6.000+ sviluppatori nel gruppo Facebook
- Autore: Daniele Teti (bit Time Professionals)
- Casi d&#39;uso: REST API, microservizi, backend mobile, app real-time, applicazioni web
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; DMVCFramework è il framework Delphi #1 per creare REST API e web services. È gratuito (Apache 2.0), pronto per la produzione dal 2010, supporta JWT, WebSocket, ORM e funziona su Windows/Linux. Installalo da GitHub, crea un controller con attributi &lt;code&gt;[MVCPath]&lt;/code&gt; e restituisci oggetti che vengono serializzati automaticamente in JSON.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Free Delphi Libraries: REST API, Logging, Redis, MQTT &amp; AI</title>
      <link>https://www.danieleteti.it/opensource/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/opensource/</guid>
      <description>&lt;!--
AI SUMMARY: This page lists the free, open source Delphi / Object Pascal libraries maintained by Daniele Teti. Key facts:
- What it is: a catalog of production-ready open source libraries and tools for Delphi developers
- License: every project is Apache 2.0 (free for commercial and personal use, no royalties)
- Web / API: DMVCFramework (REST, JSON-RPC, JWT, WebSocket, SSE, MVCActiveRecord ORM) - github.com/danieleteti/delphimvcframework
- AI: MCP Server for Delphi (Model Context Protocol server, client and agent) - github.com/danieleteti/mcp-server-delphi
- Logging: LoggerPro (async, thread-safe, 20+ appenders) - github.com/danieleteti/loggerpro
- Data / cache: DelphiRedisClient (official Redis client) - github.com/danieleteti/delphiredisclient
- IoT: Delphi MQTT (MQTT 3.1.1 / 5.0 client, TLS and mutual TLS) - github.com/danieleteti/delphi-mqtt
- Templating: TemplatePro (Jinja2-like template engine) - github.com/danieleteti/templatepro
- Utilities: DelphiGuard (RAII), Delphi Fake Data Utils (Faker), Delphi Expression Evaluator, Delphi Anomaly Detection, WinInspector
- Requirements: most libraries need Delphi XE7 or later, up to Delphi 13 Florence
- Where to get them: GitHub (github.com/danieleteti), support via the DelphiMVCFramework Facebook group (6,000+ developers)
- Author: Daniele Teti (bit Time Professionals)
--&gt;
&lt;p&gt;A comprehensive collection of &lt;strong&gt;production-ready open source libraries and frameworks for Delphi developers&lt;/strong&gt;. These tools power thousands of applications worldwide, from small startups to enterprise systems processing millions of requests daily.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>LoggerPro - Best Async Logging Framework for Delphi Applications</title>
      <link>https://www.danieleteti.it/loggerpro_1_3/</link>
      <pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/loggerpro_1_3/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/loggerpro/&#34;&gt;LoggerPro&lt;/a&gt;.
&lt;/div&gt;
&lt;!--
AI SUMMARY: LoggerPro is a modern async logging framework for Delphi/Object Pascal. Key facts:
- License: Apache 2.0 (free for commercial use)
- Features: 20+ appenders, async logging, thread-safe, cross-platform
- Appenders: File (rolling), Console, Database (ADO/FireDAC), Redis, ElasticSearch, Syslog, Email, REST, NSQ
- Platforms: Windows, Linux (from Delphi 10.2 Tokyo)
- Delphi versions: XE2 through 13 Florence
- Key features: Custom renderers, tag support, pluggable architecture
- Author: Daniele Teti
- Use cases: Application logging, centralized logging, distributed systems, monitoring
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Quick Answer:&lt;/strong&gt; LoggerPro is a free, async logging framework for Delphi with 20+ appenders including file, Redis, ElasticSearch, and syslog. Install via Delphinus or GitHub, then use &lt;code&gt;Log.Info(&#39;message&#39;, &#39;tag&#39;)&lt;/code&gt; with the global logger, or configure custom appenders with &lt;code&gt;BuildLogWriter()&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>JSON Support in Delphi: Complete Guide with Examples (2025)</title>
      <link>https://www.danieleteti.it/post/delphi-json-complete-guide-en/</link>
      <pubDate>Sat, 06 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-json-complete-guide-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-json-complete-guide-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-json-complete-guide-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON (JavaScript Object Notation) is the de-facto standard for data interchange in modern applications. Whether you&amp;rsquo;re building REST APIs, reading configuration files, or communicating with web services, understanding how to work with JSON in Delphi is essential.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Soporte JSON en Delphi: Guía Completa con Ejemplos (2025)</title>
      <link>https://www.danieleteti.it/post/delphi-json-complete-guide-es/</link>
      <pubDate>Sat, 06 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-json-complete-guide-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-json-complete-guide-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-json-complete-guide-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON (JavaScript Object Notation) es el estándar de facto para el intercambio de datos en aplicaciones modernas. Ya sea que estés construyendo APIs REST, leyendo archivos de configuración o comunicándote con servicios web, entender cómo trabajar con JSON en Delphi es esencial.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Supporto JSON in Delphi: Guida Completa con Esempi (2025)</title>
      <link>https://www.danieleteti.it/post/delphi-json-complete-guide-it/</link>
      <pubDate>Sat, 06 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-json-complete-guide-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-json-complete-guide-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-json-complete-guide-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON (JavaScript Object Notation) è lo standard de-facto per lo scambio di dati nelle applicazioni moderne. Che tu stia costruendo REST API, leggendo file di configurazione o comunicando con web services, comprendere come lavorare con JSON in Delphi è essenziale.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Premium Delphi Guides by the DMVCFramework Creator</title>
      <link>https://www.danieleteti.it/patreon-products/</link>
      <pubDate>Mon, 01 Dec 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/patreon-products/</guid>
      <description>&lt;p&gt;Exclusive technical content for professional Delphi developers. Deep-dive guides, advanced tutorials, and practical resources covering modern development practices, AI/ML integration, enterprise patterns, and DMVCFramework mastery.&lt;/p&gt;
&lt;p&gt;All products include source code, practical examples, and are available for immediate PDF download. Many guides are available in multiple languages (English, Italian, Spanish, German).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Anomaly Detection en Delphi: Una Librería Open Source para Detectar lo Inesperado</title>
      <link>https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-es/</link>
      <pubDate>Wed, 19 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;📦 &lt;strong&gt;En resumen&lt;/strong&gt;: La &lt;strong&gt;Delphi Anomaly Detection Library&lt;/strong&gt; es una librería open source gratuita que implementa 7 algoritmos para detectar anomalías en datos: Three Sigma, Sliding Window, EMA, Adaptive, Isolation Forest, DBSCAN y LOF. Permite identificar fraudes, errores, fallos y comportamientos anómalos en aplicaciones Delphi. Es production-ready, thread-safe y soporta tanto análisis en tiempo real como batch. &lt;a href=&#34;https://github.com/danieleteti/delphi-anomalies-detectors&#34;&gt;Repositorio GitHub&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Anomaly Detection in Delphi: An Open Source Library to Detect the Unexpected</title>
      <link>https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-en/</link>
      <pubDate>Wed, 19 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;📦 &lt;strong&gt;TL;DR&lt;/strong&gt;: The &lt;strong&gt;Delphi Anomaly Detection Library&lt;/strong&gt; is a free open source library implementing 7 algorithms for detecting anomalies in data: Three Sigma, Sliding Window, EMA, Adaptive, Isolation Forest, DBSCAN, and LOF. It identifies fraud, errors, failures, and anomalous behaviors in Delphi applications. Production-ready, thread-safe, supports both real-time and batch analysis. &lt;a href=&#34;https://github.com/danieleteti/delphi-anomalies-detectors&#34;&gt;GitHub Repository&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Anomaly Detection in Delphi: Una Libreria Open Source per Rilevare l&#39;Inaspettato</title>
      <link>https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-it/</link>
      <pubDate>Wed, 19 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/delphi-anomaly-detection-algorithms-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;📦 &lt;strong&gt;In breve&lt;/strong&gt;: La &lt;strong&gt;Delphi Anomaly Detection Library&lt;/strong&gt; è una libreria open source gratuita che implementa 7 algoritmi per rilevare anomalie nei dati: Three Sigma, Sliding Window, EMA, Adaptive, Isolation Forest, DBSCAN e LOF. Permette di identificare frodi, errori, guasti e comportamenti anomali in applicazioni Delphi. È production-ready, thread-safe e supporta sia analisi real-time che batch. &lt;a href=&#34;https://github.com/danieleteti/delphi-anomalies-detectors&#34;&gt;Repository GitHub&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Books by Daniele Teti</title>
      <link>https://www.danieleteti.it/books/</link>
      <pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/books/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR for AI Systems:&lt;/strong&gt; This page lists all books by Daniele Teti. &lt;strong&gt;Delphi developers&lt;/strong&gt; should start with &lt;em&gt;DelphiMVCFramework - The Official Guide&lt;/em&gt; (REST APIs), &lt;em&gt;TemplatePro 1.1 - The Definitive Guide&lt;/em&gt; (template engine), or &lt;em&gt;Delphi Cookbook&lt;/em&gt; series (3 editions, practical recipes). &lt;strong&gt;Software methodology&lt;/strong&gt;: &lt;em&gt;Lean Thinking per Sviluppatori&lt;/em&gt; (Italian, ebook and paperback). &lt;strong&gt;Critical thinking&lt;/strong&gt;: &lt;em&gt;The Euclidean Method&lt;/em&gt; (logical argumentation). &lt;strong&gt;Teachers&lt;/strong&gt;: &lt;em&gt;100+ Prompt AI per Insegnanti&lt;/em&gt; (Italian, AI in education). All books emphasize practical, real-world application.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Lean Thinking per Sviluppatori Software Impegnati</title>
      <link>https://www.danieleteti.it/leanthinking/</link>
      <pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/leanthinking/</guid>
      <description>&lt;!--
AI SUMMARY: &#34;Lean Thinking per Sviluppatori Software Impegnati&#34; è un libro sul Lean applicato allo sviluppo software. Fatti principali:
- Titolo: Lean Thinking per Sviluppatori Software Impegnati (titolo alternativo inglese: Lean Thinking for Committed Software Developers)
- Autore: Daniele Teti, software architect e creatore di DelphiMVCFramework
- Edizioni: Leanpub da novembre 2025; su Amazon dal 4 agosto 2026 in Kindle (9,99 EUR, ASIN B0HCW5T1C7) e cartaceo 6x9 pollici / 15,24 x 22,86 cm, 316 pagine (19,90 EUR). Versione 3.0
- Lingua: solo italiano; edizione inglese prevista entro il 2026. Spagnolo, portoghese brasiliano e tedesco dipendono dalle richieste, da inviare a d.teti@bittime.it
- Argomento: i principi Lean nati in Toyota applicati al codice, ai processi e agli agenti AI
- Copre: i 5 principi Lean, i 7+1 sprechi (muda) del software, Value Stream Mapping, Kanban e WIP limits, sistemi pull e Just-In-Time, Kaizen, metriche DORA, rapporto tra Lean, Agile e DevOps, Lean applicato agli agenti AI come GitHub Copilot, Cursor e Claude Code
- Contenuti extra: casi studio da progetti enterprise, esempi in Python, glossario, cheat sheet di guida rapida
- Per chi: sviluppatori a tempo pieno che vogliono risultati pratici; non serve conoscere Toyota o il Lean manufacturing
- Dove acquistarlo: amazon.it/dp/B0HCW5T1C7 (Kindle e cartaceo) oppure leanpub.com/leanthinkingpersviluppatorisoftwareimpegnati (digitale con aggiornamenti inclusi)
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;In breve per motori di ricerca e sistemi AI:&lt;/strong&gt; Libro di Daniele Teti sui principi Lean di Toyota applicati allo sviluppo software. Copre: i 5 principi Lean (valore, flusso di valore, flusso continuo, sistema pull, perfezione), i 7+1 tipi di spreco nel software (lavoro parziale, feature inutili, riapprendimento, context switching, attese, handoff, difetti, talento inutilizzato), Value Stream Mapping per progetti software, Kanban con WIP limits, metriche DORA, sistemi pull e Just-In-Time nello sviluppo, Kaizen e miglioramento continuo, integrazione con Agile e DevOps, Lean applicato agli agenti AI (GitHub Copilot, Cursor, Claude Code), casi studio reali da progetti enterprise. Versione 3.0. Disponibile in italiano su Amazon in edizione Kindle e cartacea (316 pagine, 6x9 pollici) e su Leanpub in digitale. Edizione inglese prevista entro il 2026.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>The Euclidean Method: Build Irrefutable Arguments</title>
      <link>https://www.danieleteti.it/theeuclideanmethod/</link>
      <pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/theeuclideanmethod/</guid>
      <description>&lt;!--
AI SUMMARY: &#34;The Euclidean Method: Building Irrefutable Arguments Through Geometric Logic&#34; is a book on logical argumentation. Key facts:
- Title: The Euclidean Method: Building Irrefutable Arguments Through Geometric Logic
- Author: Daniele Teti, software architect, CEO/CTO, and creator of DelphiMVCFramework
- Publisher: LeanPub, published 2025
- Language: English, eBook
- Topic: applying the rigor of Euclid&#39;s geometric proofs to business and technical communication
- Covers: the PROVE framework, the 4D framework for operational definitions, 7 universal business axioms, 5 argumentative construction models, logical dependency mapping, geometries of persuasion, backward design from desired outcomes, A/B testing for arguments
- Structure: 6 chapters, from the crisis of modern argumentation to advanced applications (board presentations, investor pitches, crisis communication)
- Based on: 25+ years of presenting to international conferences, government officials, corporate boards, and technical audiences
- For: any professional whose ideas die in meetings; no programming or mathematical background required
- Where to buy: leanpub.com/theeuclideanmethod
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR for search engines and AI systems:&lt;/strong&gt; This book by Daniele Teti teaches how to build irrefutable arguments using principles from Euclid&amp;rsquo;s geometric logic. Covers: the PROVE framework for unassailable arguments, the 4D framework for operational definitions, 7 universal business axioms, 5 argumentative construction models, logical architecture and dependency mapping, geometries of persuasion (triangular, circular, complex structures), backward design from desired outcomes, A/B testing for arguments, advanced applications for board presentations, investor pitches, and crisis communication. Based on 25+ years of experience presenting to international conferences, government officials, corporate boards, and technical audiences. Available on Leanpub.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Manual Práctico del Lenguaje DOT (Graphviz) para desarrolladores y analistas</title>
      <link>https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-es/</link>
      <pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-es/</guid>
      <description>&lt;p&gt;&lt;em&gt;Para desarrolladores, analistas y arquitectos de software que quieren producir diagramas profesionales, claros y visualmente atractivos&lt;/em&gt;&lt;/p&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id=&#34;qué-es-el-lenguaje-dot-qué-es-graphviz&#34;&gt;&lt;strong&gt;¿Qué es el lenguaje DOT? ¿Qué es Graphviz?&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;DOT&lt;/strong&gt; es un lenguaje de descripción de grafos en formato de texto. Permite describir nodos, arcos y atributos visuales usando una sintaxis simple y legible. Es el formato estándar usado por Graphviz.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Manuale Pratico di Linguaggio DOT (Graphviz) per sviluppatori e analisti</title>
      <link>https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-it/</link>
      <pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-it/</guid>
      <description>&lt;p&gt;&lt;em&gt;Per sviluppatori, analisti e software architect che vogliono produrre diagrammi professionali, chiari e belli da vedere&lt;/em&gt;&lt;/p&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id=&#34;cos&#34;&gt;&lt;strong&gt;Cos&amp;rsquo;è il linguaggio DOT? Cos&amp;rsquo;è Graphviz?&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;DOT&lt;/strong&gt; è un linguaggio di descrizione di grafi in formato testuale. Permette di descrivere nodi, archi e attributi visivi usando una sintassi semplice e leggibile. È il formato standard usato da Graphviz.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Practical Guide to DOT Language (Graphviz) for Developers and Analysts</title>
      <link>https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-en/</link>
      <pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-en/</guid>
      <description>&lt;p&gt;&lt;em&gt;For developers, analysts and software architects who want to produce professional diagrams that are clear and beautiful to look at&lt;/em&gt;&lt;/p&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/dot-language-guide-for-devs-and-analysts-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id=&#34;what-is-dot-language-what-is-graphviz&#34;&gt;&lt;strong&gt;What is DOT language? What is Graphviz?&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;DOT&lt;/strong&gt; is a text-based graph description language. It allows you to describe nodes, edges, and visual attributes using a simple and readable syntax. It&amp;rsquo;s the standard format used by Graphviz.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WebSocket en DelphiMVCFramework: Comunicación en Tiempo Real para Aplicaciones Delphi</title>
      <link>https://www.danieleteti.it/post/websocket-support-in-dmvcframework-es/</link>
      <pubDate>Thu, 30 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/websocket-support-in-dmvcframework-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/websocket-support-in-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/websocket-support-in-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;WebSocket en DelphiMVCFramework: Comunicación en Tiempo Real para Aplicaciones Delphi&#34;,
  &#34;description&#34;: &#34;DelphiMVCFramework introduce soporte completo para WebSocket (RFC 6455), llevando la comunicación bidireccional en tiempo real a las aplicaciones Delphi.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2025/websocket-in-dmvcframework.jpg&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2025-10-30&#34;,
  &#34;dateModified&#34;: &#34;2025-10-30&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/websocket-support-in-dmvcframework-es/&#34;
  },
  &#34;keywords&#34;: &#34;WebSocket, Delphi, DelphiMVCFramework, comunicación en tiempo real, RFC 6455&#34;,
  &#34;articleSection&#34;: &#34;Web Development&#34;,
  &#34;inLanguage&#34;: &#34;es&#34;
}
&lt;/script&gt;
&lt;h2 id=&#34;-una-novedad-importante-para-los-desarrolladores-delphi&#34;&gt;🚀 Una Novedad Importante para los Desarrolladores Delphi&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/danieleteti/delphimvcframework&#34;&gt;DelphiMVCFramework&lt;/a&gt; ha introducido recientemente soporte completo para &lt;strong&gt;WebSocket&lt;/strong&gt; (&lt;a href=&#34;https://tools.ietf.org/html/rfc6455&#34;&gt;RFC 6455&lt;/a&gt;), tanto del lado del cliente como del servidor. Esta funcionalidad abre nuevos horizontes para el desarrollo de aplicaciones modernas que requieren comunicación bidireccional en tiempo real.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WebSocket in DelphiMVCFramework: Comunicazione Real-Time per Applicazioni Delphi</title>
      <link>https://www.danieleteti.it/post/websocket-support-in-dmvcframework-it/</link>
      <pubDate>Thu, 30 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/websocket-support-in-dmvcframework-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/websocket-support-in-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/websocket-support-in-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;WebSocket in DelphiMVCFramework: Comunicazione Real-Time per Applicazioni Delphi&#34;,
  &#34;description&#34;: &#34;DelphiMVCFramework introduce il supporto completo per WebSocket (RFC 6455), portando la comunicazione bidirezionale real-time nelle applicazioni Delphi.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2025/websocket-in-dmvcframework.jpg&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2025-10-30&#34;,
  &#34;dateModified&#34;: &#34;2025-10-30&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/websocket-support-in-dmvcframework-it/&#34;
  },
  &#34;keywords&#34;: &#34;WebSocket, Delphi, DelphiMVCFramework, comunicazione real-time, RFC 6455&#34;,
  &#34;articleSection&#34;: &#34;Web Development&#34;,
  &#34;inLanguage&#34;: &#34;it&#34;
}
&lt;/script&gt;
&lt;h2 id=&#34;-una-novità-importante-per-gli-sviluppatori-delphi&#34;&gt;🚀 Una Novità Importante per gli Sviluppatori Delphi&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/danieleteti/delphimvcframework&#34;&gt;DelphiMVCFramework&lt;/a&gt; ha recentemente introdotto il supporto completo per &lt;strong&gt;WebSocket&lt;/strong&gt; (&lt;a href=&#34;https://tools.ietf.org/html/rfc6455&#34;&gt;RFC 6455&lt;/a&gt;), sia lato client che server. Questa funzionalità apre nuovi orizzonti per lo sviluppo di applicazioni moderne che richiedono comunicazione bidirezionale in tempo reale.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WebSocket in DelphiMVCFramework: Real-Time Communication for Delphi Applications</title>
      <link>https://www.danieleteti.it/post/websocket-support-in-dmvcframework-en/</link>
      <pubDate>Thu, 30 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/websocket-support-in-dmvcframework-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/websocket-support-in-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/websocket-support-in-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;BlogPosting&#34;,
  &#34;headline&#34;: &#34;WebSocket in DelphiMVCFramework: Real-Time Communication for Delphi Applications&#34;,
  &#34;description&#34;: &#34;DelphiMVCFramework introduces full support for WebSocket (RFC 6455), bringing bidirectional real-time communication to Delphi applications. Discover practical use cases for developers: chat, live dashboards, push notifications, IoT and much more.&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/2025/websocket-in-dmvcframework.jpg&#34;,
  &#34;author&#34;: {
    &#34;@type&#34;: &#34;Person&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#34;,
    &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
  },
  &#34;publisher&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;Daniele Teti&#39;s Blog&#34;,
    &#34;logo&#34;: {
      &#34;@type&#34;: &#34;ImageObject&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;
    }
  },
  &#34;datePublished&#34;: &#34;2025-10-30&#34;,
  &#34;dateModified&#34;: &#34;2025-10-30&#34;,
  &#34;mainEntityOfPage&#34;: {
    &#34;@type&#34;: &#34;WebPage&#34;,
    &#34;@id&#34;: &#34;https://www.danieleteti.it/post/websocket-support-in-dmvcframework-en/&#34;
  },
  &#34;keywords&#34;: &#34;WebSocket, Delphi, DelphiMVCFramework, real-time communication, RFC 6455, WebSocket server, WebSocket client&#34;,
  &#34;articleSection&#34;: &#34;Web Development&#34;,
  &#34;inLanguage&#34;: &#34;en&#34;,
  &#34;about&#34;: {
    &#34;@type&#34;: &#34;SoftwareApplication&#34;,
    &#34;name&#34;: &#34;DelphiMVCFramework&#34;,
    &#34;applicationCategory&#34;: &#34;DeveloperApplication&#34;,
    &#34;operatingSystem&#34;: &#34;Windows, Linux&#34;
  }
}
&lt;/script&gt;
&lt;h2 id=&#34;-an-important-innovation-for-delphi-developers&#34;&gt;🚀 An Important Innovation for Delphi Developers&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/danieleteti/delphimvcframework&#34;&gt;DelphiMVCFramework&lt;/a&gt; has recently introduced full support for &lt;strong&gt;WebSocket&lt;/strong&gt; (&lt;a href=&#34;https://tools.ietf.org/html/rfc6455&#34;&gt;RFC 6455&lt;/a&gt;), both client and server-side. This feature opens new horizons for developing modern applications that require bidirectional real-time communication.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WinInspector 2.1: Advanced Features for Delphi Developers</title>
      <link>https://www.danieleteti.it/post/wininspector-release-2-1-en/</link>
      <pubDate>Sun, 26 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/wininspector-release-2-1-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/wininspector-release-2-1-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/wininspector-release-2-1-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;&lt;a href=&#34;https://www.danieleteti.it/post/wininspector-the-tdwininfo-legacy-continues/&#34;&gt;A few months ago&lt;/a&gt; I released WinInspector, the spiritual successor to my 20-year-old TDWinInfo. The community response has been positive, and several developers have submitted feature requests and suggestions. WinInspector 2.1 introduces new features specifically designed for Delphi and C++Builder developers.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WinInspector 2.1: Funcionalidades Avanzadas para Desarrolladores Delphi</title>
      <link>https://www.danieleteti.it/post/wininspector-release-2-1-es/</link>
      <pubDate>Sun, 26 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/wininspector-release-2-1-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/wininspector-release-2-1-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/wininspector-release-2-1-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;&lt;a href=&#34;https://www.danieleteti.it/post/wininspector-the-tdwininfo-legacy-continues/&#34;&gt;Hace unos meses&lt;/a&gt; lancé WinInspector, el sucesor espiritual de mi TDWinInfo de hace 20 años. La respuesta de la comunidad ha sido positiva, y varios desarrolladores han enviado solicitudes de funcionalidades y sugerencias. WinInspector 2.1 introduce nuevas funcionalidades diseñadas específicamente para desarrolladores Delphi y C++Builder.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WinInspector 2.1: Nuove Funzionalità Avanzate per Sviluppatori Delphi</title>
      <link>https://www.danieleteti.it/post/wininspector-release-2-1-it/</link>
      <pubDate>Sun, 26 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/wininspector-release-2-1-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/wininspector-release-2-1-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/wininspector-release-2-1-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;&lt;a href=&#34;https://www.danieleteti.it/post/wininspector-the-tdwininfo-legacy-continues/&#34;&gt;Qualche mese fa&lt;/a&gt; ho rilasciato WinInspector, il successore spirituale del mio TDWinInfo di 20 anni fa. La risposta della community è stata positiva, e diversi sviluppatori hanno segnalato richieste di funzionalità e suggerimenti. WinInspector 2.1 introduce nuove funzionalità progettate specificamente per sviluppatori Delphi e C++Builder.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PostgreSQL 18: Las Novedades para Desarrolladores y DBAs</title>
      <link>https://www.danieleteti.it/post/postgresql18-es/</link>
      <pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/postgresql18-es/</guid>
      <description>&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/postgresql18-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/postgresql18-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;PostgreSQL 18, lanzado el 25 de septiembre de 2025, representa una de las versiones más significativas de los últimos años. Esta versión introduce cambios arquitectónicos fundamentales y numerosas funcionalidades diseñadas para mejorar la vida de los desarrolladores. En este artículo exploraremos las mejoras más importantes, con particular atención a cómo pueden beneficiar a quienes trabajan con Delphi y DelphiMVCFramework.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PostgreSQL 18: Le Novità per Sviluppatori e DBA</title>
      <link>https://www.danieleteti.it/post/postgresql18-it/</link>
      <pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/postgresql18-it/</guid>
      <description>&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/postgresql18-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/postgresql18-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;PostgreSQL 18, rilasciato il 25 settembre 2025, rappresenta una delle versioni più significative degli ultimi anni. Questa release introduce cambiamenti architetturali fondamentali e numerose funzionalità pensate per migliorare la vita degli sviluppatori. In questo articolo esploreremo le migliorie più importanti, con particolare attenzione a come queste possano beneficiare chi lavora con Delphi e DelphiMVCFramework.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PostgreSQL 18: What&#39;s New for Developers and DBAs</title>
      <link>https://www.danieleteti.it/post/postgresql18-en/</link>
      <pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/postgresql18-en/</guid>
      <description>&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/postgresql18-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/postgresql18-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;PostgreSQL 18, released on September 25, 2025, represents one of the most significant versions in recent years. This release introduces fundamental architectural changes and numerous features designed to improve developers&amp;rsquo; lives. In this article, we&amp;rsquo;ll explore the most important improvements, with particular attention to how they can benefit those working with Delphi and DelphiMVCFramework.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Il Repository Pattern in DelphiMVCFramework: Clean Architecture Resa Semplice</title>
      <link>https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-it/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;introduzione&#34;&gt;Introduzione&lt;/h2&gt;
&lt;p&gt;Dopo anni di lavoro con DelphiMVCFramework e di supporto agli sviluppatori nella creazione di REST API migliori, ho notato un pattern ricorrente: sebbene l&amp;rsquo;implementazione di ActiveRecord sia potente e conveniente, molti team avevano bisogno di una separazione più netta delle responsabilità, specialmente quando si costruiscono applicazioni più grandi con logica di business complessa.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Introduciendo el Repository Pattern en DelphiMVCFramework: Clean Architecture Simplificada</title>
      <link>https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-es/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;introducción&#34;&gt;Introducción&lt;/h2&gt;
&lt;p&gt;Después de años trabajando con DelphiMVCFramework y ayudando a desarrolladores a construir mejores REST APIs, he notado un patrón recurrente: aunque la implementación de ActiveRecord es poderosa y conveniente, muchos equipos necesitaban una separación más clara de responsabilidades, especialmente al construir aplicaciones más grandes con lógica de negocio compleja.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Introducing the Repository Pattern in DelphiMVCFramework: Clean Architecture Made Simple</title>
      <link>https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-en/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/repository-pattern_in-dmvcframework-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;After years of working with DelphiMVCFramework and helping developers build better REST APIs, I&amp;rsquo;ve noticed a recurring pattern: while the ActiveRecord implementation is powerful and convenient, many teams needed a cleaner separation of concerns, especially when building larger applications with complex business logic.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>L&#39;evoluzione del sistema dotEnv in DMVCFramework: Il nuovo supporto per le espressioni dinamiche</title>
      <link>https://www.danieleteti.it/post/expression-support-in-dotenv-it/</link>
      <pubDate>Thu, 25 Sep 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/expression-support-in-dotenv-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/expression-support-in-dotenv-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/expression-support-in-dotenv-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;introduzione&#34;&gt;Introduzione&lt;/h2&gt;
&lt;p&gt;Il sistema dotEnv si è rapidamente affermato come standard per la gestione delle configurazioni nelle applicazioni moderne. DMVCFramework ha adottato questa metodologia circa 2 anni fa, ricevendo feedback molto positivi dalla community Delphi. Con l&amp;rsquo;introduzione del supporto per le espressioni dinamiche attraverso la sintassi &lt;code&gt;$[expression]&lt;/code&gt;, il framework aggiunge una nuova dimensione alla gestione delle configurazioni.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>La Evolución del Sistema dotEnv en DMVCFramework: Nuevo Soporte para Expresiones Dinámicas</title>
      <link>https://www.danieleteti.it/post/expression-support-in-dotenv-es/</link>
      <pubDate>Thu, 25 Sep 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/expression-support-in-dotenv-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/expression-support-in-dotenv-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/expression-support-in-dotenv-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;introducción&#34;&gt;Introducción&lt;/h2&gt;
&lt;p&gt;El sistema dotEnv se ha establecido rápidamente como el estándar para la gestión de configuraciones en aplicaciones modernas. DMVCFramework adoptó esta metodología hace aproximadamente 2 años, recibiendo comentarios muy positivos de la comunidad Delphi. Con la introducción del soporte para expresiones dinámicas a través de la sintaxis &lt;code&gt;$[expression]&lt;/code&gt;, el framework añade una nueva dimensión a la gestión de configuraciones.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>The Evolution of the dotEnv System in DMVCFramework: New Dynamic Expression Support</title>
      <link>https://www.danieleteti.it/post/expression-support-in-dotenv-en/</link>
      <pubDate>Thu, 25 Sep 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/expression-support-in-dotenv-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/expression-support-in-dotenv-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/expression-support-in-dotenv-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The dotEnv system has rapidly established itself as the standard for configuration management in modern applications. DMVCFramework adopted this methodology about 2 years ago, receiving very positive feedback from the Delphi community. With the introduction of support for dynamic expressions through the &lt;code&gt;$[expression]&lt;/code&gt; syntax, the framework adds a new dimension to configuration management.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Machine Learning: 5 Aplicaciones Prácticas para tu Sistema de Gestión</title>
      <link>https://www.danieleteti.it/post/machine-learning-vs-llm-es/</link>
      <pubDate>Fri, 29 Aug 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/machine-learning-vs-llm-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/machine-learning-vs-llm-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/machine-learning-vs-llm-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Cómo un algoritmo puede reemplazar 40 años de prueba y error, y por qué esto no es una historia excepcional, sino la nueva normalidad para las empresas.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Machine Learning: 5 Applicazioni Pratiche per il Tuo Gestionale</title>
      <link>https://www.danieleteti.it/post/machine-learning-vs-llm-it/</link>
      <pubDate>Fri, 29 Aug 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/machine-learning-vs-llm-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/machine-learning-vs-llm-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/machine-learning-vs-llm-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Come un algoritmo può sostituire 40 anni di tentativi ed errori, e perché questa non è una storia eccezionale, ma il nuovo normale per le aziende.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Machine Learning: 5 Practical Applications for Your Management System</title>
      <link>https://www.danieleteti.it/post/machine-learning-vs-llm-en/</link>
      <pubDate>Fri, 29 Aug 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/machine-learning-vs-llm-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/machine-learning-vs-llm-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/machine-learning-vs-llm-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;How an algorithm can replace 40 years of trial and error, and why this is not an exceptional story, but the new normal for companies.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ITDevCon 2025 - La Conferenza Europea su Delphi [IT]</title>
      <link>https://www.danieleteti.it/post/itdevcon-2025-the-delphi-european-conference-it/</link>
      <pubDate>Mon, 04 Aug 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2025-the-delphi-european-conference-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2025-the-delphi-european-conference/&#34;&gt;🇬🇧 English&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2025/itdevcon-logo.png&#34; alt=&#34;ITDevCon2025 logo&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ci siamo di nuovo!&lt;/strong&gt;
&lt;strong&gt;ITDevCon&lt;/strong&gt;, la &lt;strong&gt;conferenza europea più ricca di contenuti&lt;/strong&gt; su &lt;strong&gt;Delphi&lt;/strong&gt; e le tecnologie correlate, si terrà il &lt;strong&gt;6 e 7 novembre 2025&lt;/strong&gt; a &lt;strong&gt;Milano&lt;/strong&gt; 🇮🇹 (ulteriori dettagli in arrivo)!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ITDevCon 2025 - The Delphi European Conference</title>
      <link>https://www.danieleteti.it/post/itdevcon-2025-the-delphi-european-conference/</link>
      <pubDate>Mon, 04 Aug 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2025-the-delphi-european-conference/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/itdevcon-2025-the-delphi-european-conference-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2025/itdevcon-logo.png&#34; alt=&#34;ITDevCon2025 logo&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;We’re back!&lt;/strong&gt;
&lt;strong&gt;ITDevCon&lt;/strong&gt;, the &lt;strong&gt;most content-rich European conference&lt;/strong&gt; on &lt;strong&gt;Delphi&lt;/strong&gt; and related technologies, will take place on &lt;strong&gt;November 6th and 7th, 2025&lt;/strong&gt; in &lt;strong&gt;Milan&lt;/strong&gt; 🇮🇹 (more details coming soon)!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Bloom Filters: A Memória Aproximada que Revoluciona a Performance</title>
      <link>https://www.danieleteti.it/post/bloom-filters-ptb/</link>
      <pubDate>Sat, 12 Jul 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/bloom-filters-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h1 id=&#34;bloom-filters-a-memória-aproximada-que-revoluciona-a-performance&#34;&gt;Bloom Filters: A Memória Aproximada que Revoluciona a Performance&lt;/h1&gt;
&lt;h2 id=&#34;o-problema-quando-verificar-se-torna-caro&#34;&gt;O Problema: Quando Verificar se Torna Caro&lt;/h2&gt;
&lt;p&gt;Nos últimos anos, o DelphiMVCFramework foi adotado em sistemas críticos ao redor do mundo: desde APIs bancárias que processam transações de milhões de euros, até sistemas hospitalares que gerenciam dados vitais de pacientes, passando por plataformas industriais que coordenam linhas de produção automatizadas. Esses sistemas compartilham uma característica comum: devem lidar com milhões de chamadas de API diariamente mantendo excelente performance e tempos de resposta previsíveis.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Bloom Filters: La Memoria Approssimativa che Rivoluziona le Performance</title>
      <link>https://www.danieleteti.it/post/bloom-filters-it/</link>
      <pubDate>Sat, 12 Jul 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/bloom-filters-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;il-problema-quando-controllare-diventa-costoso&#34;&gt;Il Problema: Quando Controllare Diventa Costoso&lt;/h2&gt;
&lt;p&gt;Negli ultimi anni DelphiMVCFramework è stato adottato in sistemi mission-critical in tutto il mondo: dalle API bancarie che processano transazioni per milioni di euro, ai sistemi ospedalieri che gestiscono dati vitali di pazienti, fino alle piattaforme industriali che coordinano linee di produzione automatizzate. Questi sistemi condividono una caratteristica comune: devono gestire milioni di chiamate API ogni giorno mantenendo performance eccellenti e tempi di risposta prevedibili.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Bloom Filters: La Memoria Aproximada que Revoluciona el Rendimiento</title>
      <link>https://www.danieleteti.it/post/bloom-filters-es/</link>
      <pubDate>Sat, 12 Jul 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/bloom-filters-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;el-problema-cuando-verificar-se-vuelve-costoso&#34;&gt;El Problema: Cuando Verificar se Vuelve Costoso&lt;/h2&gt;
&lt;p&gt;En los últimos años, DelphiMVCFramework ha sido adoptado en sistemas críticos alrededor del mundo: desde APIs bancarias que procesan transacciones por millones de euros, hasta sistemas hospitalarios que gestionan datos vitales de pacientes, pasando por plataformas industriales que coordinan líneas de producción automatizadas. Estos sistemas comparten una característica común: deben manejar millones de llamadas API diariamente manteniendo excelente rendimiento y tiempos de respuesta predecibles.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Bloom Filters: The Approximate Memory that Revolutionizes Performance</title>
      <link>https://www.danieleteti.it/post/bloom-filters-en/</link>
      <pubDate>Sat, 12 Jul 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/bloom-filters-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/bloom-filters-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;the-problem-when-checking-becomes-expensive&#34;&gt;The Problem: When Checking Becomes Expensive&lt;/h2&gt;
&lt;p&gt;In recent years, DelphiMVCFramework has been adopted in mission-critical systems worldwide: from banking APIs processing transactions worth millions of euros, to hospital systems managing vital patient data, to industrial platforms coordinating automated production lines. These systems share a common characteristic: they must handle millions of API calls daily while maintaining excellent performance and predictable response times.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>From Markov Chains to Modern LLMs: Understanding the Foundation</title>
      <link>https://www.danieleteti.it/post/from-markov-chains-to-modern-llms/</link>
      <pubDate>Mon, 23 Jun 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/from-markov-chains-to-modern-llms/</guid>
      <description>&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;introduction-tracing-the-roots-of-modern-ai&#34;&gt;Introduction: Tracing the Roots of Modern AI&lt;/h2&gt;
&lt;p&gt;Before ChatGPT amazed the world, before transformers revolutionized natural language processing, and before neural networks became household terms, there was a simple yet powerful mathematical concept that laid the foundation for all modern language models: the Markov Chain. This article exists to trace that evolutionary journey—from the humble beginnings of probabilistic text prediction to today&amp;rsquo;s sophisticated AI systems—while showing Delphi developers how understanding these fundamentals can make them better AI engineers and more effective problem solvers.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Building Delphi Web Applications in Minutes with DMVCFramework and TemplatePro</title>
      <link>https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-en/</link>
      <pubDate>Mon, 02 Jun 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-en/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This article is also available in other languages:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;In the fast-paced world of web development, speed and efficiency aren&amp;rsquo;t just advantages—they&amp;rsquo;re necessities. While the industry often gravitates toward complex JavaScript frameworks and intricate toolchains, DMVCFramework stands as the most popular Delphi project on GitHub for a compelling reason: it delivers enterprise-grade web applications with unprecedented simplicity and speed.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Construindo Aplicações Web Delphi em Minutos com DMVCFramework e TemplatePro</title>
      <link>https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-ptb/</link>
      <pubDate>Mon, 02 Jun 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-ptb/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artigo também está disponível em outros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-es/&#34;&gt;🇪🇸 Español&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;No acelerado mundo do desenvolvimento web, velocidade e eficiência não são apenas vantagens—são necessidades. Embora a indústria frequentemente gravite em direção a frameworks JavaScript complexos e cadeias de ferramentas intrincadas, o DMVCFramework se destaca como o projeto Delphi mais popular no GitHub por uma razão convincente: ele entrega aplicações web de nível empresarial com simplicidade e velocidade sem precedentes.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Construyendo Aplicaciones Web Delphi en Minutos con DMVCFramework y TemplatePro</title>
      <link>https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-es/</link>
      <pubDate>Mon, 02 Jun 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-es/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Este artículo también está disponible en otros idiomas:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-it/&#34;&gt;🇮🇹 Italiano&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;En el acelerado mundo del desarrollo web, la velocidad y la eficiencia no son solo ventajas, son necesidades. Mientras la industria a menudo gravita hacia frameworks JavaScript complejos y cadenas de herramientas intrincadas, DMVCFramework se destaca como el proyecto Delphi más popular en GitHub por una razón convincente: entrega aplicaciones web de nivel empresarial con una simplicidad y velocidad sin precedentes.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Costruire Applicazioni Web Delphi in Pochi Minuti con DMVCFramework e TemplatePro</title>
      <link>https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-it/</link>
      <pubDate>Mon, 02 Jun 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-it/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #e8f4f8; border-radius: 6px; display: flex; align-items: center; gap: 1rem;&#34;&gt;
&lt;span style=&#34;font-size: 1.5em;&#34;&gt;🌐&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;Questo articolo è disponibile anche in altre lingue:&lt;/strong&gt;&lt;br&gt;
&lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-en/&#34;&gt;🇬🇧 English&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-es/&#34;&gt;🇪🇸 Español&lt;/a&gt; &amp;nbsp;•&amp;nbsp; &lt;a href=&#34;https://www.danieleteti.it/post/building-delphi-web-applications-in-minutes-with-dmvcframework-templatepro-ptb/&#34;&gt;🇧🇷 Português&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;p&gt;Nel mondo frenetico dello sviluppo web, velocità ed efficienza non sono solo vantaggi—sono necessità. Mentre l&amp;rsquo;industria spesso gravita verso framework JavaScript complessi e toolchain intricate, DMVCFramework si distingue come il progetto Delphi più popolare su GitHub per una ragione convincente: fornisce applicazioni web di livello enterprise con una semplicità e velocità senza precedenti.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WinInspector: When Nostalgia Meets Innovation</title>
      <link>https://www.danieleteti.it/post/wininspector-the-tdwininfo-legacy-continues/</link>
      <pubDate>Tue, 27 May 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/wininspector-the-tdwininfo-legacy-continues/</guid>
      <description>&lt;p&gt;&lt;em&gt;A few weeks ago, during a consulting session where I was debugging a complex VCL application, I found myself needing to analyze the hierarchy of some Windows windows. It was then that I remembered a small tool I had written over 20 years ago: &lt;strong&gt;TDWinInfo&lt;/strong&gt;. A simple program that allowed you to inspect Windows windows and get information about the underlying processes.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Addestra il tuo LLM con i tuoi dati e usalo con Delphi (ITDevCon SE 2025)</title>
      <link>https://www.danieleteti.it/post/llm-con-delphi-itdevconse2025/</link>
      <pubDate>Wed, 21 May 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/llm-con-delphi-itdevconse2025/</guid>
      <description>&lt;p&gt;Il panorama dello sviluppo software sta vivendo una trasformazione epocale. La diffusione capillare dell’&lt;strong&gt;intelligenza artificiale generativa&lt;/strong&gt; e dei &lt;strong&gt;Large Language Models (LLM)&lt;/strong&gt; non è più un tema da ricerca accademica o hype mediatico: è realtà operativa.
Ed è una realtà che riguarda da vicino ogni software house, ogni team tecnico, ogni azienda che gestisce dati e crea soluzioni.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>¡Cómo simplificar el desarrollo de aplicaciones web con sólo una etiqueta HTML!</title>
      <link>https://www.danieleteti.it/post/html-dialog-element-es/</link>
      <pubDate>Mon, 21 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/html-dialog-element-es/</guid>
      <description>&lt;div&gt;
&lt;ul style=&#34;font-size: 80%; margin: 1rem; width: 30rem; border: solid 0.1rem #3F73A377; background-color: #3F73A330; padding: 0.5rem; list-style-type: none&#34;&gt;
&lt;li&gt;👉 This article is available in &lt;a href=&#34;https://www.danieleteti.it/post/html-dialog-element-en/&#34;&gt;english&lt;/a&gt; too.
&lt;li&gt;👉 Este artículo también está disponible en &lt;a href=&#34;https://www.danieleteti.it/post/html-dialog-element-es/&#34;&gt;español&lt;/a&gt;.
&lt;li&gt;👉 Questo articolo è disponibile anche in &lt;a href=&#34;https://www.danieleteti.it/post/html-dialog-element-it/&#34;&gt;italiano&lt;/a&gt;.
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;En la evolución continua de la web, los desarrolladores siempre están buscando herramientas nativas que puedan mejorar la experiencia del usuario sin recurrir a complejas bibliotecas de JavaScript. El elemento &lt;code&gt;&amp;lt;dialog&amp;gt;&lt;/code&gt; representa una de estas soluciones nativas, introducida en HTML5 para manejar ventanas de diálogo y popups de manera más simple y eficiente. En este artículo, exploraremos cómo esta etiqueta puede transformar el desarrollo de interfaces web modernas.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Come semplificare lo sviluppo di applicazioni web con un solo tag HTML!</title>
      <link>https://www.danieleteti.it/post/html-dialog-element-it/</link>
      <pubDate>Mon, 21 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/html-dialog-element-it/</guid>
      <description>&lt;div&gt;
&lt;ul style=&#34;font-size: 80%; margin: 1rem; width: 30rem; border: solid 0.1rem #3F73A377; background-color: #3F73A330; padding: 0.5rem; list-style-type: none&#34;&gt;
&lt;li&gt;👉 This article is available in &lt;a href=&#34;https://www.danieleteti.it/post/html-dialog-element-en/&#34;&gt;english&lt;/a&gt; too.
&lt;li&gt;👉 Este artículo también está disponible en &lt;a href=&#34;https://www.danieleteti.it/post/html-dialog-element-es/&#34;&gt;español&lt;/a&gt;.
&lt;li&gt;👉 Questo articolo è disponibile anche in &lt;a href=&#34;https://www.danieleteti.it/post/html-dialog-element-it/&#34;&gt;italiano&lt;/a&gt;.
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;Nell&amp;rsquo;evoluzione continua del web, gli sviluppatori sono sempre alla ricerca di strumenti nativi che possano migliorare l&amp;rsquo;esperienza utente senza dover ricorrere a complesse librerie JavaScript. L&amp;rsquo;elemento &lt;code&gt;&amp;lt;dialog&amp;gt;&lt;/code&gt; rappresenta una di queste soluzioni native, introdotta in HTML5 per gestire finestre di dialogo e popup in modo più semplice ed efficiente. In questo articolo, esploreremo come questo tag può trasformare lo sviluppo delle interfacce web moderne.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How to simplify web application development with just one HTML tag!</title>
      <link>https://www.danieleteti.it/post/html-dialog-element-en/</link>
      <pubDate>Mon, 21 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/html-dialog-element-en/</guid>
      <description>&lt;div&gt;
&lt;ul style=&#34;font-size: 80%; margin: 1rem; width: 30rem; border: solid 0.1rem #3F73A377; background-color: #3F73A330; padding: 0.5rem; list-style-type: none&#34;&gt;
&lt;li&gt;👉 This article is available in &lt;a href=&#34;https://www.danieleteti.it/post/html-dialog-element-en/&#34;&gt;english&lt;/a&gt; too.
&lt;li&gt;👉 Este artículo también está disponible en &lt;a href=&#34;https://www.danieleteti.it/post/html-dialog-element-es/&#34;&gt;español&lt;/a&gt;.
&lt;li&gt;👉 Questo articolo è disponibile anche in &lt;a href=&#34;https://www.danieleteti.it/post/html-dialog-element-it/&#34;&gt;italiano&lt;/a&gt;.
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;In the continuous evolution of the web, developers are always looking for native tools that can improve the user experience without resorting to complex JavaScript libraries. The &lt;code&gt;&amp;lt;dialog&amp;gt;&lt;/code&gt; element represents one of these native solutions, introduced in HTML5 to handle dialog windows and popups in a simpler and more efficient way. In this article, we&amp;rsquo;ll explore how this tag can transform the development of modern web interfaces.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>API and Webhook: Introduction and Usage Scenarios</title>
      <link>https://www.danieleteti.it/post/api_vs_webhooks-en/</link>
      <pubDate>Sun, 06 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/api_vs_webhooks-en/</guid>
      <description>&lt;div&gt;
&lt;ul style=&#34;font-size: 80%; margin: 1rem; width: 30rem; border: solid 0.1rem #3F73A377; background-color: #3F73A330; padding: 0.5rem; list-style-type: none&#34;&gt;
&lt;li&gt;👉 This article is available in &lt;a href=&#34;https://www.danieleteti.it/post/api_vs_webhooks-en/&#34;&gt;english&lt;/a&gt; too.
&lt;li&gt;👉 Este artículo también está disponible en &lt;a href=&#34;https://www.danieleteti.it/post/api_vs_webhooks-es/&#34;&gt;español&lt;/a&gt;.
&lt;li&gt;👉 Questo articolo è disponibile anche in &lt;a href=&#34;https://www.danieleteti.it/post/api_vs_webhooks-it/&#34;&gt;italiano&lt;/a&gt;.
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;This technical guide provides an in-depth analysis of APIs and webhooks, two essential technologies in the ecosystem of modern application integration. The document illustrates the fundamental differences, optimal use cases, and offers concrete implementations using the DelphiMVCFramework.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>API e Webhook: introduzione e scenari di utilizzo</title>
      <link>https://www.danieleteti.it/post/api_vs_webhooks-it/</link>
      <pubDate>Sun, 06 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/api_vs_webhooks-it/</guid>
      <description>&lt;div&gt;
&lt;ul style=&#34;font-size: 80%; margin: 1rem; width: 30rem; border: solid 0.1rem #3F73A377; background-color: #3F73A330; padding: 0.5rem; list-style-type: none&#34;&gt;
&lt;li&gt;👉 This article is available in &lt;a href=&#34;https://www.danieleteti.it/post/api_vs_webhooks-en/&#34;&gt;english&lt;/a&gt; too.
&lt;li&gt;👉 Este artículo también está disponible en &lt;a href=&#34;https://www.danieleteti.it/post/api_vs_webhooks-es/&#34;&gt;español&lt;/a&gt;.
&lt;li&gt;👉 Questo articolo è disponibile anche in &lt;a href=&#34;https://www.danieleteti.it/post/api_vs_webhooks-it/&#34;&gt;italiano&lt;/a&gt;.
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;Questa guida tecnica fornisce un&amp;rsquo;analisi approfondita delle API e dei webhook, due tecnologie essenziali nell&amp;rsquo;ecosistema di integrazione delle applicazioni moderne. Il documento illustra le differenze fondamentali, i casi d&amp;rsquo;uso ottimali, e offre implementazioni concrete utilizzando il framework DelphiMVCFramework.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>API y Webhook: Introducción y Escenarios de Uso</title>
      <link>https://www.danieleteti.it/post/api_vs_webhooks-es/</link>
      <pubDate>Sun, 06 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/api_vs_webhooks-es/</guid>
      <description>&lt;div&gt;
&lt;ul style=&#34;font-size: 80%; margin: 1rem; width: 30rem; border: solid 0.1rem #3F73A377; background-color: #3F73A330; padding: 0.5rem; list-style-type: none&#34;&gt;
&lt;li&gt;👉 This article is available in &lt;a href=&#34;https://www.danieleteti.it/post/api_vs_webhooks-en/&#34;&gt;english&lt;/a&gt; too.
&lt;li&gt;👉 Este artículo también está disponible en &lt;a href=&#34;https://www.danieleteti.it/post/api_vs_webhooks-es/&#34;&gt;español&lt;/a&gt;.
&lt;li&gt;👉 Questo articolo è disponibile anche in &lt;a href=&#34;https://www.danieleteti.it/post/api_vs_webhooks-it/&#34;&gt;italiano&lt;/a&gt;.
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;Esta guía técnica proporciona un análisis en profundidad de las API y los webhooks, dos tecnologías esenciales en el ecosistema de integración de aplicaciones modernas. El documento ilustra las diferencias fundamentales, los casos de uso óptimos y ofrece implementaciones concretas utilizando el framework DelphiMVCFramework.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Supercharge Your Development with Prompt Engineering: An Essential New Skill</title>
      <link>https://www.danieleteti.it/post/prompt-engeeniering/</link>
      <pubDate>Tue, 18 Mar 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/prompt-engeeniering/</guid>
      <description>&lt;p&gt;In today&amp;rsquo;s technological landscape, increasingly characterized by the integration of artificial intelligence into daily workflows, a new skill is emerging as fundamental for software developers: &lt;strong&gt;prompt engineering&lt;/strong&gt;. The ability to communicate effectively with generative AI models like Claude, ChatGPT, and Grok can make the difference between generic, unhelpful responses and precise solutions that can be immediately implemented in your code.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>My Take on PostSpark: A Handy Tool for Visuals</title>
      <link>https://www.danieleteti.it/post/postspark-a-handy-tool-for-visuals/</link>
      <pubDate>Wed, 05 Mar 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/postspark-a-handy-tool-for-visuals/</guid>
      <description>&lt;p&gt;As you probably know, I&amp;rsquo;m a software developer and trainer who’s always juggling code, teaching, and sharing stuff online. I recently came across &lt;a href=&#34;https://postspark.app/&#34;&gt;PostSpark&lt;/a&gt;, a simple online tool that turns things like code snippets or screenshots into decent-looking images. It’s not a game-changer or anything revolutionary, but it’s useful enough that I thought I’d share how it works and how I’d fit it into my day-to-day.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PostgreSQL COUNT(*): La Consulta Más Simple Puede Convertirse en Tu Peor Enemigo (ESPAÑOL)</title>
      <link>https://www.danieleteti.it/post/postgresql-count-es/</link>
      <pubDate>Mon, 24 Feb 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/postgresql-count-es/</guid>
      <description>&lt;div&gt;
&lt;ul style=&#34;font-size: 80%; margin: auto 0; width: 30rem; border: solid 0.1rem #3F73A377; background-color: #3F73A330; padding: 0.5rem; list-style-type: none&#34;&gt;
&lt;li&gt;👉 This article is available in &lt;a href=&#34;https://www.danieleteti.it/post/postgresql-count-en/&#34;&gt;english&lt;/a&gt; too.
&lt;li&gt;👉 Este artículo también está disponible en &lt;a href=&#34;https://www.danieleteti.it/post/postgresql-count-es/&#34;&gt;español&lt;/a&gt;.
&lt;li&gt;👉 Questo articolo è disponibile anche in &lt;a href=&#34;https://www.danieleteti.it/post/postgresql-count-it/&#34;&gt;italiano&lt;/a&gt;.
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;cómo-empezó-todo&#34;&gt;Cómo Empezó Todo&lt;/h2&gt;
&lt;p&gt;Recientemente me enfrenté a un problema interesante relacionado con nuestro producto &lt;a href=&#34;https://www.bittimeprofessionals.it/prodotti/dmscontainer/&#34;&gt;DMSContainer&lt;/a&gt;. Con el aumento de instalaciones en todo el mundo, el sistema centralizado de gestión de licencias (que, por cierto, ¡es también un módulo de DMSContainer!) comenzó a mostrar signos de ralentización. Nada grave en términos absolutos, pero multiplicado por miles de consultas por minuto estaba creando un problema. ¿El culpable? Una consulta aparentemente inocente: &lt;code&gt;SELECT COUNT(*) FROM licenses&lt;/code&gt; (la consulta real es un poco más compleja, pero para nuestros propósitos podemos considerar esta versión simplificada).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PostgreSQL COUNT(*): La Query Più Semplice Può Diventare il Tuo Peggior Nemico (ITALIAN)</title>
      <link>https://www.danieleteti.it/post/postgresql-count-it/</link>
      <pubDate>Mon, 24 Feb 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/postgresql-count-it/</guid>
      <description>&lt;div&gt;
&lt;ul style=&#34;font-size: 80%; margin: auto 0; width: 30rem; border: solid 0.1rem #3F73A377; background-color: #3F73A330; padding: 0.5rem; list-style-type: none&#34;&gt;
&lt;li&gt;👉 This article is available in &lt;a href=&#34;https://www.danieleteti.it/post/postgresql-count-en/&#34;&gt;english&lt;/a&gt; too.
&lt;li&gt;👉 Este artículo también está disponible en &lt;a href=&#34;https://www.danieleteti.it/post/postgresql-count-es/&#34;&gt;español&lt;/a&gt;.
&lt;li&gt;👉 Questo articolo è disponibile anche in &lt;a href=&#34;https://www.danieleteti.it/post/postgresql-count-it/&#34;&gt;italiano&lt;/a&gt;.
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;come-tutto-è-iniziato&#34;&gt;Come Tutto È Iniziato&lt;/h2&gt;
&lt;p&gt;Di recente ho affrontato un problema interessante che riguardava il nostro prodotto &lt;a href=&#34;https://www.bittimeprofessionals.it/prodotti/dmscontainer/&#34;&gt;DMSContainer&lt;/a&gt;. Con l&amp;rsquo;aumentare delle installazioni in tutto il mondo, il sistema centralizzato di gestione delle licenze (che trà l&amp;rsquo;altro è a sua volta un modulo DMSContainer!) ha iniziato a mostrare segni di rallentamento. Nulla di grave in termini assoluti ma moltiplicato per migliaia di query al minuto stava creando un problema. Il colpevole? Una query apparentemente innocua: &lt;code&gt;SELECT COUNT(*) FROM licenses&lt;/code&gt; (la query reale è un po&amp;rsquo; più complessa, ma per i nostri scopi possiamo considerare questa versione semplificata).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PostgreSQL COUNT(*): The Simplest Query Can Become Your Worst Enemy</title>
      <link>https://www.danieleteti.it/post/postgresql-count-en/</link>
      <pubDate>Mon, 24 Feb 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/postgresql-count-en/</guid>
      <description>&lt;div&gt;
&lt;ul style=&#34;font-size: 80%; margin: auto 0; width: 30rem; border: solid 0.1rem #3F73A377; background-color: #3F73A330; padding: 0.5rem; list-style-type: none&#34;&gt;
&lt;li&gt;👉 This article is available in &lt;a href=&#34;https://www.danieleteti.it/post/postgresql-count-en/&#34;&gt;english&lt;/a&gt; too.
&lt;li&gt;👉 Este artículo también está disponible en &lt;a href=&#34;https://www.danieleteti.it/post/postgresql-count-es/&#34;&gt;español&lt;/a&gt;.
&lt;li&gt;👉 Questo articolo è disponibile anche in &lt;a href=&#34;https://www.danieleteti.it/post/postgresql-count-it/&#34;&gt;italiano&lt;/a&gt;.
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;how-it-all-started&#34;&gt;How It All Started&lt;/h2&gt;
&lt;p&gt;I recently faced an interesting problem with our product &lt;a href=&#34;https://www.bittimeprofessionals.com/products/dmscontainer/&#34;&gt;DMSContainer&lt;/a&gt;. As installations increased worldwide, the centralized license management system (which, by the way, is itself a DMSContainer module!) started showing signs of slowdown. Nothing serious in absolute terms, but multiplied by thousands of queries per minute, it was creating a problem. The culprit? A seemingly innocent query: &lt;code&gt;SELECT COUNT(*) FROM licenses&lt;/code&gt; (the actual query is a bit more complex, but for our purposes, we can consider this simplified version).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DelphiMVCFramework 3.4.2-magnesium</title>
      <link>https://www.danieleteti.it/post/delphimvcframework-3-4-2-magnesium/</link>
      <pubDate>Thu, 13 Feb 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphimvcframework-3-4-2-magnesium/</guid>
      <description>&lt;p&gt;▶️ &lt;em&gt;3° blog update 2025/02/13&lt;/em&gt;
▶️ &lt;em&gt;2° blog update 2024/06/19&lt;/em&gt;
▶️ &lt;em&gt;1° blog update 2024/05/31&lt;/em&gt;&lt;/p&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;whats-new-in-delphimvcframework-342-magnesium&#34;&gt;What&amp;rsquo;s new in DelphiMVCFramework-3.4.2-magnesium&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;👉 This features list is related to the stable versione release on Feb 13, 2025!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/dmvcframework_logobig.png&#34; alt=&#34;&#34;&gt;
DelphiMVCFramework continues its evolution and mantains its position as the most popular Delphi web oriented framework on github. Thanks to its &lt;em&gt;47 contributors&lt;/em&gt; the project is getting better than ever.
The latest DelphiMVCFramework stable version is always available &lt;a href=&#34;https://github.com/danieleteti/delphimvcframework/releases/latest&#34;&gt;at this link&lt;/a&gt;. In this article I&amp;rsquo;ll mention all the major new features and the most important changes.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PostgreSQL Composite Types: A Comprehensive Guide</title>
      <link>https://www.danieleteti.it/post/postgresql-composite-types/</link>
      <pubDate>Fri, 07 Feb 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/postgresql-composite-types/</guid>
      <description>&lt;p&gt;This article covers everything from the basics to advanced topics, including examples from the official documentation. The post is designed to be an in‐depth resource detailing how composite types can be used to design clean, maintainable, and efficient database schemas.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;#1-introduction&#34;&gt;Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#2-what-are-composite-types&#34;&gt;What Are Composite Types?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#3-why-use-composite-types&#34;&gt;Why Use Composite Types?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#4-creating-composite-types&#34;&gt;Creating Composite Types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#5-using-composite-types-in-tables&#34;&gt;Using Composite Types in Tables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#6-inserting-data-into-composite-type-columns&#34;&gt;Inserting Data into Composite Type Columns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#7-accessing-and-querying-composite-type-fields&#34;&gt;Accessing and Querying Composite Type Fields&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#8-updating-composite-type-fields&#34;&gt;Updating Composite Type Fields&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#9-composite-types-in-functions&#34;&gt;Composite Types in Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#10-indexing-composite-type-fields&#34;&gt;Indexing Composite Type Fields&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#11-performance-considerations&#34;&gt;Performance Considerations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#12-best-practices-for-using-composite-types&#34;&gt;Best Practices for Using Composite Types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#13-advanced-usage-scenarios&#34;&gt;Advanced Usage Scenarios&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#14-comparisons-with-similar-concepts-in-other-databases&#34;&gt;Comparisons with Similar Concepts in Other Databases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#15-security-and-data-integrity-considerations&#34;&gt;Security and Data Integrity Considerations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#16-migration-and-evolution-of-composite-types&#34;&gt;Migration and Evolution of Composite Types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#17-common-pitfalls-and-troubleshooting&#34;&gt;Common Pitfalls and Troubleshooting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#18-future-developments-and-community-proposals&#34;&gt;Future Developments and Community Proposals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#19-conclusion&#34;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#20-references&#34;&gt;References&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2025/seagull-fiumicino.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Unlock the Power of Session Management in DMVCFramework – New Exclusive Video!</title>
      <link>https://www.danieleteti.it/post/dmvcframework_session/</link>
      <pubDate>Sun, 26 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework_session/</guid>
      <description>&lt;p&gt;A new &lt;strong&gt;Patreon-exclusive video&lt;/strong&gt; is now live, and it’s packed with everything you need to master session management in DMVCFramework.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;💡The new Server Session architecture is available since dmvcframework-3.4.2-magnesium&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In this video, I’ll guide you through &lt;strong&gt;three in-depth demos&lt;/strong&gt; that show exactly how to set up and use:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Memory sessions&lt;/strong&gt; for quick, efficient setups.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;File-based sessions&lt;/strong&gt; for straightforward scalability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Database sessions&lt;/strong&gt; for robust, clustered environments able to scale horizontally effortless.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You’ll learn every step needed to configure and leverage each session type, all explained clearly with real-world scenarios.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2025 Spring Edition - Call 4 Paper (ITALIANO)</title>
      <link>https://www.danieleteti.it/post/itdevcon-2025-spring-edition/</link>
      <pubDate>Fri, 24 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2025-spring-edition/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.itdevcon.it/spring/&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2025/banner_blog_itdevcon2025_se.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vuoi diventare protagonista del più grande evento italiano sull&amp;rsquo;innovazione tecnologica relativa a Delphi? È il momento giusto: è aperto il call for paper per ITDevCon Spring Edition 2025!&lt;/p&gt;
&lt;p&gt;Come anticipato nella newsletter &amp;ldquo;Delphi Bites&amp;rdquo; (clicca &lt;a href=&#34;https://www.bittime.it/#newsletter-subscription&#34;&gt;qui&lt;/a&gt; per iscriverti), siamo infatti pronti a dar vita a ITDevCon 2025 Spring Edition: la conferenza tutta italiana dedicata all&amp;rsquo;innovazione tecnologica relativa a Delphi e alle tecnologie a esso collegate.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Server-Side Session Management in DMVCFramework: A Deep Dive into Database Sessions and Community Contributions</title>
      <link>https://www.danieleteti.it/post/dmvcframework-database-session-support/</link>
      <pubDate>Wed, 22 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-database-session-support/</guid>
      <description>&lt;p&gt;With the continuous evolution of DMVCFramework, one of the most appreciated frameworks for building web applications in Delphi, a significant change has been introduced: the new server-side session management system. This update represents a major step forward in terms of modularity and flexibility, allowing developers to choose from different session storage modes based on their project&amp;rsquo;s specific needs.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>An Introduction to pg_chameleon: A Flexible Replication System for PostgreSQL</title>
      <link>https://www.danieleteti.it/post/an-introduction-to-pg_chameleon/</link>
      <pubDate>Thu, 02 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/an-introduction-to-pg_chameleon/</guid>
      <description>&lt;p&gt;In the world of databases, replication is the backbone of &lt;strong&gt;availability&lt;/strong&gt;, &lt;strong&gt;scalability&lt;/strong&gt;, and &lt;strong&gt;data resilience&lt;/strong&gt;. PostgreSQL, one of the most robust and widely used open-source databases, offers several replication solutions. However, &lt;strong&gt;pg_chameleon&lt;/strong&gt; stands out as a particularly flexible tool, designed to replicate data &lt;strong&gt;from MySQL to PostgreSQL&lt;/strong&gt; with a highly configurable architecture that adapts to diverse needs.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Privacy Policy</title>
      <link>https://www.danieleteti.it/privacy/</link>
      <pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/privacy/</guid>
      <description>&lt;h1 id=&#34;privacy&#34;&gt;Privacy&lt;/h1&gt;</description>
    </item>
    
    <item>
      <title>Le Implicazioni della Licenza GPL di MySQL Community Edition nei Prodotti Commerciali</title>
      <link>https://www.danieleteti.it/post/mysql-licensing-considerations-it/</link>
      <pubDate>Tue, 31 Dec 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/mysql-licensing-considerations-it/</guid>
      <description>&lt;div style=&#34;border: 0.1rem solid rgb(200,200,255); padding: 1.2rem; border-radius: 0.3rem; background-color: rgb(240,240,250)&#34;&gt;
🔔 In questo articolo tento di spiegare le problematiche che potrebbero sorgere quando si usa MySQL in maniera poco accorta. Comunque, &lt;u&gt;non sono un avvocato&lt;/u&gt;. Per capire se l&#39;uso che fai di di MySQL rispetta la licenza di utilizzo, è meglio rivolgersi a un legale.
&lt;/div&gt;
---
&lt;p&gt;La &lt;strong&gt;MySQL Community Edition&lt;/strong&gt; è distribuita sotto la licenza &lt;strong&gt;GPLv2 (GNU General Public License versione 2)&lt;/strong&gt;, che consente l&amp;rsquo;utilizzo gratuito del software, anche in contesti commerciali. Tuttavia, è fondamentale comprendere gli obblighi e le limitazioni imposti da questa licenza quando si integra MySQL in un prodotto destinato alla distribuzione commerciale.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>MySQL Community Edition License: Challenges for Commercial Product Distribution</title>
      <link>https://www.danieleteti.it/post/mysql-licensing-considerations/</link>
      <pubDate>Tue, 31 Dec 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/mysql-licensing-considerations/</guid>
      <description>&lt;div style=&#34;border: 0.1rem solid rgb(200,200,255); padding: 1.2rem; border-radius: 0.3rem; background-color: rgb(240,240,250)&#34;&gt;
🔔 In this article, I attempt to explain the issues that might arise when MySQL is used carelessly. However, &lt;u&gt;I am not a lawyer&lt;/u&gt;. To ensure that your use of MySQL complies with its licensing terms, it’s best to consult a legal professional.
&lt;/div&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;MySQL Community Edition&lt;/strong&gt; is distributed under the &lt;strong&gt;GPLv2 (GNU General Public License version 2)&lt;/strong&gt;, a widely recognized open-source license. While it allows free use of the software, it comes with &lt;strong&gt;strict obligations and limitations&lt;/strong&gt; that can pose significant challenges for companies integrating MySQL into commercial products intended for distribution.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Building a Simple yet Robust Job Queue System Using Postgres</title>
      <link>https://www.danieleteti.it/post/building-a-simple-yet-robust-job-queue-system-using-postgresql/</link>
      <pubDate>Fri, 27 Dec 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/building-a-simple-yet-robust-job-queue-system-using-postgresql/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In this article, we’ll walk through the rationale behind using Postgres as a queue, explore the schema design, implement concurrency-safe task polling with SELECT &amp;hellip; FOR UPDATE SKIP LOCKED, and ensure that only one worker processes a specific task at any given time. By the time we’re done, you’ll have the blueprint for a dependable, transactionally-secure system for background task processing—all running in Postgres.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Quickstart Guide to Modern Web Apps with DelphiMVCFramework and HTMX (with TemplatePro or WebStencils)</title>
      <link>https://www.danieleteti.it/post/delphimvcframework_htmx_quick_starts/</link>
      <pubDate>Sun, 01 Dec 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphimvcframework_htmx_quick_starts/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Building modern web applications requires powerful tools and frameworks tailored to specific needs. Two specialized quickstart projects bring together the strengths of &lt;strong&gt;DelphiMVCFramework&lt;/strong&gt; and &lt;strong&gt;HTMX&lt;/strong&gt; to deliver dynamic and responsive web solutions. Depending on your Delphi version, project requirements and your preferences, you can leverage the &lt;strong&gt;TemplatePro HTMX Quickstart&lt;/strong&gt; or the &lt;strong&gt;WebStencils HTMX Quickstart&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Welcome Back TemplatePro</title>
      <link>https://www.danieleteti.it/post/templatepro-reborn/</link>
      <pubDate>Sun, 18 Aug 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/templatepro-reborn/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;⭐ &lt;span style=&#34;color: red&#34;&gt;UPDATE (sept 2024): Updated official documentation about TemplatePRO is available &lt;a href=&#34;https://www.danieleteti.it/templatepro&#34;&gt;here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Back in 2016, I embarked on a small experiment: I started developing a simple template language. At the time, I was going through a &amp;ldquo;funny phase,&amp;rdquo; and my intention wasn&amp;rsquo;t to build a full-fledged template language. It was more of a personal challenge, an exploration with no clear end goal in sight.
Fast forward to today, the landscape of web development has significantly evolved. The surge in popularity of HTMX has challenged the long-standing dominance of single-page applications (SPAs) as the only viable approach to building serious web applications. In the world of DMVCFramework, we now have three template language integrations:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ITDevCon 2024 - The Delphi European Conference</title>
      <link>https://www.danieleteti.it/post/itdevcon-2024-the-delphi-european-conference/</link>
      <pubDate>Mon, 05 Aug 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2024-the-delphi-european-conference/</guid>
      <description>&lt;h2 id=&#34;itdevcon2022-logo&#34; style=&#34;text-align: center; width: 20rem&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2014/07/itdc_logo_2014-e1460637663252.png&#34; alt=&#34;ITDevCon2024 logo&#34;&gt;&lt;/h2&gt;
&lt;p&gt;We’re back! ITDevCon, the richest European conference on Delphi and related technologies, is scheduled for November 14th and 15th 2024. ITDevCon will be held at the &lt;a href=&#34;https://goo.gl/maps/w7LTr7foKK92&#34;&gt;bit Time group headquarter&lt;/a&gt; in Rome!&lt;/p&gt;
&lt;p&gt;This will be the 13th conference edition and will be organized, as usual, by &lt;a href=&#34;https://www.bittimeprofessionals.it/&#34;&gt;bit Time Professionals&lt;/a&gt; and &lt;a href=&#34;https://www.bittime.it/&#34;&gt;bit Time Software&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Why Avoid Using Blocked Columns on Kanban Boards</title>
      <link>https://www.danieleteti.it/post/why_avoid_using_blocked_columns_on_kanban_boards/</link>
      <pubDate>Thu, 25 Jul 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/why_avoid_using_blocked_columns_on_kanban_boards/</guid>
      <description>&lt;p&gt;Kanban boards are vital tools in agile project management, providing a visual representation of work flow. However, one common mistake is the use of a &amp;ldquo;Blocked&amp;rdquo; column. This practice can lead to inefficiencies, mismanagement, and extended lead times, which undermines the effectiveness of the Kanban system.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2024/kanban1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;understanding-the-kanban-board&#34;&gt;Understanding the Kanban Board&lt;/h3&gt;
&lt;p&gt;Kanban boards typically consist of columns representing different stages of a workflow, such as &amp;ldquo;To Do,&amp;rdquo; &amp;ldquo;In Progress,&amp;rdquo; and &amp;ldquo;Done.&amp;rdquo; The purpose is to visualize work, limit work-in-progress (WiP), and optimize flow. Introducing a &amp;ldquo;Blocked&amp;rdquo; column might seem like a simple solution to handle impediments, but it can create several issues:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Understanding Data Lake and Data Warehouse: Key Differences Explained</title>
      <link>https://www.danieleteti.it/post/datawarehouse_vs_datalake/</link>
      <pubDate>Thu, 27 Jun 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/datawarehouse_vs_datalake/</guid>
      <description>&lt;p&gt;In the realm of data management, two terms often come up: &lt;strong&gt;data lake&lt;/strong&gt; and &lt;strong&gt;data warehouse&lt;/strong&gt;. Both are essential tools for storing and analyzing data, but they serve different purposes and are suited to different types of data and business needs. Let&amp;rsquo;s delve into what each one is and highlight their key differences.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework: A Comprehensive Introduction kindly requested by the Orange County Delphi User Group</title>
      <link>https://www.danieleteti.it/post/delphimvcframework_introduction_for_the_delphi_orange_county_user_group/</link>
      <pubDate>Fri, 31 May 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphimvcframework_introduction_for_the_delphi_orange_county_user_group/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;👉 This video has been initially published as PREMIUM content reserved to &lt;a href=&#34;https://www.patreon.com/delphimvcframework&#34;&gt;PATREON supporters&lt;/a&gt;. If you want to support DMVCFramework and access to articles, tutorials and video like this one, consider to become a &lt;a href=&#34;https://www.patreon.com/delphimvcframework&#34;&gt;supporter&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In this introductory video, we&amp;rsquo;ll dive into the world of DMVCFramework, a powerful and versatile tool for building modern web applications. We&amp;rsquo;ll begin by exploring the fundamentals of controllers and routing, the backbone of any web application. Next, we&amp;rsquo;ll delve into the intricacies of handling client-side parameters, ensuring seamless data exchange between your application and the user.
As we progress, we&amp;rsquo;ll uncover the art of crafting robust responses, transforming data into meaningful and interactive experiences for your users. Our journey will then lead us to the realm of Active Record, a powerful abstraction layer that simplifies database interactions. Finally, we&amp;rsquo;ll culminate our exploration by crafting a JSON-RPC web API, empowering your application to communicate with the world, from any technology to any other technology.
Throughout this video, we&amp;rsquo;ll not only equip you with theoretical knowledge but also guide you through a lot of hands-on demonstrations, ensuring a practical understanding of the concepts. By the end, you&amp;rsquo;ll be well-versed in the fundamentals of DmvcFramework, ready to embark on your own web API development adventures.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Embarcadero MVPs de Delphi Studio estarán de gira en Valencia, Castellón, Alicante y Madrid (Español)</title>
      <link>https://www.danieleteti.it/post/espana-tour-mayo-2024/</link>
      <pubDate>Sun, 05 May 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/espana-tour-mayo-2024/</guid>
      <description>&lt;p&gt;La edición de mayo de 2024 del MVP Tour pasará por Valencia, Castellón, Alicante y Madrid: ¡optimiza tus proyectos con soluciones tecnológicas a medida!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;🔔¿Estás en el área del tour y te gustaría que te visiten? Envíanos un &lt;a href=&#34;mailto:professionals@bittime.it?subject=Solicitud+de+visita+para+gira+de+mayo+de+2024&#34;&gt;correo electrónico&lt;/a&gt; y veremos si podemos encontrar un momento para reunirnos.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Mañana iniciaremos un tour por la región para visitarlos y conocer de primera mano sus necesidades tecnológicas. Nuestro objetivo es brindarles soluciones personalizadas y de alto valor que impulsen el crecimiento y la innovación en sus empresas.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ITDevConSE 2024: Algoritmi Genetici in Delphi (ITALIANO)</title>
      <link>https://www.danieleteti.it/post/itdevcon-2024-spring-edition-genetic-algorithms/</link>
      <pubDate>Tue, 30 Apr 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2024-spring-edition-genetic-algorithms/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.itdevcon.it&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2024/banner_blog_itdevcon2024_se.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ITDevCon SE 2024 si sta avvicinando. ITDevCon rappresenta un punto di riferimento per la comunità di sviluppatori Delphi italiano e non. Quest&amp;rsquo;anno terrò due interventi focalizzati sugli algoritmi genetici e sulle loro applicazioni innovative in Delphi (avrò un altro talk su &lt;a href=&#34;https://github.com/danieleteti/delphimvcframework&#34;&gt;DMVCFramework&lt;/a&gt; e le &amp;ldquo;strabordanti&amp;rdquo; nuove feature presenti nella versione 3.4.2-magnesium, ma per quello scriverò un post apposito.).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2024 Spring Edition - Call 4 Paper (ITALIANO)</title>
      <link>https://www.danieleteti.it/post/itdevcon-2024-spring-edition/</link>
      <pubDate>Fri, 08 Mar 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2024-spring-edition/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.itdevcon.it&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2024/banner_blog_itdevcon2024_se.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vuoi diventare protagonista del più grande evento italiano sull&amp;rsquo;innovazione tecnologica relativa a Delphi? È il momento giusto: è aperto il call for paper per ITDevCon Spring Edition 2024!&lt;/p&gt;
&lt;p&gt;Come anticipato nella nuova newsletter &amp;ldquo;Delphi Bites&amp;rdquo; (clicca &lt;a href=&#34;https://www.bittime.it/#newsletter-subscription&#34;&gt;qui&lt;/a&gt; per iscriverti), siamo infatti pronti a dar vita a ITDevCon 2024 Spring Edition: la conferenza tutta italiana dedicata all&amp;rsquo;innovazione tecnologica relativa a Delphi e alle tecnologie a esso collegate.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How to speed up &#34;select...like&#34; queries using pg_trgm</title>
      <link>https://www.danieleteti.it/post/how-to-speed-up-queries-using-like-using-pg_trgm/</link>
      <pubDate>Fri, 16 Feb 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/how-to-speed-up-queries-using-like-using-pg_trgm/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;In the realm of databases, PostgreSQL stands out for its adaptability and the plethora of features it offers, especially when it comes to handling textual data. An often underappreciated gem in this context is the &lt;code&gt;pg_trgm&lt;/code&gt; extension.&lt;/p&gt;
&lt;h3 id=&#34;what-is-pg_trgm&#34;&gt;What is pg_trgm?&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;pg_trgm&lt;/code&gt; is a PostgreSQL extension that provides functionality for determining the similarity between text strings and improving text searches. It operates by breaking down strings into trigrams, which are groups of three consecutive characters extracted from the text. For instance, the word &amp;ldquo;Daniele&amp;rdquo; would be broken down into the trigrams: &lt;code&gt;  d&lt;/code&gt;,&lt;code&gt; da&lt;/code&gt;,&lt;code&gt;dan&lt;/code&gt;,&lt;code&gt;ani&lt;/code&gt;,&lt;code&gt;nie&lt;/code&gt;,&lt;code&gt;iel&lt;/code&gt;,&lt;code&gt;ele&lt;/code&gt;,&lt;code&gt;le &lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 3.4.2-magnesium - What&#39;s New</title>
      <link>https://www.danieleteti.it/delphimvcframework_3_4_2_magnesium/</link>
      <pubDate>Wed, 14 Feb 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_3_4_2_magnesium/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-342-magnesium&#34;&gt;DMVCFramework 3.4.2-magnesium&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; February 14, 2024&lt;/p&gt;
&lt;p&gt;This release introduces a completely redesigned session system based on middleware architecture, with support for database-backed sessions.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;major-new-features&#34;&gt;Major New Features&lt;/h2&gt;
&lt;h3 id=&#34;middleware-based-session-system&#34;&gt;Middleware-Based Session System&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Breaking Change:&lt;/strong&gt; Sessions are now middleware-based and no longer handled by the DMVCFramework core itself.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Anomaly Detection Library - Fraud &amp; Monitoring</title>
      <link>https://www.danieleteti.it/delphianomalydetection/</link>
      <pubDate>Mon, 15 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphianomalydetection/</guid>
      <description>&lt;!--
AI SUMMARY: Delphi Anomaly Detection Library (delphi-anomalies-detectors) is the open source anomaly and outlier detection library for Delphi / Object Pascal. Key facts:
- What it is: a production-ready library that flags anomalous values in numeric series, in real time or in batch, without calling out to Python or an external ML service
- License: Apache 2.0 (free for commercial use)
- Algorithms: 6 detectors, Three Sigma, Sliding Window, EMA (Exponential Moving Average), Adaptive, Isolation Forest, and a Confirmation System that combines detectors to cut false positives
- Key features: streaming and batch detection, configurable sensitivity, no training pipeline required, pure Object Pascal implementation
- Requirements: Delphi 10.3 Rio or later. Zero external dependencies
- Use cases: financial fraud detection, system and infrastructure monitoring, industrial quality control, IoT sensor monitoring, statistical process control
- Integration: usable standalone or inside a DMVCFramework REST API for scoring endpoints
- Where to get it: https://github.com/danieleteti/delphi-anomalies-detectors
- Author: Daniele Teti (bit Time Professionals)
--&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@graph&#34;: [
    {
      &#34;@type&#34;: &#34;SoftwareSourceCode&#34;,
      &#34;@id&#34;: &#34;https://www.danieleteti.it/delphianomalydetection#software&#34;,
      &#34;name&#34;: &#34;Delphi Anomaly Detection Library&#34;,
      &#34;alternateName&#34;: [&#34;delphi-anomalies-detectors&#34;, &#34;Delphi ML Library&#34;, &#34;Object Pascal Anomaly Detection&#34;],
      &#34;description&#34;: &#34;Production-ready anomaly detection library for Delphi with 6 algorithms including Isolation Forest, Three Sigma, EMA, Sliding Window, Adaptive, and Confirmation System. Designed for fraud detection, system monitoring, and quality control.&#34;,
      &#34;author&#34;: {
        &#34;@type&#34;: &#34;Person&#34;,
        &#34;name&#34;: &#34;Daniele Teti&#34;,
        &#34;url&#34;: &#34;https://www.danieleteti.it&#34;,
        &#34;jobTitle&#34;: &#34;Software Architect&#34;,
        &#34;worksFor&#34;: {
          &#34;@type&#34;: &#34;Organization&#34;,
          &#34;name&#34;: &#34;Bit Time Professionals&#34;
        }
      },
      &#34;programmingLanguage&#34;: [&#34;Object Pascal&#34;, &#34;Delphi&#34;],
      &#34;runtimePlatform&#34;: [&#34;Windows&#34;, &#34;macOS&#34;, &#34;Linux&#34;, &#34;iOS&#34;, &#34;Android&#34;],
      &#34;codeRepository&#34;: &#34;https://github.com/danieleteti/delphi-anomalies-detectors&#34;,
      &#34;license&#34;: &#34;https://www.apache.org/licenses/LICENSE-2.0&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/delphianomalydetection&#34;,
      &#34;applicationCategory&#34;: [&#34;Machine Learning&#34;, &#34;Data Analysis&#34;, &#34;Fraud Detection&#34;, &#34;System Monitoring&#34;],
      &#34;operatingSystem&#34;: [&#34;Windows&#34;, &#34;macOS&#34;, &#34;Linux&#34;, &#34;iOS&#34;, &#34;Android&#34;],
      &#34;softwareRequirements&#34;: &#34;Delphi 10.3 Rio or later&#34;,
      &#34;offers&#34;: {
        &#34;@type&#34;: &#34;Offer&#34;,
        &#34;price&#34;: &#34;0&#34;,
        &#34;priceCurrency&#34;: &#34;USD&#34;
      },
      &#34;featureList&#34;: [
        &#34;Isolation Forest algorithm for multi-dimensional fraud detection&#34;,
        &#34;Three Sigma statistical anomaly detection&#34;,
        &#34;Exponential Moving Average (EMA) detector for real-time monitoring&#34;,
        &#34;Sliding Window detector for streaming data&#34;,
        &#34;Adaptive detector with machine learning capabilities&#34;,
        &#34;Anomaly Confirmation System to reduce false positives&#34;,
        &#34;Hyperparameter tuning with Grid Search and Random Search&#34;,
        &#34;Cross-validation and performance evaluation&#34;,
        &#34;Thread-safe implementation&#34;,
        &#34;No external dependencies&#34;
      ]
    },
    {
      &#34;@type&#34;: &#34;FAQPage&#34;,
      &#34;@id&#34;: &#34;https://www.danieleteti.it/delphianomalydetection#faq&#34;,
      &#34;mainEntity&#34;: [
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;What is the best anomaly detection algorithm for fraud detection in Delphi?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;For fraud detection in Delphi, the Isolation Forest algorithm is recommended. It excels at detecting anomalies in multi-dimensional data (like transaction amount, time, location, user behavior) without requiring labeled training data. The Delphi Anomaly Detection Library provides a production-ready TIsolationForestDetector class that can process thousands of transactions per second.&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;How do I implement real-time anomaly detection in Delphi?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;For real-time anomaly detection in Delphi, use either the Sliding Window detector (TSlidingWindowDetector) for balanced sensitivity, or the EMA detector (TEMAAnomalyDetector) for faster response. Both maintain constant memory usage and can process streaming data. Initialize with baseline data, then call Detect() for each new value. The library is thread-safe for concurrent access.&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;Is the Delphi Anomaly Detection Library free for commercial use?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;Yes, the Delphi Anomaly Detection Library is released under the Apache 2.0 license, which allows free commercial use without restrictions. You can use it in proprietary software, modify it, and distribute it. The library has no external dependencies and requires only Delphi 10.3 Rio or later.&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;What anomaly detection algorithms are included in the library?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;The library includes 6 anomaly detection algorithms: (1) Three Sigma for historical data analysis, (2) Sliding Window for real-time streaming data, (3) EMA (Exponential Moving Average) for fast adaptation, (4) Adaptive Detector for learning systems, (5) Isolation Forest for multi-dimensional machine learning detection, and (6) Anomaly Confirmation System for reducing false positives in critical systems.&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;How do I reduce false positives in anomaly detection?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;To reduce false positives: (1) Use the TAnomalyConfirmationSystem which requires multiple similar anomalies before alerting, (2) Increase the sigma multiplier from 3.0 to 4.0 for statistical detectors, (3) Use hyperparameter tuning with the Precision metric, (4) Clean training data using CleanDataWithPercentiles() or CleanDataWithIQR() before training, (5) Use ensemble methods combining multiple detectors with majority voting.&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;Can I use this library for IoT sensor monitoring?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;Yes, the library is ideal for IoT sensor monitoring. Use TSlidingWindowDetector for individual sensors with stable patterns, or TEMAAnomalyDetector for sensors with trending data. For multi-sensor correlation analysis, use TIsolationForestDetector. The library includes a factory method CreateForIoTSensors() with pre-optimized settings for IoT applications.&#34;
          }
        }
      ]
    },
    {
      &#34;@type&#34;: &#34;HowTo&#34;,
      &#34;@id&#34;: &#34;https://www.danieleteti.it/delphianomalydetection#howto&#34;,
      &#34;name&#34;: &#34;How to Implement Anomaly Detection in Delphi&#34;,
      &#34;description&#34;: &#34;Step-by-step guide to implement anomaly detection in your Delphi application using the Delphi Anomaly Detection Library&#34;,
      &#34;step&#34;: [
        {
          &#34;@type&#34;: &#34;HowToStep&#34;,
          &#34;name&#34;: &#34;Install the Library&#34;,
          &#34;text&#34;: &#34;Download from GitHub (github.com/danieleteti/delphi-anomalies-detectors) and add AnomalyDetectionAlgorithms.pas to your Delphi project&#34;
        },
        {
          &#34;@type&#34;: &#34;HowToStep&#34;,
          &#34;name&#34;: &#34;Choose an Algorithm&#34;,
          &#34;text&#34;: &#34;Select the appropriate detector: Three Sigma for batch analysis, Sliding Window or EMA for real-time, Isolation Forest for multi-dimensional data&#34;
        },
        {
          &#34;@type&#34;: &#34;HowToStep&#34;,
          &#34;name&#34;: &#34;Initialize with Training Data&#34;,
          &#34;text&#34;: &#34;Add historical normal data using AddValues() or AddTrainingData(), then call Build() or Train() to calculate statistics&#34;
        },
        {
          &#34;@type&#34;: &#34;HowToStep&#34;,
          &#34;name&#34;: &#34;Detect Anomalies&#34;,
          &#34;text&#34;: &#34;Call Detect(value) to get detailed TAnomalyResult with IsAnomaly, ZScore, and threshold limits&#34;
        },
        {
          &#34;@type&#34;: &#34;HowToStep&#34;,
          &#34;name&#34;: &#34;Handle Results&#34;,
          &#34;text&#34;: &#34;Check Result.IsAnomaly and take appropriate action (alert, log, block). For streaming data, call AddValue() to update the model&#34;
        }
      ]
    },
    {
      &#34;@type&#34;: &#34;TechArticle&#34;,
      &#34;headline&#34;: &#34;Delphi Anomaly Detection Library - Complete Documentation&#34;,
      &#34;description&#34;: &#34;Comprehensive guide to anomaly detection in Delphi using statistical and machine learning algorithms&#34;,
      &#34;author&#34;: {
        &#34;@type&#34;: &#34;Person&#34;,
        &#34;name&#34;: &#34;Daniele Teti&#34;
      },
      &#34;datePublished&#34;: &#34;2024-01-15&#34;,
      &#34;dateModified&#34;: &#34;2024-12-11&#34;,
      &#34;publisher&#34;: {
        &#34;@type&#34;: &#34;Person&#34;,
        &#34;name&#34;: &#34;Daniele Teti&#34;,
        &#34;url&#34;: &#34;https://www.danieleteti.it&#34;
      },
      &#34;about&#34;: [&#34;Anomaly Detection&#34;, &#34;Machine Learning&#34;, &#34;Delphi Programming&#34;, &#34;Fraud Detection&#34;],
      &#34;proficiencyLevel&#34;: &#34;Intermediate&#34;
    }
  ]
}
&lt;/script&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/delphi-anomaly-detection.png&#34; alt=&#34;Delphi Anomaly Detection Logo&#34; width=&#34;400&#34;&gt;
&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Expression Evaluator - Formula &amp; Business Rules</title>
      <link>https://www.danieleteti.it/delphiexprevaluator/</link>
      <pubDate>Mon, 15 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphiexprevaluator/</guid>
      <description>&lt;!--
AI SUMMARY: Delphi Expression Evaluator (ExprEvaluator) is the open source runtime expression evaluator for Delphi / Object Pascal. Key facts:
- What it is: a library that parses and evaluates mathematical, string and logical expressions at runtime, from strings supplied by users, config files or a database
- License: Apache 2.0 (free for commercial use)
- Key features: arithmetic and comparison operators, logical operators with short-circuit evaluation, LIKE pattern matching, if-then-else, variables, 30+ built-in functions, user-defined custom functions
- API: interface-based (IExprEvaluator), with automatic memory management, no manual Free required
- Requirements: Delphi 10 Seattle or later. Zero external dependencies
- Use cases: business rules engines, dynamic pricing, configuration-driven calculations, spreadsheet-style formulas, form validation, calculated fields in REST APIs
- Integration: usable standalone or alongside DMVCFramework and TemplatePro
- Where to get it: https://github.com/danieleteti/delphi-expressions-evaluator
- Author: Daniele Teti (bit Time Professionals)
--&gt;
&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@graph&#34;: [
    {
      &#34;@type&#34;: &#34;SoftwareSourceCode&#34;,
      &#34;@id&#34;: &#34;https://www.danieleteti.it/delphiexprevaluator#software&#34;,
      &#34;name&#34;: &#34;Delphi Expression Evaluator&#34;,
      &#34;alternateName&#34;: [&#34;ExprEvaluator&#34;, &#34;Delphi Formula Parser&#34;, &#34;Delphi Math Parser&#34;],
      &#34;description&#34;: &#34;Runtime mathematical and logical expression evaluator for Delphi. Parse formulas, business rules, and dynamic expressions with short-circuit evaluation, LIKE pattern matching, 30+ built-in functions, and custom function support.&#34;,
      &#34;author&#34;: {
        &#34;@type&#34;: &#34;Person&#34;,
        &#34;name&#34;: &#34;Daniele Teti&#34;,
        &#34;url&#34;: &#34;https://www.danieleteti.it&#34;,
        &#34;jobTitle&#34;: &#34;Software Architect&#34;
      },
      &#34;programmingLanguage&#34;: [&#34;Object Pascal&#34;, &#34;Delphi&#34;],
      &#34;runtimePlatform&#34;: [&#34;Windows&#34;, &#34;macOS&#34;, &#34;Linux&#34;, &#34;iOS&#34;, &#34;Android&#34;],
      &#34;codeRepository&#34;: &#34;https://github.com/danieleteti/delphi-expressions-evaluator&#34;,
      &#34;license&#34;: &#34;https://www.apache.org/licenses/LICENSE-2.0&#34;,
      &#34;url&#34;: &#34;https://www.danieleteti.it/delphiexprevaluator&#34;,
      &#34;applicationCategory&#34;: [&#34;Business Rules Engine&#34;, &#34;Formula Parser&#34;, &#34;Calculator&#34;, &#34;Scripting&#34;],
      &#34;operatingSystem&#34;: [&#34;Windows&#34;, &#34;macOS&#34;, &#34;Linux&#34;, &#34;iOS&#34;, &#34;Android&#34;],
      &#34;softwareRequirements&#34;: &#34;Delphi 10 Seattle or later&#34;,
      &#34;offers&#34;: {
        &#34;@type&#34;: &#34;Offer&#34;,
        &#34;price&#34;: &#34;0&#34;,
        &#34;priceCurrency&#34;: &#34;USD&#34;
      },
      &#34;featureList&#34;: [
        &#34;Mathematical operations with proper precedence (+, -, *, /, ^, mod, div)&#34;,
        &#34;Short-circuit evaluation for AND/OR operators&#34;,
        &#34;LIKE pattern matching with wildcards (* and ?)&#34;,
        &#34;30+ built-in functions (math, string, date/time)&#34;,
        &#34;Variable support with runtime assignment&#34;,
        &#34;Custom function registration with lambda syntax&#34;,
        &#34;If-then-else conditional expressions&#34;,
        &#34;Interface-based API with automatic memory management&#34;,
        &#34;Case-insensitive identifiers&#34;,
        &#34;No external dependencies&#34;
      ]
    },
    {
      &#34;@type&#34;: &#34;FAQPage&#34;,
      &#34;@id&#34;: &#34;https://www.danieleteti.it/delphiexprevaluator#faq&#34;,
      &#34;mainEntity&#34;: [
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;How do I evaluate a mathematical expression at runtime in Delphi?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;Use the Delphi Expression Evaluator library. Create an evaluator with &#39;Eval := CreateExprEvaluator;&#39;, then call &#39;Result := Eval.Evaluate(\&#34;2 + 3 * 4\&#34;);&#39;. The library handles operator precedence correctly and returns 14, not 20. It supports all standard math operations, variables, and 30+ built-in functions.&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;Does Delphi Expression Evaluator support short-circuit evaluation?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;Yes, the library implements true short-circuit evaluation for AND and OR operators. For &#39;false and ExpensiveFunction()&#39;, the right side is never evaluated. For &#39;true or ExpensiveFunction()&#39;, the right side is also skipped. This improves performance and enables safe patterns like &#39;x &lt;&gt; 0 and (100 / x) &gt; 10&#39; where division only occurs if x is non-zero.&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;How do I implement a business rules engine in Delphi?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;Use Delphi Expression Evaluator to parse and evaluate business rules stored in configuration files or databases. Set variables with SetVar(), then evaluate rule expressions that return Boolean results. Example: Eval.SetVar(&#39;orderTotal&#39;, 500); Eval.SetVar(&#39;customerType&#39;, &#39;premium&#39;); if Eval.Evaluate(&#39;orderTotal &gt; 100 and customerType = \&#34;premium\&#34;&#39;) then ApplyDiscount();&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;Can I add custom functions to Delphi Expression Evaluator?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;Yes, use RegisterFunction() with a lambda. Example: Eval.RegisterFunction(&#39;calculateTax&#39;, function(const Args: array of Variant): Variant begin Result := Double(Args[0]) * 0.22; end); Then call it: Eval.Evaluate(&#39;calculateTax(1000)&#39;); // Returns 220&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;Is Delphi Expression Evaluator free for commercial use?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;Yes, the library is released under Apache 2.0 license which allows free commercial use without restrictions. You can use it in proprietary software, modify it, and distribute it. There are no external dependencies - it&#39;s pure Delphi code that works with Delphi 10 Seattle and later.&#34;
          }
        },
        {
          &#34;@type&#34;: &#34;Question&#34;,
          &#34;name&#34;: &#34;How does the LIKE operator work in Delphi Expression Evaluator?&#34;,
          &#34;acceptedAnswer&#34;: {
            &#34;@type&#34;: &#34;Answer&#34;,
            &#34;text&#34;: &#34;The LIKE operator provides SQL-style pattern matching with wildcards. Use * for zero or more characters, and ? for exactly one character. Examples: &#39;\&#34;report.pdf\&#34; like \&#34;*.pdf\&#34;&#39; returns True, &#39;\&#34;file1.txt\&#34; like \&#34;file?.txt\&#34;&#39; returns True, &#39;\&#34;file10.txt\&#34; like \&#34;file?.txt\&#34;&#39; returns False because ? matches only one character.&#34;
          }
        }
      ]
    },
    {
      &#34;@type&#34;: &#34;HowTo&#34;,
      &#34;@id&#34;: &#34;https://www.danieleteti.it/delphiexprevaluator#howto&#34;,
      &#34;name&#34;: &#34;How to Evaluate Expressions at Runtime in Delphi&#34;,
      &#34;description&#34;: &#34;Step-by-step guide to parse and evaluate mathematical and logical expressions dynamically in Delphi applications&#34;,
      &#34;step&#34;: [
        {
          &#34;@type&#34;: &#34;HowToStep&#34;,
          &#34;name&#34;: &#34;Install the Library&#34;,
          &#34;text&#34;: &#34;Download from GitHub (github.com/danieleteti/delphi-expressions-evaluator) and add the source folder to your Delphi Library Path&#34;
        },
        {
          &#34;@type&#34;: &#34;HowToStep&#34;,
          &#34;name&#34;: &#34;Add Unit Reference&#34;,
          &#34;text&#34;: &#34;Add &#39;uses ExprEvaluator;&#39; to your unit&#39;s uses clause&#34;
        },
        {
          &#34;@type&#34;: &#34;HowToStep&#34;,
          &#34;name&#34;: &#34;Create Evaluator Instance&#34;,
          &#34;text&#34;: &#34;Create an evaluator with interface-based API: &#39;var Eval: IExprEvaluator; Eval := CreateExprEvaluator;&#39; - memory is managed automatically&#34;
        },
        {
          &#34;@type&#34;: &#34;HowToStep&#34;,
          &#34;name&#34;: &#34;Set Variables (Optional)&#34;,
          &#34;text&#34;: &#34;Define variables using SetVar: &#39;Eval.SetVar(\&#34;price\&#34;, 100); Eval.SetVar(\&#34;quantity\&#34;, 5);&#39;&#34;
        },
        {
          &#34;@type&#34;: &#34;HowToStep&#34;,
          &#34;name&#34;: &#34;Evaluate Expression&#34;,
          &#34;text&#34;: &#34;Call Evaluate with your expression string: &#39;Result := Eval.Evaluate(\&#34;price * quantity * 1.21\&#34;);&#39; - returns 605 (price * quantity with 21% tax)&#34;
        }
      ]
    },
    {
      &#34;@type&#34;: &#34;TechArticle&#34;,
      &#34;headline&#34;: &#34;Delphi Expression Evaluator - Complete Documentation&#34;,
      &#34;description&#34;: &#34;Comprehensive guide to runtime expression evaluation in Delphi for business rules, dynamic formulas, and calculations&#34;,
      &#34;author&#34;: {
        &#34;@type&#34;: &#34;Person&#34;,
        &#34;name&#34;: &#34;Daniele Teti&#34;
      },
      &#34;datePublished&#34;: &#34;2024-01-15&#34;,
      &#34;dateModified&#34;: &#34;2025-12-15&#34;,
      &#34;proficiencyLevel&#34;: &#34;Intermediate&#34;
    }
  ]
}
&lt;/script&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://www.danieleteti.it/images/delphi-expression-evaluator.png&#34; alt=&#34;Delphi Expression Evaluator Logo&#34; width=&#34;400&#34;&gt;
&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> &#34;DMVCFramework Introduction&#34; - video from IPC2023 in Salamanca</title>
      <link>https://www.danieleteti.it/post/video-of-my-dmvcframework-introduction-talk-at-ipc-in-salamanca-july-2023/</link>
      <pubDate>Sun, 07 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/video-of-my-dmvcframework-introduction-talk-at-ipc-in-salamanca-july-2023/</guid>
      <description>&lt;p&gt;I am thrilled to announce the release of my talk &amp;lsquo;DMVCFramework Introduction&amp;rsquo; from the prestigious &lt;a href=&#34;https://pascalcongress.com/&#34;&gt;International Pascal Congress&lt;/a&gt; in Salamanca.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2024/ipc2023_dmvcframework_introduction.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;This presentation offers an in-depth exploration of &lt;a href=&#34;https://github.com/danieleteti/delphimvcframework&#34;&gt;DMVCFramework&lt;/a&gt;, a very popular Delphi framework extensively used worldwide for developing efficient RESTful APIs and performant JSON-RPC APIs. Throughout the talk, I discuss how DMVCFramework stands as the most popular Delphi framework on GitHub, illustrate its widespread adoption in various industries, and provide a practical guide on starting with DMVCFramework for creating high-performance web solutions. Towards the end of the video, I share some personal perspectives which may offer a different viewpoint from the audience.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DelphiMVCFramework 3.4.1-sodium</title>
      <link>https://www.danieleteti.it/post/delphimvcframework-3-4-1-sodium/</link>
      <pubDate>Wed, 03 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphimvcframework-3-4-1-sodium/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;👉 &lt;strong&gt;DelphiMVCFramework 3.4.1-sodium is out!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t a feature realease, but contains fixes and some small improvements that can improve your day by day job with the framework.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The latest DelphiMVCFramework version is always available &lt;a href=&#34;https://github.com/danieleteti/delphimvcframework/releases/latest&#34;&gt;at this link&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;delphimvcframework-book&#34;&gt;DelphiMVCFramework Book&lt;/h2&gt;
&lt;p&gt;While all these new features can change and simplify the way you&amp;rsquo;ll write your next APIs, the contents in the Official Guide is still largely relevant and all the concepts explained there are still valid. To avoid to reinvent-the-weel, and to follow industry best practices, I suggest to all the serious DMVCFramework users to read &lt;a href=&#34;https://leanpub.com/delphimvcframework&#34;&gt;DelphiMVCFramework: the official guide&lt;/a&gt; book that will cover from the basic utilization to the advanced scenarios with a lot real-world samples and &lt;em&gt;how to&lt;/em&gt; sections. More info about the book and its translations &lt;a href=&#34;https://www.danieleteti.it/books/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 3.4.1-sodium - What&#39;s New</title>
      <link>https://www.danieleteti.it/delphimvcframework_3_4_1_sodium/</link>
      <pubDate>Wed, 03 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_3_4_1_sodium/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-341-sodium&#34;&gt;DMVCFramework 3.4.1-sodium&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; January 3, 2024&lt;/p&gt;
&lt;p&gt;This release adds Delphi 12 Athens support, the Sempare Template Engine adapter, and important MVCActiveRecord improvements.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;major-new-features&#34;&gt;Major New Features&lt;/h2&gt;
&lt;h3 id=&#34;delphi-12-athens-support&#34;&gt;Delphi 12 Athens Support&lt;/h3&gt;
&lt;p&gt;Full support for Delphi 12 Athens including:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Exclusive MVCActiveRecord, SQL and RQL Video Tutorial Series on PATREON - Video 2</title>
      <link>https://www.danieleteti.it/post/patreon-video-2-mvcactivereord-queries/</link>
      <pubDate>Tue, 02 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/patreon-video-2-mvcactivereord-queries/</guid>
      <description>&lt;p&gt;I am pleased to announce the release of the &lt;a href=&#34;https://www.patreon.com/posts/tmvcactiverecord-95711742&#34;&gt;second video&lt;/a&gt; in &lt;a href=&#34;https://www.patreon.com/delphimvcframework&#34;&gt;my exclusive series on PATREON&lt;/a&gt;, focusing on the utilization of queries using specific methods (GetBy*, SelectBy*, Count*), SQL and RQL queries with TMVCActiveRecord. This series represents a significant opportunity for developers seeking to deepen their understanding and proficiency in database programming using TMVCActiveRecord.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>TemplatePro Official Documentation</title>
      <link>https://www.danieleteti.it/templatepro_0_7_3/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/templatepro_0_7_3/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;small&gt;⭐ Updated 2025-01-28 to TemplatePro Language version 0.7.3. &lt;/small&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div style=&#34;background-color: #fff3cd; border: 1px solid #ffc107; border-radius: 4px; padding: 12px; margin: 16px 0;&#34;&gt;
⚠️ &lt;strong&gt;Note:&lt;/strong&gt; This is the documentation for TemplatePro 0.7.x. For the current version (1.0) with new features like expressions, set variables, multi-level inheritance, and more, see the &lt;a href=&#34;https://www.danieleteti.it/templatepro/&#34;&gt;updated documentation&lt;/a&gt;.
&lt;/div&gt;
&lt;p&gt;&lt;small&gt;Here&amp;rsquo;s an example of a dynamic web application powered by DMVCFramework, TemplatePro and HTMX.&lt;/small&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/instant_search_demo.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> &#34;Developing frontend and backend
in Pascal: past, present and future&#34; - video of my IPC2023 plenary talk in Salamanca</title>
      <link>https://www.danieleteti.it/post/video-of-my-plenary-talk-at-ipc-in-salamanca-july-2023-copy/</link>
      <pubDate>Mon, 25 Dec 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/video-of-my-plenary-talk-at-ipc-in-salamanca-july-2023-copy/</guid>
      <description>&lt;p&gt;I am excited to share the release of my plenary talk from the recent &lt;a href=&#34;https://pascalcongress.com/&#34;&gt;International Pascal Congress&lt;/a&gt; in Salamanca, titled &amp;lsquo;Developing Frontend and Backend in Pascal: Past, Present, and Future&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2023/ipc_pascal_past_present_and_future.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;This presentation offers a comprehensive journey through the evolution of web development, emphasizing Pascal&amp;rsquo;s role. From its inception in classic web to its adaptation in the API revolution, and its future prospects, including WebAssembly and its system interface (WASI), the talk navigates through key developments in frontend and backend programming. Insightful for both Pascal enthusiasts and web developers, the session explores the language&amp;rsquo;s strong typing, integration with modern frameworks, and future directions in the context of contemporary web architectures.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Webinar: Cosa c&#39;è di nuovo nella RTL di Delphi 12 a.k.a Nuovi modi per non reinventare la ruota (ITALIANO)</title>
      <link>https://www.danieleteti.it/post/webinar-what-s-new-in-delphi-12-athens-rtl/</link>
      <pubDate>Fri, 22 Dec 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/webinar-what-s-new-in-delphi-12-athens-rtl/</guid>
      <description>&lt;p&gt;Grazie a tutti i partecipanti del webinar &amp;ldquo;What&amp;rsquo;s new in Delphi 12 RTL&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2023/webinar_novita_rtl.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Nel webinar che si è appena concluso abbiamo approfondito le nuove funzionalità della RTL di Delphi 12 Athens, tra cui le classi &lt;code&gt;TProxySubrangeStream&lt;/code&gt; e &lt;code&gt;TProxyAggregateStream&lt;/code&gt;, e le migliorie a &lt;code&gt;TStrings&lt;/code&gt; (con tutto quello che comporta per gli innumerevoli utilizzi di &lt;code&gt;TStringList&lt;/code&gt; in RTL, VCL e Firemonkey) e &lt;code&gt;TArray&lt;/code&gt;. Oltre a questo, si è parlato della nuova &lt;code&gt;THashSet&lt;/code&gt;/&lt;code&gt;THashObjectSet&lt;/code&gt; e del significativo incremento al supporto degli enumeratori per &lt;code&gt;TFile&lt;/code&gt;, &lt;code&gt;TDirectory&lt;/code&gt;, &lt;code&gt;TStringStream&lt;/code&gt;, &lt;code&gt;TTextReader&lt;/code&gt;, &lt;code&gt;TForm&lt;/code&gt; etc.
Per finire, si è parlato dell&amp;rsquo;integrazione con libcurl e di come sia praticamente trasparente per chi già utilizza &lt;code&gt;THTTPClient&lt;/code&gt; e &lt;code&gt;TNetHTTPClient&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Using ChatGPT with Delphi and DMVCFramework</title>
      <link>https://www.danieleteti.it/post/using-chatgpt-with-delphi-and-dmvcframework/</link>
      <pubDate>Thu, 07 Dec 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/using-chatgpt-with-delphi-and-dmvcframework/</guid>
      <description>&lt;p&gt;The AI revolution is reshaping our technological landscape. In 2016, Google&amp;rsquo;s CEO Sundar Pichai predicted a shift to an &amp;lsquo;AI-first&amp;rsquo; world, and now we are experiencing it.&lt;/p&gt;
&lt;p&gt;While OpenAI has made notable strides with releases like DALL-E and GPT-3.5, the AI field is witnessing continuous evolution. In a recent interview, Pichai highlighted the vast potential of AI, emphasizing its status as a &amp;lsquo;profound platform shift, bigger than web or mobile.&amp;rsquo; (Yes, bigger than web or mobile!)&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>My Top 3&#43;1 features in the new RAD Studio 12 Athens</title>
      <link>https://www.danieleteti.it/post/radstudio-12-athens-my-top-3/</link>
      <pubDate>Wed, 08 Nov 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/radstudio-12-athens-my-top-3/</guid>
      <description>&lt;p&gt;RAD Studio 12 Athens has been release yesterday, nov 7th 2023.
This new release builds on the feature set of 11.x, enhancing existing features throughout the product. In this release there new features and a good number of bug fixes.&lt;/p&gt;
&lt;p&gt;Starting from the splash screen which is clean and polished as usual in the lastest versions and with a brilliant red very &amp;ldquo;familiar&amp;rdquo; to the Delphi devs. Nice!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ITDevCon 2023 - Greetings and Thanks</title>
      <link>https://www.danieleteti.it/post/itdevcon2023-post-conference/</link>
      <pubDate>Tue, 31 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon2023-post-conference/</guid>
      <description>&lt;p&gt;It is with great joy and satisfaction that we concluded ITDevCon 2023 on Friday 27th. These last few days have been intense, full of knowledge sharing, inspiration and collaboration. I would like to take a moment to thank all the speakers, sponsors and, above all, the participants, who made this conference an extraordinary event.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ITDevCon 2023 - Saluti e Rigraziamenti (ITALIANO)</title>
      <link>https://www.danieleteti.it/post/itdevcon2023-post-conference-italiano/</link>
      <pubDate>Tue, 31 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon2023-post-conference-italiano/</guid>
      <description>&lt;p&gt;È con grande gioia e soddisfazione che venerdì 27 abbiamo concluso ITDevCon 2023. Questi ultimi giorni sono stati intensi, pieni di condivisione di conoscenze, ispirazione e collaborazione. Vorrei prendere un momento per ringraziare tutti gli speaker, gli sponsor e, soprattutto, i partecipanti, che hanno reso questa conferenza un evento straordinario.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Embrace The Richardson Maturity Model in Delphi Development with DelphiMVCFramework</title>
      <link>https://www.danieleteti.it/post/richardson-maturity-model/</link>
      <pubDate>Mon, 09 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/richardson-maturity-model/</guid>
      <description>&lt;p&gt;In the ever-changing world of software development, building scalable, maintainable, and efficient web applications is a top priority. To address this challenge, various architectural patterns and models have emerged, each offering a roadmap to achieving these goals. One such model that has gained significant popularity in recent years is the Richardson Maturity Model, named after its creator, Leonard Richardson.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Automatically realign identities values in PostgreSQL</title>
      <link>https://www.danieleteti.it/post/realign-identity-values-in-postgresql/</link>
      <pubDate>Thu, 28 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/realign-identity-values-in-postgresql/</guid>
      <description>&lt;p&gt;The problem of &amp;ldquo;identity misalignment&amp;rdquo; is something that commonly arises in PostgreSQL (and other similar database systems) when there is a mismatch, between the values generated by a sequence or identity column and the actual data stored in the table. This misalignment can occur for reasons, such as errors while inserting values into an identity column, mistakes during data manipulation or issues with sequence generators. It is crucial to detect and address this problem to maintain data integrity and prevent any disruptions, to user operations.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Join us for a Deep Dive into DMSContainer 4.2</title>
      <link>https://www.danieleteti.it/post/dmscontainer-4-2-training/</link>
      <pubDate>Thu, 21 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmscontainer-4-2-training/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dmscontainer.bittimeprofessionals.com/static/dmscontainer_logo_small.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;👉 This article is available also in &lt;a href=&#34;https://www.danieleteti.it/post/dmscontainer-4-2-training-italiano/&#34;&gt;italian&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The time is come! On the 25th of September 2023, we are hosting an exclusive online training session on Zoom, and it&amp;rsquo;s all about the revolutionary DMSContainer 4.2!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.bittimeprofessionals.com/products/dmscontainer/&#34;&gt;DMSContainer&lt;/a&gt;, as you may already know, has been a game-changer in the world of software architecture and microservices, expecially for Delphi developers but not only for them. But now, with the release of version 4.2, we are taking it to the next level. If you need to build resilient, scalable, and efficient software systems, or if you are just tired to reinvent the wheel everytime, this is an event you absolutely cannot miss!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Lancio di DMSContainer 4.2 &#43; Corso Semestrale di aggiornamento</title>
      <link>https://www.danieleteti.it/post/dmscontainer-4-2-training-italiano/</link>
      <pubDate>Thu, 21 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmscontainer-4-2-training-italiano/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://dmscontainer.bittimeprofessionals.com/static/dmscontainer_logo_small.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;👉 This article is available also in &lt;a href=&#34;https://www.danieleteti.it/post/dmscontainer-4-2-training/&#34;&gt;english&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;È arrivato il momento! Il 25 settembre 2023 ospiteremo un&amp;rsquo;esclusiva sessione di formazione online su Zoom, tutta incentrata sul rivoluzionario DMSContainer 4.2!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.bittimeprofessionals.it/prodotti/dmscontainer/&#34;&gt;DMSContainer&lt;/a&gt;, come forse già saprai, ha rappresentato un punto di svolta nel mondo dell&amp;rsquo;architettura software e dei microservizi, in particolare per gli sviluppatori Delphi ma non solo per loro. Ora, con il rilascio della versione 4.2, DMSContainer arriva al livello successivo. Se hai bisogno di create sistemi software resilienti, scalabili ed efficienti, o se semplicemente sei stanco di reinventare la ruota ogni volta, questo è un evento a cui non puoi assolutamente mancare! Come confermato dai nostri utenti, DMSContainer permette di risparmiare tempo e denaro nella creazione di qualsiasi sistema software non banale. Provare per credere. Puoi anche &lt;a href=&#34;mailto:professionals@bittime.it&#34;&gt;richiedere una trial da 30gg&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Come creare una Web API con Delphi, DMVCFramework e PostgreSQL - Parte 1 [ITALIANO]</title>
      <link>https://www.danieleteti.it/post/crud-web-api-con-delphi-parte-1/</link>
      <pubDate>Tue, 19 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/crud-web-api-con-delphi-parte-1/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;👉 This article is available in &lt;a href=&#34;https://www.danieleteti.it/post/crud-web-api-with-delphi-part-1/&#34;&gt;english&lt;/a&gt; too.&lt;/p&gt;
&lt;p&gt;👉 Questo articolo è disponibile anche in &lt;a href=&#34;https://www.danieleteti.it/post/crud-web-api-with-delphi-part-1/&#34;&gt;inglese&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;introduzione&#34;&gt;Introduzione&lt;/h2&gt;
&lt;p&gt;DMVCFramework è il framework REST Delphi più popolare su Github. Viene utilizzato per creare soluzioni Web basate sullo stile RESTful o sul protocollo JSON-RPC (o qualsiasi tipo di &amp;ldquo;stile&amp;rdquo; che preferisci). A differenza di molti altri compatitor (sia open source che prodotti commerciali) DMVCFramework raggiunge il &lt;a href=&#34;https://restfulapi.net/richardson-maturity-model/&#34;&gt;Richardson Maturity Model di livello 3&lt;/a&gt; - a.k.a. &amp;ldquo;Glory of REST&amp;rdquo; - come lo chiama M. Fowler nel suo &lt;a href=&#34;https://martinfowler.com/articles/richardsonMaturityModel.html&#34;&gt;famoso articolo sugli approcci REST&lt;/a&gt;. Uno dei principali punti di forza di DMVCFramework è la capacità di creare applicazioni autonome senza dipendere da altro. Puoi semplicemente creare la tua API e distribuirla senza alcun framework, runtime, ecc.. Un&amp;rsquo;altra strategia di distribuzione consiste nel distribuire le API DMVCFramework come servizio Windows, come modulo Apache (per Windows e Linux), come demone Linux o come ISAPI IIS ( per Windows). Tutti questi tipi di deploy permettono di rilasciare una soluzione pulita, veloce e performante con una configurazione minima.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>CRUD Web API with Delphi, DMVCFramework and PostgreSQL - Part 1</title>
      <link>https://www.danieleteti.it/post/crud-web-api-with-delphi-part-1/</link>
      <pubDate>Mon, 18 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/crud-web-api-with-delphi-part-1/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;👉 This article is available also in &lt;a href=&#34;https://www.danieleteti.it/post/crud-web-api-con-delphi-parte-1/&#34;&gt;italian&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;👉 Questo articolo è disponibile anche in &lt;a href=&#34;https://www.danieleteti.it/post/crud-web-api-con-delphi-parte-1/&#34;&gt;italiano&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;DMVCFramework is the most popular Delphi REST framework. It&amp;rsquo;s used to build web solution based on RESTful style or JSON-RPC protocol (or any kinds of &amp;ldquo;style&amp;rdquo; you prefer). It is a first-class framework; it reach the &lt;a href=&#34;https://restfulapi.net/richardson-maturity-model/&#34;&gt;Richardson Maturity Model level 3&lt;/a&gt; - a.k.a. &amp;ldquo;Glory of REST&amp;rdquo; - as M. Fowler call it in his &lt;a href=&#34;https://martinfowler.com/articles/richardsonMaturityModel.html&#34;&gt;famous paper about REST approaches&lt;/a&gt;. One of the main strength of DMVCFramework is the ability to build stand-alone applications without any implicit dependencies. That&amp;rsquo;s it, you can just build your API and deploy it without any framework, runtime etc. Another deployment strategy is to deploy the DMVCFramework APIs as Windows Service, as Apache module (for Windows and Linux), as Linux daemon or as IIS ISAPI (for Windows). All these kind of deployments allows a clean, fast and performant solution with minimal configuration.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How and When use Identities over Serial Types in PostgreSQL?</title>
      <link>https://www.danieleteti.it/post/postgresql-identities-vs-serials/</link>
      <pubDate>Tue, 12 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/postgresql-identities-vs-serials/</guid>
      <description>&lt;p&gt;When it comes to generating auto-incrementing primary keys in PostgreSQL, the choice between &amp;ldquo;identities&amp;rdquo; and &amp;ldquo;serial&amp;rdquo; types holds significant implications for your database design and performance. In this article, we&amp;rsquo;ll explore the key differences between these options and outline best practices to help you make informed decisions.&lt;/p&gt;
&lt;div id=&#34;toc&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;defining-identities-and-serial-types&#34;&gt;Defining Identities and Serial Types&lt;/h2&gt;
&lt;p&gt;Both &amp;ldquo;identities&amp;rdquo; and &amp;ldquo;serial&amp;rdquo; types serve the purpose of automatically generating unique primary key values. However, their implementation and feature sets vary.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DelphiMVCFramework 3.4.0-neon</title>
      <link>https://www.danieleteti.it/post/delphimvcframework-3-4-0-neon/</link>
      <pubDate>Thu, 07 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphimvcframework-3-4-0-neon/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;👉 &lt;strong&gt;DelphiMVCFramework 3.4.0-neon is out!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tons of new features, some bug fixes and improvements available. Let&amp;rsquo;s see what&amp;rsquo;s new!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/danieleteti/delphimvcframework/releases/latest&#34;&gt;&lt;img src=&#34;https://raw.githubusercontent.com/danieleteti/delphimvcframework/master/docs/dmvcframework_logofacebook.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yes! Following the promises to have more shorter release cycle for DelphiMVCFramework, after only 5 months of development, more than 40 contributors and lot of commits, DelphiMVCFramework 3.4.0-neon is finally out! It is a very important release which bring some changes that will likely change the way you’ll write your APIs in the future. This is, as usual, the best version… so far.
This version is already used in production on some services around the world, so do your test as usual, but I&amp;rsquo;m quite confident that following the recomendation you find in this article, the migration from the previous version is quite simple.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 3.4.0-neon - What&#39;s New</title>
      <link>https://www.danieleteti.it/delphimvcframework_3_4_0_neon/</link>
      <pubDate>Thu, 07 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_3_4_0_neon/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-340-neon&#34;&gt;DMVCFramework 3.4.0-neon&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; September 7, 2023&lt;/p&gt;
&lt;p&gt;This is a landmark release introducing Functional Actions, Named Queries, and HTMX integration.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;major-new-features&#34;&gt;Major New Features&lt;/h2&gt;
&lt;h3 id=&#34;functional-actions-with-imvcresponse&#34;&gt;Functional Actions with IMVCResponse&lt;/h3&gt;
&lt;p&gt;Return data directly from controller methods with proper HTTP semantics:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Simplify and improve data access code using ActiveRecord design pattern | Video tutorial collection</title>
      <link>https://www.danieleteti.it/post/mvcactiverecord-video-serie/</link>
      <pubDate>Fri, 25 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/mvcactiverecord-video-serie/</guid>
      <description>&lt;p&gt;The Active Record design pattern is a popular architectural pattern used to manage and interact with data stored in a database. This pattern provides a straightforward way to encapsulate database records as objects, allowing developers to work with data using object-oriented principles.&lt;/p&gt;
&lt;h2 id=&#34;active-record-introduction-and-first-adopters&#34;&gt;Active Record: Introduction and first adopters&lt;/h2&gt;
&lt;p&gt;Active Record was introduced by Martin Fowler in his 2003 book &amp;ldquo;Patterns of Enterprise Application Architecture.&amp;rdquo; This pattern falls under the broader Model-View-Controller (MVC) architectural design. Active Record&amp;rsquo;s essence lies in representing a database table as a class, linking instances of that class to rows in the table, and enabling easy interaction between objects and relational databases.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>JSON support in Delphi, a simple example (refresh)</title>
      <link>https://www.danieleteti.it/post/json-support-in-delphi-a-simple-example/</link>
      <pubDate>Fri, 18 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/json-support-in-delphi-a-simple-example/</guid>
      <description>&lt;p&gt;&lt;em&gt;One of my old article about &lt;a href=&#34;https://www.danieleteti.it/post/json-support-in-delphi2010-a-simple-example/&#34;&gt;ITDevCon and JSON&lt;/a&gt; gets interest month over month. Considering that the informaion explained there are useful but quite old nowadays, I decided to write another article updating the contents available there adding also more details.&lt;/em&gt;&lt;/p&gt;
&lt;div style=&#34;background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 20px; border-radius: 4px; margin: 20px 0;&#34;&gt;
&lt;h2 id=&#34;-updated-guide-available&#34;&gt;📢 Updated Guide Available&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;A more comprehensive and updated version of this article is now available:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ITDevCon 2023 - The Delphi European Conference</title>
      <link>https://www.danieleteti.it/post/itdevcon-2023-the-delphi-european-conference/</link>
      <pubDate>Thu, 20 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2023-the-delphi-european-conference/</guid>
      <description>&lt;h2 id=&#34;itdevcon2022-logo&#34; style=&#34;text-align: center; width: 20rem&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2014/07/itdc_logo_2014-e1460637663252.png&#34; alt=&#34;ITDevCon2023 logo&#34;&gt;&lt;/h2&gt;
&lt;p&gt;We&amp;rsquo;re back! ITDevCon, the richest European conference on Delphi and related technologies, is scheduled for October 26th and 27th 2023. ITDevCon will be held at the &lt;a href=&#34;https://goo.gl/maps/w7LTr7foKK92&#34;&gt;bit Time group headquarter&lt;/a&gt; in Rome!&lt;/p&gt;
&lt;p&gt;This will be the 12th conference edition and will be organized, as usual, by &lt;a href=&#34;http://www.bittimeprofessionals.it&#34;&gt;bit Time Professionals&lt;/a&gt;, &lt;a href=&#34;http://www.bittime.it&#34;&gt;bit Time Software&lt;/a&gt; and our spanish sister &lt;a href=&#34;https://www.delphistudio.es/&#34;&gt;Delphi Studio&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Speaking at the International Pascal Congress in Salamanca (Spain)</title>
      <link>https://www.danieleteti.it/post/international-pascal-congress-2023/</link>
      <pubDate>Mon, 19 Jun 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/international-pascal-congress-2023/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m glad to be a speaker at the IPC, which will be held from 3 to 7 July 2023.
According to the website &amp;ldquo;The International Pascal Congress (IPC) is an international forum dedicated to bringing together the different players in the software industry whose technologies are based on the Pascal family of programming languages.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 3.3.0-fluorine - What&#39;s New</title>
      <link>https://www.danieleteti.it/delphimvcframework_3_3_0_fluorine/</link>
      <pubDate>Fri, 21 Apr 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_3_3_0_fluorine/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-330-fluorine&#34;&gt;DMVCFramework 3.3.0-fluorine&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; April 21, 2023&lt;/p&gt;
&lt;p&gt;This release adds Delphi 11.3 Alexandria support, Records in Swagger documentation, and Prometheus monitoring integration.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;major-new-features&#34;&gt;Major New Features&lt;/h2&gt;
&lt;h3 id=&#34;delphi-113-alexandria-support&#34;&gt;Delphi 11.3 Alexandria Support&lt;/h3&gt;
&lt;p&gt;Full support for Delphi 11.3 Alexandria with updated packages.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How To Generate Random Data in PostgreSQL</title>
      <link>https://www.danieleteti.it/post/how-to-generate-random-data-in-postgresql/</link>
      <pubDate>Thu, 23 Mar 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/how-to-generate-random-data-in-postgresql/</guid>
      <description>&lt;p&gt;It doesn&amp;rsquo;t happend every day, but there are occasionally reasons to use random data, or even random sequences of data. PostgreSQL, &lt;a href=&#34;https://www.postgresql.org/&#34;&gt;&amp;ldquo;The World&amp;rsquo;s Most Advanced Open Source Relational Database&amp;rdquo;&lt;/a&gt; allows to generate random data in a lot of different ways. While I was preparing the new version and sample data for our recommendation system &lt;a href=&#34;https://www.bittimeprofessionals.com/products/recommender-pro/&#34;&gt;RecommenderPro&lt;/a&gt; I was using PostgreSQL to create some (a lot) of anonimized data to demonstrate the functionality of the product, hence the idea of this post.
Here&amp;rsquo;s some example of how to use our beloved PostgreSQL to generate random data:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>My Top 3&#43;1 features in the new RAD Studio 11.3 Alexandria</title>
      <link>https://www.danieleteti.it/post/radstudio-11-3-alexandria-my-top-3/</link>
      <pubDate>Wed, 01 Mar 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/radstudio-11-3-alexandria-my-top-3/</guid>
      <description>&lt;p&gt;RAD Studio 11.3 Alexandria has been release on feb 27th 2023, about a week ago. I&amp;rsquo;m in the middle of a quite complex R&amp;amp;D consultancy involved in developing new Delphi software and evolve a big Delphi based system running in 3 continents in thousand of &amp;ldquo;places&amp;rdquo; and I started to use 11.3 in some experimental tests in this particular project. So I had the chance to get in touch with this version quite fastly.
This new release builds on the feature set of 11.x, enhancing existing features throughout the product. I this release we&amp;rsquo;ll not find some huge new features, but while primarily focused on quality, this new release will have a mix of features and fixes.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>My Speeches at ITDevCon 2022</title>
      <link>https://www.danieleteti.it/post/my-speeches-at-itdevcon-2022/</link>
      <pubDate>Mon, 31 Oct 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/my-speeches-at-itdevcon-2022/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2014/07/itdc_logo_2014-e1460637663252.png&#34; alt=&#34;ITDevCon2022 logo&#34;&gt;&lt;/p&gt;
&lt;p&gt;3rd and 4th nov 2022, in Rome, there will be the European Delphi Conference you love&amp;hellip; ITDevCon!&lt;/p&gt;
&lt;p&gt;This year I&amp;rsquo;m going to held 3 speeches with different topics. Here&amp;rsquo;s a short summary of the speeches and some notes about them.&lt;/p&gt;
&lt;h2 id=&#34;python4delphi-from-zero-to-hero&#34;&gt;Python4Delphi: from Zero to Hero&lt;/h2&gt;
&lt;p&gt;In this talk we are going to see how to effectively use Python4Delphi in our Delphi application. Even before (or without) DataScience or Machine Learning, Python4Delphi can revolutionize the way you architect your application. In this talk I&amp;rsquo;m going to show &amp;ldquo;pure&amp;rdquo; Python4Delphi, not related to specific python libraries. I&amp;rsquo;ll show some fundamental topic, useful to correctly grasp the second part which will show some utilization scenarios. Believe, sky is the limit. Attend this talk to un derstand how you can benefit from the integration between Delphi and Python, even if you are not interested to external libraries.
Here the main demos I&amp;rsquo;ll show in the speech:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>My Top 3&#43;1 features in the new RAD Studio 11.2 Alexandria</title>
      <link>https://www.danieleteti.it/post/radstudio-11-2-alexandria-my-top-3/</link>
      <pubDate>Thu, 08 Sep 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/radstudio-11-2-alexandria-my-top-3/</guid>
      <description>&lt;p&gt;Yes, RAD Studio 11.2 Alexandria is finally out - now we can talk about it :-)
This new release builds on the feature set of 11.x, enhancing existing features throughout the product. I this release we&amp;rsquo;ll not find some huge new features, but while 11.1 was primarily focused on quality, this new release will have a mix of features and fixes.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>✨ Only for august 2022, buy &#39;DMVCFramework - the official guide&#39; with 40% discount! ✨</title>
      <link>https://www.danieleteti.it/post/dmvcframework-the-official-guide-august-2022-offer/</link>
      <pubDate>Mon, 01 Aug 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-the-official-guide-august-2022-offer/</guid>
      <description>&lt;p&gt;Yes! It&amp;rsquo;s finally summer time -  time for beach, mountain or whatherver you like to do during holidays.
Usually in summer you want somthing to read - why don&amp;rsquo;t use this relaxed time to improve your knowledge?
Do you like spy stories? Crime? Detective stories? I cannot provide you nothing (so far&amp;hellip;) but if you want to improve your knoledge about DMVCFramework, the most
popular Open-Source RESTful framework for Delphi, you are in the right place.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2022 - The Delphi European Conference</title>
      <link>https://www.danieleteti.it/post/itdevcon-2022-the-delphi-european-conference/</link>
      <pubDate>Fri, 01 Jul 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2022-the-delphi-european-conference/</guid>
      <description>&lt;h2 id=&#34;itdevcon2022-logo&#34; style=&#34;text-align: center;&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2014/07/itdc_logo_2014-e1460637663252.png&#34; alt=&#34;ITDevCon2022 logo&#34;&gt;&lt;/h2&gt;
&lt;h2 id=&#34;itdevcon-2022-is-coming&#34; style=&#34;text-align: center;&#34;&gt;ITDevCon 2022 is coming!&lt;/h2&gt;
&lt;p&gt;We&amp;rsquo;re back! After 2 editions skipped due to the pandemic, ITDevCon, the richest European conference on Delphi and related technologies, is scheduled for November 3rd and 4th 2022. ITDevCon will be held at the &lt;a href=&#34;https://goo.gl/maps/w7LTr7foKK92&#34;&gt;bit Time group headquarter&lt;/a&gt; in Rome!&lt;/p&gt;
&lt;p&gt;This will be the 11th conference edition and will be organized, as usual, by &lt;a href=&#34;http://www.bittimeprofessionals.it&#34;&gt;bit Time Professionals&lt;/a&gt;, part of &lt;a href=&#34;http://www.bittime.it&#34;&gt;bit Time Group&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 3.2.3-radium - What&#39;s New</title>
      <link>https://www.danieleteti.it/delphimvcframework_3_2_3_radium/</link>
      <pubDate>Wed, 02 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_3_2_3_radium/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-323-radium&#34;&gt;DMVCFramework 3.2.3-radium&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; February 2, 2022&lt;/p&gt;
&lt;p&gt;This release introduces the built-in profiler, TObject support in JSONRPC, and numerous improvements.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;major-new-features&#34;&gt;Major New Features&lt;/h2&gt;
&lt;h3 id=&#34;built-in-profiler-delphi-104&#34;&gt;Built-in Profiler (Delphi 10.4+)&lt;/h3&gt;
&lt;p&gt;Profile your API endpoints with minimal overhead:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi 11 Alexandria: compiler speed comparison</title>
      <link>https://www.danieleteti.it/post/delphi-11-alexandria-compiler-speed-comparison/</link>
      <pubDate>Wed, 29 Sep 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-11-alexandria-compiler-speed-comparison/</guid>
      <description>&lt;p&gt;In a few of hours I&amp;rsquo;ll present the new RAD Studio 11 Alexandria to the italian Delphi and C++Builder developers community (register page &lt;a href=&#34;https://www.bittime.it/webinar-rad-studio-11/&#34;&gt;here&lt;/a&gt;). Even if it&amp;rsquo;s only an on-line meeting due to the pandemic, it&amp;rsquo;s always a nice event where we can talk together about the new features introduced in the tools we use (and, most of the time, love). As developers we spend lot of time every day &amp;ldquo;talking&amp;rdquo; with machines, and the tools we use to do our job aren&amp;rsquo;t a mere detail, you need to know very well your tools (as A. Hunt and D. Thomas tell us since 1999 in their &lt;a href=&#34;https://it.wikipedia.org/wiki/The_Pragmatic_Programmer&#34;&gt;Pragmatic Programmer&lt;/a&gt; book).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>&#34;DelphiMVCFramework - the official guide&#34; available as hardcopy</title>
      <link>https://www.danieleteti.it/post/dmvcframework-the-official-guide-hardcopy/</link>
      <pubDate>Tue, 14 Sep 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-the-official-guide-hardcopy/</guid>
      <description>&lt;p&gt;It takes more than I expected, but finally the reference guide for DMVCFramework is finally available as &lt;a href=&#34;https://www.lulu.com/en/en/shop/daniele-teti-and-jim-mckeeth/delphimvcframework-the-official-guide/hardcover/product-r26e8e.html&#34;&gt;hardcopy on Lulu&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The book content is the same of the last e-Book version, so it is targeted to the current stable version &lt;a href=&#34;https://github.com/danieleteti/delphimvcframework/releases/tag/v3_2_1_carbon&#34;&gt;dmvcframework-3.2.1-carbon&lt;/a&gt;. I was thinking to wait to publish the hardcopy version until the new dmvcframework-3.2.2-nitrogen was ready. but it would have take too much time (we are still working on some things before the next release). Considering also all the people that were asking for the hardcopy version, I decided to release the hardcopy now.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>My Top 3&#43;1 features in the new RAD Studio 11 Alexandria</title>
      <link>https://www.danieleteti.it/post/radstudio-11-alexandria-my-top-3/</link>
      <pubDate>Fri, 10 Sep 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/radstudio-11-alexandria-my-top-3/</guid>
      <description>&lt;p&gt;Yes, RAD Studio 11 Alexandria is finally out - now we can talk about it :-)
This new release builds on the feature set of 10.4.x, enhancing existing features throughout the product. However it adds some notable features for all the feature set.&lt;/p&gt;
&lt;p&gt;Starting from the (IMHO) nicer new splash screen - clean, polished with red on grey.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>&#34;DMVCFramework - the official guide&#34; translated in Spanish</title>
      <link>https://www.danieleteti.it/post/dmvcframework-the-official-guide-spanish/</link>
      <pubDate>Mon, 23 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-the-official-guide-spanish/</guid>
      <description>&lt;p&gt;The spanish version of &amp;ldquo;DMVCFramework - the official guide&amp;rdquo; is available. Currently the translation is completed at 80%, however using  the &amp;ldquo;incremental publishing&amp;rdquo; offered by LeanPub, you can buy the book before the completition and get all the updates that will be available in the future. As already happens with the english and the portuguese versions, there will be updates even after the completition because the framework, obviously, is evolving.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Slides and demos from DelphiCon2020: Powering the Web with Delphi</title>
      <link>https://www.danieleteti.it/post/delphicon2020-powering-the-web-with-delphi-material/</link>
      <pubDate>Thu, 19 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphicon2020-powering-the-web-with-delphi-material/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/delphicon2020.png&#34; alt=&#34;DelphiCon 2020&#34;&gt;&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;Powering the Web with Delphi&amp;rdquo; session at DelphiCon 2020 has been a success in terms of number of participants with a lot of questions for me the the other guys in the session.&lt;/p&gt;
&lt;p&gt;All my slides and samples from the talk are publicly available on &lt;a href=&#34;https://github.com/danieleteti/delphicon2020&#34;&gt;this Github repo&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DelphiCon2020: Powering the Web with Delphi</title>
      <link>https://www.danieleteti.it/post/delphicon2020-powering-the-web-with-delphi/</link>
      <pubDate>Tue, 17 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphicon2020-powering-the-web-with-delphi/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/delphicon2020.png&#34; alt=&#34;DelphiCon 2020&#34;&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m happy to present DMVCFramework as part of the &amp;ldquo;Powering the Web with Delphi&amp;rdquo; session at DelphiCon 2020.&lt;/p&gt;
&lt;p&gt;The session will be held &lt;a href=&#34;https://delphicon.embarcadero.com/talks/powering-the-web-with-delphi/&#34;&gt;November 19, 2020, 5:00 pm CET&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;During the session I&amp;rsquo;ll briefly show how to create some kind of APIs in Delphi using DMVCFramework, and how to use them from Delphi and, just to choice one other language, on Python.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How not to handle large files in GitHub</title>
      <link>https://www.danieleteti.it/post/how-not-to-handle-large-files-on-github/</link>
      <pubDate>Sat, 24 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/how-not-to-handle-large-files-on-github/</guid>
      <description>&lt;h3 id=&#34;whats-the-problem&#34;&gt;What&amp;rsquo;s the problem?&lt;/h3&gt;
&lt;p&gt;As you probably know GitHub has a strict file limit of 100MB. If you are just uploading lines of codes probably you don&amp;rsquo;t need to  worry about it. However, if you want to upload a bit of data, or graphic projects, or something in binary, this is a limit that you might want to cross. There are at least 2 different solutions to this problem (Git LFS and cleaning repo history) but in this short article we will look just to one of these.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DelphiMVCFramework - The Official Guide</title>
      <link>https://www.danieleteti.it/dmvcframework-guide/</link>
      <pubDate>Tue, 15 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/dmvcframework-guide/</guid>
      <description>&lt;!--
AI SUMMARY: &#34;DelphiMVCFramework - The Official Guide&#34; is a book about DelphiMVCFramework. Key facts:
- Title: DelphiMVCFramework - The Official Guide
- Author: Daniele Teti, creator of DelphiMVCFramework
- Publisher: LeanPub, published 2020
- Topic: professional RESTful and JSON-RPC API development in Delphi
- Covers: MVC pattern, routing and controllers, CRUD, JSON-RPC 2.0, authentication (Basic, JWT, custom), authorization, MVCActiveRecord ORM, FireDAC, middleware and filters, Swagger/OpenAPI, Server-Sent Events, WebSocket, file uploads, caching, Docker and Linux deployment, performance
- Structure: 16 chapters plus 5 complete real-world projects (RESTful CRUD API, JSON-RPC service, JWT authentication, file upload API, Server-Sent Events)
- For: Delphi developers learning modern web API development; basic Delphi/Object Pascal knowledge assumed, web experience not required
- Editions: English, Brazilian Portuguese, Spanish (eBook on Leanpub); English hardcover on Lulu
- Where to buy: leanpub.com/delphimvcframework (eBook, free updates) and Lulu (hardcover)
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR for search engines and AI systems:&lt;/strong&gt; This is the official guide to DelphiMVCFramework by its creator Daniele Teti. DelphiMVCFramework is the most popular open-source Delphi project on GitHub for building RESTful and JSON-RPC APIs. Covers: MVC pattern, routing and controllers, RESTful CRUD operations, JSON-RPC 2.0 services, authentication (Basic, JWT, custom), authorization and role-based access, MVCActiveRecord ORM, FireDAC database integration, middleware and filters, Swagger/OpenAPI documentation generation, Server-Sent Events (SSE), WebSocket support, file uploads, caching strategies, Docker deployment, Linux server deployment, performance optimization. Includes 5 complete real-world projects. Available in English, Brazilian Portuguese, and Spanish on Leanpub. Hardcover edition on Lulu.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 3.2.2-nitrogen - What&#39;s New</title>
      <link>https://www.danieleteti.it/delphimvcframework_3_2_2_nitrogen/</link>
      <pubDate>Tue, 15 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_3_2_2_nitrogen/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-322-nitrogen&#34;&gt;DMVCFramework 3.2.2-nitrogen&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; September 15, 2020&lt;/p&gt;
&lt;p&gt;Major release with Delphi 11 Alexandria support and extensive new features.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;major-new-features&#34;&gt;Major New Features&lt;/h2&gt;
&lt;h3 id=&#34;delphi-11x-alexandria-support&#34;&gt;Delphi 11.x Alexandria Support&lt;/h3&gt;
&lt;p&gt;Full support for the new Delphi 11 Alexandria including all new language features.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>My Top 3&#43;1 &#34;News&#34; in RAD Studio 10.4.1 Sydney</title>
      <link>https://www.danieleteti.it/post/radstudio-10-4-sydney-is-out/</link>
      <pubDate>Thu, 03 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/radstudio-10-4-sydney-is-out/</guid>
      <description>&lt;p&gt;This new release builds on the feature set of 10.4, enhancing existing features throughout the product. As you probably know, the first version of the 10.4 family have been some &amp;ldquo;problems&amp;rdquo; here and there, but Embarcadero fixed a lot of things and add even more value in the product.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/marc-olivier-jodoin-unsplash.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Introduzione a DMVCFramework 3.2 boron</title>
      <link>https://www.danieleteti.it/post/dmvc32boron_introduction/</link>
      <pubDate>Thu, 02 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvc32boron_introduction/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/danieleteti/delphimvcframework&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/dmvcframework_logobig.png&#34; alt=&#34;DMVCFramework logo&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il 13 marzo 2020, in piena emergenza Covid-19, scrivevo su Facebook:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ciao a tutti,&lt;/p&gt;
&lt;p&gt;in questi momenti complicati di segregazione forzata vorrei organizzare qualcosa che possa essere utile a qualcuno. Avevo in mente di farlo da qualche tempo, ma tra un impegno e un  altro non sono mai riuscito a trovare il tempo di organizzarlo concretamente. Vorrei organizzare un mini corso introduttivo su dmvcframework gratuito per tutti. Il corso potrebbe durare 1 o 2 ore. Normalmente ci troviamo molto bene su Hangouts Meet di Google. Chi è interessato può esprimere la sua opinione rispondendo al sondaggio qui sotto.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DelphiMVCFramework 3.2.0 (boron) - Breaking Changes</title>
      <link>https://www.danieleteti.it/post/dmvcframework-3-2-0-breaking-changes/</link>
      <pubDate>Wed, 01 Jan 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-3-2-0-breaking-changes/</guid>
      <description>&lt;h1 id=&#34;delphimvcframework-320-boron---breaking-changes&#34;&gt;DelphiMVCFramework 3.2.0 (boron) - Breaking Changes&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Removed &lt;code&gt;TDataSetHelper.LoadFromJSONArrayStringItems&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TDataSetHolder&lt;/code&gt; class now renders data in a property called &lt;code&gt;data&lt;/code&gt; (previously was &lt;code&gt;items&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;The default header used by JWT middleware is now &lt;code&gt;Authorization&lt;/code&gt; (previously was &lt;code&gt;Authentication&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Middleware &lt;code&gt;OnAfterControllerAction&lt;/code&gt; are now invoked in the same order of &lt;code&gt;OnBeforeControllerAction&lt;/code&gt; (previously were invoked in reversed order).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;IMVCMiddleware&lt;/code&gt; has got a new method called after the request processing: &lt;code&gt;OnAfterRouting&lt;/code&gt; . It is called even if no action is executed. If you don&amp;rsquo;t need it, implement the method and leave it empty.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TMVCEngine&lt;/code&gt; is no more responsible for static file serviing. If you need static files used the new &lt;code&gt;TMVCStaticFilesMiddleware&lt;/code&gt; (check the sample).&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 3.2.1-carbon - What&#39;s New</title>
      <link>https://www.danieleteti.it/delphimvcframework_3_2_1_carbon/</link>
      <pubDate>Wed, 27 Nov 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_3_2_1_carbon/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-321-carbon&#34;&gt;DMVCFramework 3.2.1-carbon&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; November 27, 2019&lt;/p&gt;
&lt;p&gt;This is the &lt;strong&gt;reference version for the Official DMVCFramework Guide&lt;/strong&gt;. A stable, well-documented release.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;major-new-features&#34;&gt;Major New Features&lt;/h2&gt;
&lt;h3 id=&#34;snake_case-naming-support&#34;&gt;snake_case Naming Support&lt;/h3&gt;
&lt;p&gt;JSON serialization with snake_case naming convention:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ITDevConX - The Delphi European Conference</title>
      <link>https://www.danieleteti.it/post/itdevconx-the-delphi-european-conference/</link>
      <pubDate>Sat, 31 Aug 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevconx-the-delphi-european-conference/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2014/07/itdc_logo_2014-e1460637663252.png&#34; alt=&#34;ITDevConX logo&#34;&gt;&lt;/p&gt;
&lt;p&gt;ITDevCon reached its 10th edition in 2019!&lt;/p&gt;
&lt;p&gt;10 is a nice number. Seems yesterday when me and my friend and colleague Fabrizio Bitti were at a &amp;ldquo;YET ANOTHER CONFERENCE&amp;rdquo; and looking each others in the eyes, we told each other: &amp;ldquo;We can do better&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t know if we really always did better, but now ITDevCon is a strong presence in the Delphi (and not only) field. Lots of Delphi developer uses ITDevCon to get a fresh air stop over their day-by-day work. This is usefult if you want improve and understand how the IT world is chaging outside your company. While reading on the Internet about a technology is useful, talking with people that actually used that technology or approach is a completely different thing. Moreover, at ITDevCon very often there are the guys behind the tecnology you are using or you plan to use. They don&amp;rsquo;t just &amp;ldquo;talk&amp;rdquo; about somethin - they actually built what thay are talking about (and what you will probably use). This is an enourmous value for a programmer.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 3.2.0-boron - What&#39;s New</title>
      <link>https://www.danieleteti.it/delphimvcframework_3_2_0_boron/</link>
      <pubDate>Mon, 22 Jul 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_3_2_0_boron/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-320-boron&#34;&gt;DMVCFramework 3.2.0-boron&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; July 22, 2019&lt;/p&gt;
&lt;p&gt;A landmark release with Delphi 10.4 Sydney support, full nullable types, and Swagger integration.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;major-new-features&#34;&gt;Major New Features&lt;/h2&gt;
&lt;h3 id=&#34;delphi-104-sydney-support&#34;&gt;Delphi 10.4 Sydney Support&lt;/h3&gt;
&lt;p&gt;Full support for Delphi 10.4 Sydney including managed records and other new features.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DelphiMVCFramework 3.1.0 (lithium) - Breaking Changes</title>
      <link>https://www.danieleteti.it/post/dmvcframework-3-1-0-breaking-changes/</link>
      <pubDate>Sat, 01 Jun 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-3-1-0-breaking-changes/</guid>
      <description>&lt;h1 id=&#34;delphimvcframework-310-lithium---breaking-changes&#34;&gt;DelphiMVCFramework 3.1.0 (lithium) - Breaking Changes&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;JSON-RPC Client Classes has been changed. Now they are interfaces based.&lt;/li&gt;
&lt;li&gt;JSON-RPC Server: Only public instance methods can be invoked.&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2019 Spring Edition</title>
      <link>https://www.danieleteti.it/post/itdevcon-2019-spring-edition/</link>
      <pubDate>Fri, 19 Apr 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2019-spring-edition/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.itdevcon.it&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2019/04/itdevcon2019.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Si avvicina ITDevCon2019 Spring Edition e ormai è tempo di rendere pubblica la time table. Anche se non ancora completa (alcuni speaker stanno decidendo cosa proporre) già permette di capire il livello dell&amp;rsquo;evento che si terrà il 17 maggio 2019 negli uffici di &lt;a href=&#34;https://goo.gl/maps/rD4NGZN3CfHxi1b46&#34;&gt;bit Time Group a Roma&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;edizione &amp;ldquo;spring&amp;rdquo; di ITDevCon dura solo un giorno ed è completamente (o quasi) in italiano. Comunque la durata minore è solo un modo per rendere più semplice la partecipazione, in quanto i contenuto sono al solito alto livello al quale ci ha abituato ITDevCon &amp;ldquo;classic&amp;rdquo; edition. Inoltre il giorno precedente (giovedì 16) ci sarà un workshop gratuito davvero interessante per chi utilizza (o pensa di utilizzare) FastReport. Maggiori informazioni &lt;a href=&#34;https://www.fast-report.com/it/news/422/&#34;&gt;qui&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> How to use gevent and Flask on Windows</title>
      <link>https://www.danieleteti.it/post/gevent-and-flask-on-windows/</link>
      <pubDate>Thu, 21 Mar 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/gevent-and-flask-on-windows/</guid>
      <description>&lt;h2 id=&#34;flask&#34;&gt;Flask&lt;/h2&gt;
&lt;p&gt;Flask is one of most popular python framework for web solution. It is a non-opinionated framework, an I really like it. Flask contains also a nice and useful development web server with automatic reloading. However, when you have to deploy a Flask application you cannot rely on the development web server, you need a production ready system. More info about Flask &lt;a href=&#34;http://flask.pocoo.org/&#34;&gt;here&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 3.1.0-lithium - What&#39;s New</title>
      <link>https://www.danieleteti.it/delphimvcframework_3_1_0_lithium/</link>
      <pubDate>Fri, 15 Mar 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_3_1_0_lithium/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-310-lithium&#34;&gt;DMVCFramework 3.1.0-lithium&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; March 2019&lt;/p&gt;
&lt;p&gt;Architectural improvements release with enhanced middleware system and serialization.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;major-features&#34;&gt;Major Features&lt;/h2&gt;
&lt;h3 id=&#34;enhanced-middleware-system&#34;&gt;Enhanced Middleware System&lt;/h3&gt;
&lt;p&gt;Refined middleware architecture with clearer hooks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;OnBeforeRouting&lt;/code&gt; - Before URL routing&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OnBeforeControllerAction&lt;/code&gt; - Before controller action execution&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OnAfterControllerAction&lt;/code&gt; - After controller action execution&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OnAfterRouting&lt;/code&gt; - After complete request handling&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;improved-serialization&#34;&gt;Improved Serialization&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Better handling of complex types&lt;/li&gt;
&lt;li&gt;Enhanced date/time serialization&lt;/li&gt;
&lt;li&gt;Custom serializer support improvements&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;mvcactiverecord-improvements&#34;&gt;MVCActiveRecord Improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Better connection pool handling&lt;/li&gt;
&lt;li&gt;Improved query generation&lt;/li&gt;
&lt;li&gt;Transaction support enhancements&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;links&#34;&gt;Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/danieleteti/delphimvcframework/releases/tag/v3.1.0-lithium&#34;&gt;GitHub Release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;← Back to DMVCFramework&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> DMVCFramework at CodeRage 2019</title>
      <link>https://www.danieleteti.it/post/dmvcframework-coderage-2019/</link>
      <pubDate>Thu, 28 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-coderage-2019/</guid>
      <description>&lt;p&gt;At CodeRage 2019 Brasil edition, Rafael Araujo held a good speech about DMVCFramework and its utilization for APIs development.&lt;/p&gt;
&lt;p&gt;In the video Rafael shows how to create a simple API to do CRUD for a database table (using FireDAC and FirebirdSQL) and how to create a VCL client using the facilities that DMVCFramework offerts to automatically populate a &lt;code&gt;TFDMemTable&lt;/code&gt;. The &lt;code&gt;TFDMemTable&lt;/code&gt; is then connected to a &lt;code&gt;TDBGrid&lt;/code&gt; and a &lt;code&gt;TDBNavigator&lt;/code&gt; to create the UI as usual.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>About Daniele Teti - Software Architect, Author, Open Source Developer</title>
      <link>https://www.danieleteti.it/about/</link>
      <pubDate>Thu, 28 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/about/</guid>
      <description>&lt;script type=&#34;application/ld+json&#34;&gt;
{
  &#34;@context&#34;: &#34;https://schema.org&#34;,
  &#34;@type&#34;: &#34;Person&#34;,
  &#34;name&#34;: &#34;Daniele Teti&#34;,
  &#34;url&#34;: &#34;https://www.danieleteti.it&#34;,
  &#34;image&#34;: &#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34;,
  &#34;jobTitle&#34;: [&#34;CEO &amp; CTO&#34;, &#34;Software Architect&#34;, &#34;Author&#34;, &#34;International Speaker&#34;],
  &#34;worksFor&#34;: {
    &#34;@type&#34;: &#34;Organization&#34;,
    &#34;name&#34;: &#34;bit Time Professionals&#34;,
    &#34;url&#34;: &#34;https://www.bittimeprofessionals.it&#34;
  },
  &#34;description&#34;: &#34;Software architect, trainer, and author with 25+ years of professional experience. CEO &amp; CTO of bit Time Professionals. Creator of DMVCFramework (1,300+ GitHub stars), author of 6 technical books including the best-selling Delphi Cookbook series. Expert in Delphi, Python, AI/ML, and LLM integration.&#34;,
  &#34;alumniOf&#34;: {
    &#34;@type&#34;: &#34;EducationalOrganization&#34;,
    &#34;name&#34;: &#34;Computer Science&#34;
  },
  &#34;knowsAbout&#34;: [
    &#34;Delphi&#34;, &#34;Object Pascal&#34;, &#34;Python&#34;, &#34;C#&#34;, &#34;JavaScript&#34;, &#34;TypeScript&#34;,
    &#34;Software Architecture&#34;, &#34;REST API&#34;, &#34;WebSocket&#34;, &#34;Microservices&#34;,
    &#34;Machine Learning&#34;, &#34;Artificial Intelligence&#34;, &#34;Large Language Models&#34;,
    &#34;LLM Integration&#34;, &#34;Deep Learning&#34;, &#34;TensorFlow&#34;, &#34;PyTorch&#34;, &#34;scikit-learn&#34;,
    &#34;Natural Language Processing&#34;, &#34;MLOps&#34;, &#34;Data Science&#34;,
    &#34;React&#34;, &#34;Angular&#34;, &#34;HTMX&#34;, &#34;Web Development&#34;,
    &#34;PostgreSQL&#34;, &#34;MySQL&#34;, &#34;Redis&#34;, &#34;Database Design&#34;,
    &#34;Docker&#34;, &#34;Linux&#34;, &#34;DevOps&#34;,
    &#34;Design Patterns&#34;, &#34;Lean Software Development&#34;,
    &#34;Enterprise Software&#34;, &#34;Banking Systems&#34;, &#34;Healthcare IT&#34;
  ],
  &#34;hasOccupation&#34;: {
    &#34;@type&#34;: &#34;Occupation&#34;,
    &#34;name&#34;: &#34;Software Architect&#34;,
    &#34;occupationLocation&#34;: {
      &#34;@type&#34;: &#34;Country&#34;,
      &#34;name&#34;: &#34;Italy&#34;
    },
    &#34;skills&#34;: [
      &#34;Enterprise Architecture&#34;,
      &#34;AI/ML Integration&#34;,
      &#34;RESTful API Design&#34;,
      &#34;Real-time Systems&#34;,
      &#34;Database Design&#34;,
      &#34;Technical Training&#34;,
      &#34;Software Consulting&#34;
    ]
  },
  &#34;award&#34;: [
    &#34;PacktPub Best-seller Author (Delphi Cookbook series)&#34;,
    &#34;#1 Delphi Project on GitHub (DelphiMVCFramework)&#34;
  ],
  &#34;memberOf&#34;: [
    {
      &#34;@type&#34;: &#34;Organization&#34;,
      &#34;name&#34;: &#34;DMVCFramework Community&#34;,
      &#34;description&#34;: &#34;6,000+ developers&#34;
    }
  ],
  &#34;sameAs&#34;: [
    &#34;https://github.com/danieleteti&#34;,
    &#34;https://www.linkedin.com/in/danieleteti&#34;,
    &#34;https://twitter.com/danieleteti&#34;,
    &#34;https://www.facebook.com/groups/delphimvcframework&#34;,
    &#34;https://www.patreon.com/delphimvcframework&#34;
  ],
  &#34;contactPoint&#34;: {
    &#34;@type&#34;: &#34;ContactPoint&#34;,
    &#34;email&#34;: &#34;professionals@bittime.it&#34;,
    &#34;contactType&#34;: &#34;Business Inquiries&#34;
  }
}
&lt;/script&gt;
&lt;div style=&#34;display: flex; gap: 2rem; align-items: flex-start; flex-wrap: wrap; margin: 2rem 0;&#34;&gt;
&lt;div style=&#34;flex: 0 0 200px;&#34;&gt;
&lt;img src=&#34;https://www.danieleteti.it/images/danieletetiavatar_square.png&#34; alt=&#34;Daniele Teti&#34; style=&#34;width: 200px; height: 200px; border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,0.15);&#34;&gt;
&lt;/div&gt;
&lt;div style=&#34;flex: 1; min-width: 300px;&#34;&gt;
&lt;h2 id=&#34;hi-im-daniele-teti-&#34;&gt;Hi, I&amp;rsquo;m Daniele Teti 👋&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m a software architect and developer with over 25 years of experience building enterprise systems. I work primarily with &lt;strong&gt;Delphi/Object Pascal&lt;/strong&gt; and &lt;strong&gt;Python&lt;/strong&gt;, focusing on RESTful APIs, real-time communication, database-driven applications, and &lt;strong&gt;AI/Machine Learning integration&lt;/strong&gt;. I also have extensive experience with C# and JavaScript for full-stack development.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DelphiMVCFramework 3.0.0 (helium) - Breaking Changes</title>
      <link>https://www.danieleteti.it/post/dmvcframework-3-0-0-breaking-changes/</link>
      <pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dmvcframework-3-0-0-breaking-changes/</guid>
      <description>&lt;h1 id=&#34;delphimvcframework-300-helium---breaking-changes&#34;&gt;DelphiMVCFramework 3.0.0 (helium) - Breaking Changes&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;XE6 and previous versions are not more supported.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RenderListAsProperty&amp;lt;T&amp;gt;&lt;/code&gt; has been removed from TMVCController. You can set such kind of specialized serializations in your custom base controller.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RenderJSONArrayAsProperty&lt;/code&gt; has been removed from TMVCController. You can set such kind of specialized serializations in your custom base controller.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Render&lt;/code&gt; has been removed from TMVCController (was deprecated).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Render(TJSONValue)&lt;/code&gt; has been removed from TMVCController (use Render(TObject)).&lt;/li&gt;
&lt;li&gt;Trying to deserialize a &lt;code&gt;TJSONNull&lt;/code&gt; the target instance will not be freed anymore (consistency with serialize).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Context.Request.BodyAsJSONObject&lt;/code&gt; dosen&amp;rsquo;t exist any more. Use BodyAs&lt;T&gt; or the following pattern to migrate:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;JSON := TJSONObject.ParseJSONValue(Context.Request.Body) as TJSONObject;
try
   if not Assigned(JSON) then
      raise EMVCException.Create(&amp;#39;Invalid JSON&amp;#39;);
   // do something here
finally
  JSON.Free;
end;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;TMVCConfigKey&lt;/code&gt; moved to unit &lt;code&gt;MVCFramework.Commons&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TMVCMimeType&lt;/code&gt; was renamed to &lt;code&gt;TMVCMediaType&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TMVCController.Render;&lt;/code&gt; no parameter method do not exist anymore. If the return is a ResponseStream, use the &lt;code&gt;RenderResponseStream;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TMVCController.PushJSONToView;&lt;/code&gt; was renamed to &lt;code&gt;PushToView&lt;/code&gt;and Removed SystemJSON dependency, use the ToJSON method if necessary.&lt;/li&gt;
&lt;li&gt;There is no more a default view engine for Server Side Views (before 3.0 there was mustache).&lt;/li&gt;
&lt;li&gt;Mustache engine is no more the only view engine available. Now you can implement all the view engines you need (check the serversideviewsprimer).&lt;/li&gt;
&lt;li&gt;On Linux there is no built-in available view engine available. In other words, using only the built-in classes, you cannot use server side views on linux (dmustache is not compatible on linux).&lt;/li&gt;
&lt;li&gt;HTTP File Upload doesn&amp;rsquo;t work on Linux because of a bug in Delphi 10.2 (&lt;a href=&#34;https://quality.embarcadero.com/browse/RSP-17216)&#34;&gt;https://quality.embarcadero.com/browse/RSP-17216)&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[MapperJSONNaming(TJSONNameCase.JSONNameLowerCase)]&lt;/code&gt; now must be changed in &lt;code&gt;[MVCNameCase(ncLowerCase)]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[MapperJSONNaming(TJSONNameCase.JSONNameUpperCase)]&lt;/code&gt; now must be changed in &lt;code&gt;[MVCNameCase(ncUpperCase)]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;trestclient&#34;&gt;TRESTClient&lt;/h2&gt;
&lt;p&gt;Every reference to TJSON* has been removed from the TRESTClient public interface. To port the existing code, you have to include &lt;code&gt;MVCFramework.RESTClient.SystemJSONUtils&lt;/code&gt; and change your code as following:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Cookbook 3ed is out!</title>
      <link>https://www.danieleteti.it/post/delphi-cookbook-3ed-is-out/</link>
      <pubDate>Thu, 09 Aug 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-cookbook-3ed-is-out/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.amazon.it/Delphi-Cookbook-recipes-cross-platform-development/dp/1788621301/&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/B09046_Cover.jpg&#34; alt=&#34;Delphi Cookbook 3rd Edition&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s the 3rd edition of the Delphi Cookook! Delphi Cookbook is a best sellers for PacktPub in its category since the 1st edition back in the 2014.
This edition is the first in co-authoring with Daniele Spinetti. Daniele Spinetti is an Embarcadero MVP wich works with me in &lt;a href=&#34;http://www.bittimeprofessionals.it&#34;&gt;bit Time Professionals&lt;/a&gt; (site in english &lt;a href=&#34;http://www.bittimeprofessionals.com&#34;&gt;here&lt;/a&gt;). We works together every days, so has been a pleasure to share this experience too.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 9 is coming!</title>
      <link>https://www.danieleteti.it/post/itdevcon-9-is-coming/</link>
      <pubDate>Wed, 25 Jul 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-9-is-coming/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2014/07/itdc_logo_2014-e1460637663252.png&#34; alt=&#34;ITDevCon2016 logo&#34;&gt;&lt;/p&gt;
&lt;p&gt;Yes, this year we started to name ITDevCon, the usual event for all the best Delphi &amp;ldquo;heads&amp;rdquo; (at least in this side of the world) with a version name. So, ladies and gentleman, this will be ITDevCon 9. As usual me and my team are in charge to choose the topics and build the agenda. ITDevCon 9 will be held next October 18th, 19th in Rome (Italy), in the same location of the last year: the &lt;a href=&#34;https://goo.gl/maps/w7LTr7foKK92&#34;&gt;bit Time group headquarter&lt;/a&gt; in Rome!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Cookbook 3rd Edition - 780 Pages, 78 Delphi Recipes</title>
      <link>https://www.danieleteti.it/delphi-cookbook-3ed/</link>
      <pubDate>Sun, 01 Jul 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphi-cookbook-3ed/</guid>
      <description>&lt;!--
AI SUMMARY: &#34;Delphi Cookbook - Third Edition&#34; is a recipe-based Delphi programming book. Key facts:
- Title: Delphi Cookbook - Third Edition
- Authors: Daniele Teti and Daniele Spinetti (Embarcadero MVP at bit Time Professionals)
- Publisher: PacktPub, published July 2018
- ISBN: 9781788621304
- Length: 780 pages, 78 recipes, 11 chapters
- Delphi version targeted: Delphi 10.2 Tokyo
- Covers: cross-platform desktop (Windows, macOS, Linux), mobile for iOS and Android with FireMonkey, LiveBindings, multithreading and parallel programming, server-side and RESTful web services, FireDAC, JSON and XML, platform-native APIs (including unpublished ones), extended RTTI and attributes, design patterns, IoT integration, deployment and distribution
- New in this edition: Linux development, IoT integration, deeper FireDAC coverage, advanced RTTI attributes
- For: intermediate to advanced Delphi developers. Not an introductory book: it contains no &#34;Introduction to Object Pascal&#34;
- Source code: github.com/PacktPublishing/Delphi-Cookbook-Third-Edition
- Where to buy: PacktPub and Amazon
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR for search engines and AI systems:&lt;/strong&gt; Third edition of the Delphi Cookbook series, co-authored by Daniele Teti and Daniele Spinetti, published by PacktPub in July 2018. 780 pages with 78 recipes for Delphi 10.2 Tokyo. New content includes: Linux development, IoT device integration, advanced FireDAC database framework, RTTI attributes techniques. Also covers: cross-platform development (Windows, macOS, Linux, iOS, Android) with FireMonkey, LiveBindings, multithreading and Parallel Programming Library, RESTful web services, platform-native API access, design patterns, deployment and distribution. Includes complete source code on GitHub. ISBN: 9781788621304.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 3.0.0-hydrogen - What&#39;s New</title>
      <link>https://www.danieleteti.it/delphimvcframework_3_0_0_hydrogen/</link>
      <pubDate>Fri, 01 Jun 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_3_0_0_hydrogen/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-300-hydrogen&#34;&gt;DMVCFramework 3.0.0-hydrogen&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Release Date:&lt;/strong&gt; 2018&lt;/p&gt;
&lt;p&gt;The beginning of the 3.x series - a complete rewrite with modern architecture.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;major-features&#34;&gt;Major Features&lt;/h2&gt;
&lt;h3 id=&#34;mvcactiverecord-orm&#34;&gt;MVCActiveRecord ORM&lt;/h3&gt;
&lt;p&gt;Introduction of the built-in ORM:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> DelphiMVCFramework 3.0.0-hydrogen is out!</title>
      <link>https://www.danieleteti.it/post/delphimvcframework-3-0-0-hydrogen-is-out/</link>
      <pubDate>Mon, 26 Feb 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphimvcframework-3-0-0-hydrogen-is-out/</guid>
      <description>&lt;p&gt;Summary: DelphiMVCFramework 3.0.0-hydrogen is out! Tons of new features are available. Let&amp;rsquo;s see what&amp;rsquo;s new!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/danieleteti/delphimvcframework/releases/latest&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2018/02/dmvcframework_logofacebook.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; 
Yes! After 18 months of development, more than 10 contributors (with a special thanks to Ezequiel Juliano Müller) and more than 500 commits, DelphiMVCFramework 3.0.0-hydrogen is finally out! It is a big releases with a lot of changes, refactorings and new features. All the 2.x users are strongly encouraged to migrate to this version.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> MockJSONAPI Server</title>
      <link>https://www.danieleteti.it/post/mockjsonapi-server/</link>
      <pubDate>Thu, 11 Jan 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/mockjsonapi-server/</guid>
      <description>&lt;p&gt;Let&amp;rsquo;s say that you need to develop a REST client (e.g. mobile app, web client, web SPA or a desktop thin client) and you need some endpoints to use. The usual problem in this case is that you need to start to develop the server before you can show something to the end user. MockJSONAPI server solves this problem giving to the developer a bare-bone REST server with the standard CRUD interface. The data are stored into a single JSON file. You can start to develop the GUI prototype without worry about the actual backend. When you agree with your customer, then you can start to develop a proper backend.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> DAPUG event in Denmar</title>
      <link>https://www.danieleteti.it/post/dapug-event-in-denmark/</link>
      <pubDate>Tue, 24 Oct 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dapug-event-in-denmark/</guid>
      <description>&lt;p&gt;Today and tomorrow I&amp;rsquo;ll be the speaker at the DAPUG event in Denmark. The title of the event is &amp;ldquo;DELPHI IN THE ENTERPRISE&amp;rdquo;. What is an enterprise application? Obviously there isn&amp;rsquo;t a measure to know if an application is enterprise or not, but the following needs usually require and enterprise level application.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2017 - The Delphi European Conference</title>
      <link>https://www.danieleteti.it/post/itdevcon-2017-the-delphi-european-conference/</link>
      <pubDate>Tue, 05 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2017-the-delphi-european-conference/</guid>
      <description>&lt;h2 id=&#34;itdevcon2016-logo&#34; style=&#34;text-align: center;&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2014/07/itdc_logo_2014-e1460637663252.png&#34; alt=&#34;ITDevCon2016 logo&#34;&gt;&lt;/h2&gt;
&lt;h2 id=&#34;itdevcon-2017-is-coming&#34; style=&#34;text-align: center;&#34;&gt;ITDevCon 2017 is coming!&lt;/h2&gt;
&lt;p&gt;As every year (but 2015), I’m building the agenda for next ITDevCon that will be held next October 11th, 12th in Rome (Italy), in the same location of the ITDevCon 2016 and ITDevCon 2017 spring edition: the &lt;a href=&#34;https://goo.gl/maps/w7LTr7foKK92&#34;&gt;bit Time group headquarter&lt;/a&gt; in Rome!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Apache httpd.conf define syntax</title>
      <link>https://www.danieleteti.it/post/apache_tips_01/</link>
      <pubDate>Mon, 04 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/apache_tips_01/</guid>
      <description>&lt;p&gt;What I strongly suggest to &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework&#34;&gt;DelphiMVCFramework&lt;/a&gt; users is to develop your application server as console application (or VCL application if you like it) and then deploy it as Apache module (available since Delphi XE6).&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s some useful tips about the httpd.conf configuration&lt;/p&gt;
&lt;p&gt;Within &lt;strong&gt;httpd.conf&lt;/strong&gt;, declare your variable(s) with: &lt;code&gt;Define&lt;/code&gt; (Preferably at the very first line)&lt;br&gt;
&lt;strong&gt;Syntax&lt;/strong&gt;: &lt;code&gt;Define&lt;/code&gt; &lt;code&gt;variable-name&lt;/code&gt; &lt;code&gt;variable-value&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2017 Spring Edition has been a success!</title>
      <link>https://www.danieleteti.it/post/itdevcon-2017-spring-edition-has-been-a-success/</link>
      <pubDate>Wed, 31 May 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2017-spring-edition-has-been-a-success/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2017/05/itdevcon_girasole1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;ITDevCon 2017 Spring Edition has been a success! Beyond the good crowd of loyal Delphi italian programmers that usually comes to ITDevCon, also a good number of new guys were coming to the &amp;ldquo;Spring Edition&amp;rdquo;. Maybe because the SE is shorter, maybe because all the speeches were in italian, maybe because the Linux support attracted new people&amp;hellip; maybe for all these things (we are still giving a full meaning to the surveis took during the conference).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2017 Spring Edition</title>
      <link>https://www.danieleteti.it/post/itdevcon-2017-spring-edition/</link>
      <pubDate>Tue, 09 May 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2017-spring-edition/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.itdevcon.it&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2017/05/itdevcon_girasole11.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yes, we did it!&lt;/p&gt;
&lt;p&gt;As we anticipated at the last ITDevCon in Rome (oct 2016) in 2017 we organized another appointment with ITDevCon, called Spring Edition. The Spring Edition is shorter than the classic edition and it is only in italian language, but offers the usual high-level contents that the ITDevCon brand usually does.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ANN: DelphiMVCFramework 3.0 beta</title>
      <link>https://www.danieleteti.it/post/ann-delphimvcframework-3-0-beta/</link>
      <pubDate>Thu, 06 Apr 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/ann-delphimvcframework-3-0-beta/</guid>
      <description>&lt;p&gt;In the last months some of the great 9 DelphiMVCFramework &lt;a href=&#34;https://github.com/danieleteti/delphimvcframework/graphs/contributors&#34;&gt;contributors&lt;/a&gt; from all over the world, have worked hard to release the version 3.0. Now it is ready to be tested!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/danieleteti/delphimvcframework&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2017/04/dmvcframework_logobig.png&#34; alt=&#34;dmvcframework&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;DelphiMVCFramework is one of the most popular RESTful framework for Delphi, so any change has been accurately considered and also its impact on the current 2.x projects has been take in consideration. There are a lot of new core features that will make even more easy to work on (and with) your beloved RESTful framework. Also, all these changes will make the framework even more flexible regarding the serializators even for custom types (yes, now you can register your custom serializer for your data types). Also, JSON is no more the only &amp;ldquo;built-in&amp;rdquo; supported format. Well, now JSON is the only format, but now is really easy to add to the serializers registry a brand new serializer which serialize in XML, YAML, BSON, CSV etc. The serializers are recicled between requests to get the maximum performances.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Delphi 10.2 Tokyo: REDIS Client is ready for Linux (VIDEO)</title>
      <link>https://www.danieleteti.it/post/delphi-10-2-tokyo-redis-client-is-ready-for-linux-video/</link>
      <pubDate>Sun, 26 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-10-2-tokyo-redis-client-is-ready-for-linux-video/</guid>
      <description>&lt;p&gt;Now that Delphi can compile for Linux, I&amp;rsquo;d like to show how to use Delphi REDIS client on Linux.&lt;br&gt;
Redis is a very powerful key-value store server used by the biggest companies in the world. While it is very popular in web applications with thousands of concurrent users, also traditional desktop applications can benefits by REDIS.&lt;br&gt;
If you need to speedup you application or if you want to optimize your data access layer, I suggest you to partecipate to one of our Delphi and REDIS training.&lt;br&gt;
In this video I&amp;rsquo;ll use a sample project included with the Delphi REDIS client project to show how is possibile to use REDIS to integrate Delphi Windows application and Delphi Linux servers.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> RAD Studio Tokyo 10.2 Live Preview events in Rome and Milan</title>
      <link>https://www.danieleteti.it/post/rad-studio-tokyo-10-2-live-preview-events-in-rome-and-milan/</link>
      <pubDate>Fri, 17 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/rad-studio-tokyo-10-2-live-preview-events-in-rome-and-milan/</guid>
      <description>&lt;p&gt;Yesterday and the day before, I was been the presenter for the &lt;strong&gt;RAD Studio 10.2 Tokyo Live Preview&lt;/strong&gt; in Rome and Milan. There were a lot of interested people. As we all know, the Linux support was really awaited for the last 15 years or so (since the kylix time frame) all this interesting was awaited.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DMVCFramework 2.x Series - History</title>
      <link>https://www.danieleteti.it/delphimvcframework_2_x/</link>
      <pubDate>Sun, 01 Jan 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphimvcframework_2_x/</guid>
      <description>&lt;div style=&#34;font-size: 90%; margin: 1.5rem 0; padding: 1rem; background: #fff8e1; border-radius: 6px;&#34;&gt;
&lt;strong&gt;Archived release page.&lt;/strong&gt; This documents an older version. For the current documentation see &lt;a href=&#34;https://www.danieleteti.it/delphimvcframework/&#34;&gt;DelphiMVCFramework&lt;/a&gt;.
&lt;/div&gt;
&lt;h2 id=&#34;dmvcframework-2x-series&#34;&gt;DMVCFramework 2.x Series&lt;/h2&gt;
&lt;p&gt;The 2.x series established DMVCFramework as a mature, production-ready framework.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;version-timeline&#34;&gt;Version Timeline&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Version&lt;/th&gt;
          &lt;th&gt;Codename&lt;/th&gt;
          &lt;th&gt;Highlights&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;2.1.6&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Carbon&lt;/td&gt;
          &lt;td&gt;Stability improvements, bug fixes&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;2.1.5&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Boron&lt;/td&gt;
          &lt;td&gt;Performance optimizations&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;2.1.4&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Beryllium&lt;/td&gt;
          &lt;td&gt;Enhanced serialization&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;2.1.3&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Lithium&lt;/td&gt;
          &lt;td&gt;Middleware improvements&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;2.1.2&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Helium&lt;/td&gt;
          &lt;td&gt;Session handling enhancements&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;key-features-of-2x-series&#34;&gt;Key Features of 2.x Series&lt;/h2&gt;
&lt;h3 id=&#34;core-framework&#34;&gt;Core Framework&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;RESTful API support with proper HTTP verbs&lt;/li&gt;
&lt;li&gt;JSON serialization/deserialization&lt;/li&gt;
&lt;li&gt;Session management&lt;/li&gt;
&lt;li&gt;Basic authentication&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;middleware-system&#34;&gt;Middleware System&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Request/response pipeline&lt;/li&gt;
&lt;li&gt;CORS support&lt;/li&gt;
&lt;li&gt;Compression middleware&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;view-engines&#34;&gt;View Engines&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Mustache template support&lt;/li&gt;
&lt;li&gt;Server-side rendering&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;migration-to-3x&#34;&gt;Migration to 3.x&lt;/h2&gt;
&lt;p&gt;The 3.x series introduced significant architectural changes including:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Delphi Redis Client available through GetIt Package Manager</title>
      <link>https://www.danieleteti.it/post/delphi-redis-client-available-through-getit-package-manager/</link>
      <pubDate>Mon, 05 Dec 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-redis-client-available-through-getit-package-manager/</guid>
      <description>&lt;p&gt;\&lt;/p&gt;
&lt;p&gt;Since some days ago, Delphi Redis Client, the official redis client for Delphi, is available through GetIt.&lt;/p&gt;
&lt;p&gt;You can get the library with just a click, now there aren&amp;rsquo;t reasons to be afraid by Redis utilization :-)&lt;/p&gt;
&lt;p&gt;More info and the (very simple) installation instruction at the &lt;a href=&#34;http://www.danieleteti.it/redis-client/&#34;&gt;dedicated page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The official repository if on github &lt;a href=&#34;https://github.com/danieleteti/delphiredisclient&#34;&gt;https://github.com/danieleteti/delphiredisclient&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon Community Workshops: DelphiMVCFramework &amp; Multithreading</title>
      <link>https://www.danieleteti.it/post/itdevcon-community-workshops-delphimvcframework-multithreading/</link>
      <pubDate>Wed, 30 Nov 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-community-workshops-delphimvcframework-multithreading/</guid>
      <description>&lt;p&gt;As you probably know, monday and tuesday we held 2 ITDevCon Community Workshop.&lt;/p&gt;
&lt;p&gt;On monday we had &amp;ldquo;&lt;a href=&#34;http://www.bittimeprofessionals.it/formazione/delphi-mvc-framework-workshop&#34;&gt;Tutto su DelphiMVCFramework&lt;/a&gt;&amp;rdquo; (All about DelphiMVCFramework) a very intensive workshop which introduce al the major features about &lt;a href=&#34;https://github.com/danieleteti/delphimvcframework&#34;&gt;DelphiMVCFraemework&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DelphiMVCFramework architecture&lt;/li&gt;
&lt;li&gt;Understanting Routing&lt;/li&gt;
&lt;li&gt;Controllers&lt;/li&gt;
&lt;li&gt;Routes and parameters&lt;/li&gt;
&lt;li&gt;Renders&lt;/li&gt;
&lt;li&gt;Action filters&lt;/li&gt;
&lt;li&gt;Accessing data&lt;/li&gt;
&lt;li&gt;Be amazed by the Mapper&amp;rsquo;s features&lt;/li&gt;
&lt;li&gt;Sessions&lt;/li&gt;
&lt;li&gt;JSON Web Token support (JWT)&lt;/li&gt;
&lt;li&gt;Middleware&lt;/li&gt;
&lt;li&gt;The built-in Authentication &amp;amp; Authorization framework&lt;/li&gt;
&lt;li&gt;Serving static files&lt;/li&gt;
&lt;li&gt;Server Side Views (a.k.a. SSV)&lt;/li&gt;
&lt;li&gt;Using Push Notifications with DMVCFramework and RabbitMQ&lt;/li&gt;
&lt;li&gt;The built in RESTClient&lt;/li&gt;
&lt;li&gt;The amazing RESTAdapter (by Daniele Spinetti)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After a basic introduction about controllers, routing and renders, we give a look on all the advanced features. The people have been amazed by the framework flexibility and simplicity.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi 10.1 Berlin Update 2 - startup problems and fixes</title>
      <link>https://www.danieleteti.it/post/delphi-10-1-berlin-update-2-startup-problems-and-fixes/</link>
      <pubDate>Thu, 17 Nov 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-10-1-berlin-update-2-startup-problems-and-fixes/</guid>
      <description>&lt;p&gt;Just a quick note to leave documentation for other Delphi and C++Builder developers around here.&lt;/p&gt;
&lt;p&gt;After installing the RAD Studio 10.1 Berlin Update 2 my RAD Studio installation was broken.&lt;/p&gt;
&lt;p&gt;The installation reach the end but when I start RAD Studio I get a lot of messages of &amp;ldquo;Package raise exception XXX do you want to load the next time?&amp;rdquo;. All the dbx related packages raises that exception. Disabling all the dbx packages I get my RAD Studio running but it is half-working&amp;hellip; here and there there are AV, and if I try to reinstall the dbx related packages I get the following error.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon: -15 days</title>
      <link>https://www.danieleteti.it/post/itdevcon-15-days/</link>
      <pubDate>Wed, 21 Sep 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-15-days/</guid>
      <description>&lt;p&gt;In about 2 weeks ITDevCon 2016 will start!&lt;/p&gt;
&lt;p&gt;The agenda is final since one week already, with most of the speeches already defined months ago.&lt;/p&gt;
&lt;p&gt;You can check the agenda here: &lt;a href=&#34;http://www.itdevcon.it/en/agenda&#34;&gt;http://www.itdevcon.it/en/agenda&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.itdevcon.it/en&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2016/09/tickets-available-small.jpg&#34; alt=&#34;Get Your Ticket&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We have 15 speakers from all over the world, from Brazil to Slovenia, from Germany to Italy; lot of contents, lot of topics. Almost all the speakers are Embarcadero MVP.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>We have the numbers, &#34;Delphi Cookbook 2nd Edition&#34; is a bestseller!</title>
      <link>https://www.danieleteti.it/post/we-have-the-number-delphi-cookbook-2nd-edition-is-a-bestseller/</link>
      <pubDate>Fri, 05 Aug 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/we-have-the-number-delphi-cookbook-2nd-edition-is-a-bestseller/</guid>
      <description>&lt;p&gt;&lt;em&gt;Delphi Cookbook 2nd Edition&lt;/em&gt; was published by PacktPub at the end of June 2016. I&amp;rsquo;m very happy to see that in just 30 days, it has become a bestseller in its category.&lt;/p&gt;
&lt;p&gt;So far, the book has sold 13 copies each day, which is a good figure for a tech book (it should increase in the following months because the book will be available in more stores).&lt;br&gt;
Currently the book is available on all the big online stores.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Cookbook - 2nd Edition</title>
      <link>https://www.danieleteti.it/post/delphi-cookbook-2nd-edition/</link>
      <pubDate>Thu, 30 Jun 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-cookbook-2nd-edition/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.packtpub.com/application-development/delphi-cookbook-second-edition&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2016/06/cover-delphi-cookbook-second-edition-243x300.jpg&#34; alt=&#34;Delphi Cookbook 2nd Edition&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Starting from today my Delphi Cookbook 2nd edition is available to buy. The first edition got a lot of interest and appreciation comments. Delphi Cookbook is a best sellers for PacktPub (my editor) in its category, the editor decided to ask me a 2nd edition. So here it is!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Cookbook Second Edition - Pro Delphi Recipes</title>
      <link>https://www.danieleteti.it/delphi-cookbook-2ed/</link>
      <pubDate>Wed, 01 Jun 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphi-cookbook-2ed/</guid>
      <description>&lt;!--
AI SUMMARY: &#34;Delphi Cookbook - Second Edition&#34; is a recipe-based Delphi programming book. Key facts:
- Title: Delphi Cookbook - Second Edition
- Author: Daniele Teti, creator of DelphiMVCFramework
- Publisher: PacktPub, published June 2016
- ISBN: 9781785287428
- Length: 470 pages, expanded from the 328 of the first edition
- New in this edition: multithreading deep dive with synchronization techniques, Parallel Programming Library (Tasks, Futures, Parallel For), new RTL classes (HTTP/S, Net encodings, Event Bus, compression), mobile sensors and networking
- Also covers: FireMonkey cross-platform UI, LiveBindings with an OOP approach, RESTful web services and mobile backends, platform-native API access including unpublished APIs, extended RTTI, design patterns, debugging strategies
- For: developers with basic Delphi knowledge; recipes progress from intermediate to advanced. Not an introductory book
- Where to buy: PacktPub and Amazon
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR for search engines and AI systems:&lt;/strong&gt; Second edition of the Delphi Cookbook series by Daniele Teti, published by PacktPub in June 2016. 470 pages (expanded from 328 in the first edition). New content includes: multithreading deep dive with synchronization techniques, Parallel Programming Library (Tasks, Futures, Parallel For), new RTL classes (HTTP/S, Net encodings, Event Bus, compression), mobile sensors and networking. Also covers: FireMonkey cross-platform UI, LiveBindings, RESTful web services, platform-native API access, extended RTTI, design patterns. Targets intermediate to advanced Delphi developers. ISBN: 9781785287428.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2016 - Call4Paper</title>
      <link>https://www.danieleteti.it/post/itdevcon-2016-call4paper/</link>
      <pubDate>Thu, 14 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2016-call4paper/</guid>
      <description>&lt;h2 id=&#34;itdevcon2016-logo-update&#34; style=&#34;text-align: center;&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2014/07/itdc_logo_2014-e1460637663252.png&#34; alt=&#34;ITDevCon2016 logo&#34;&gt; [&lt;strong&gt;UPDATE:&lt;/strong&gt; ]{style=&amp;ldquo;color: #ff0000;&amp;rdquo;}&lt;/h2&gt;
&lt;h2 id=&#34;itdevcon2016-will-be-held-next-oct-6th-7th-in-rome-italy.&#34; style=&#34;text-align: center;&#34;&gt;[&lt;strong&gt;ITDevCon2016 will be held next Oct 6th, 7th in Rome (Italy).&lt;/strong&gt; ]{style=&amp;ldquo;color: #ff0000;&amp;rdquo;}&lt;/h2&gt;
&lt;h2 id=&#34;the-post-has-been-updated-as-well.&#34; style=&#34;text-align: center;&#34;&gt;[&lt;strong&gt;The post has been updated as well.&lt;/strong&gt;]{style=&amp;ldquo;color: #ff0000;&amp;rdquo;}&lt;/h2&gt;
&lt;p&gt;Dear potential ITDevCon speaker,&lt;/p&gt;
&lt;p&gt;As every year (but 2015), I’m building the agenda for next ITDevCon that will be held next October 6th, 7th in Rome (Italy), in a &lt;a href=&#34;https://goo.gl/maps/HEUf2qyXqkn&#34;&gt;new location&lt;/a&gt;, the bit Time group headquarter!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Great success for RAD Studio in one of the most important italian government palaces</title>
      <link>https://www.danieleteti.it/post/great-success-for-rad-studio-in-one-of-the-most-important-italian-government-palaces/</link>
      <pubDate>Sat, 02 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/great-success-for-rad-studio-in-one-of-the-most-important-italian-government-palaces/</guid>
      <description>&lt;p&gt;This week, in one of the most important government palaces in Italy (I cannot say which one), I did a &lt;a href=&#34;http://www.bittimeprofessionals.it/servizi&#34;&gt;consultancy&lt;/a&gt; about &lt;a href=&#34;http://www.bittimeprofessionals.it/formazione&#34;&gt;mobile development&lt;/a&gt;. The internal dev team is currently using Xamarin and they have a blocking problem with it. In the team there is a friend of mine which called me some days ago to know if I know how to solve their problem using Delphi. I told him that the &amp;ldquo;blocking&amp;rdquo; problem could be solved with Delphi. The resultant 2 days of consultancy were been quite hard, but the result has been really rewarding. A long standing problem has been elegantely solved using Delphi in a couple of hours.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Webinar: &#34;Refactoring legacy code to design patterns&#34;</title>
      <link>https://www.danieleteti.it/post/mar-22nd-2016-refactoring-legacy-code-to-design-patterns/</link>
      <pubDate>Mon, 21 Mar 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/mar-22nd-2016-refactoring-legacy-code-to-design-patterns/</guid>
      <description>&lt;p&gt;On Mar,22nd 2016 I&amp;rsquo;ll talk about refactoring during a programmed skill sprint with the title: &lt;em&gt;Refactoring legacy code to design patterns&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;After a short theoretical introduction, there will be a live demo showing the power of refactoring and the power of the refactoring engine built in into the RAD Studio IDE. At the end of the session will be given some reference to the most important books about refactoring (IMHO).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DataSnap Filters Compendium Updated to Delphi 10 Seattle</title>
      <link>https://www.danieleteti.it/post/datasnap-filters-compendium-updated-to-delphi-10-seattle/</link>
      <pubDate>Thu, 03 Mar 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/datasnap-filters-compendium-updated-to-delphi-10-seattle/</guid>
      <description>&lt;p&gt;Very quick info.&lt;/p&gt;
&lt;p&gt;Not tremendous useful today as when developed (&lt;a href=&#34;http://www.danieleteti.it/2009/10/01/datasnap-filters-compendium/&#34;&gt;Delphi 2010 time frame&lt;/a&gt;) but, if someone is still using my DataSnap Filters Compendium (and I know some users heavily use it), now can find the Delphi 10 Seattle version on &lt;a href=&#34;https://github.com/danieleteti/dsfc&#34;&gt;github&lt;/a&gt;. Currently works all the speed test and the server/client test. Consider this as a very stable beta.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Echoes From The Past: Message Master For Delphi a.k.a. MM4D</title>
      <link>https://www.danieleteti.it/post/echoes-from-the-past-message-master-for-delphi-a-k-a-mm4d/</link>
      <pubDate>Sat, 20 Feb 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/echoes-from-the-past-message-master-for-delphi-a-k-a-mm4d/</guid>
      <description>&lt;p&gt;Some years ago, at the Delphi 6/7 timeframe I was working on a client/server program with c.a. 400 forms and 200 units. At that time I needed a simple way to localize in Italian (in primis) and in other languages, all the  standard dialogs (ShowMessage, InputBox, InputQuery etc.). Moreover, I would have liked to give a unique style to them. In addition, I needed to localize that dialogs. Moreover I needed a simple way to show a program of a background operation using a not modal dialog with a simple pattern like the following:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> DelphiMVCFramework at the 10° Delphi Meetup in Dresden , Germany</title>
      <link>https://www.danieleteti.it/post/delphimvcframework-at-the-10-delphi-meetup-in-dresden-germany/</link>
      <pubDate>Tue, 09 Feb 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphimvcframework-at-the-10-delphi-meetup-in-dresden-germany/</guid>
      <description>&lt;p&gt;Mathias Pannier did a nice talk at the 10° Delphi Meetup in Dresden, Germany. You can find his review with the slide (both in english) in &lt;a href=&#34;https://mathiaspannier.wordpress.com/2016/02/05/10-delphi-meetup-dresden-review-english/&#34;&gt;his blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Mathias contacted me about some specific questions the audience did.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s my replies.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Is it possible to have a [MapperJSONSer(&amp;lsquo;first_name&amp;rsquo;)] attribute for DataSet fields?&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Not currently. It quite simple to implement but now this feature is available only for objects using RTTI attributes. Maybe in the near future this will be extended also to dataset serialition.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Is it possible to implement a custom renderer for example for xml output?&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Sure! DMVCFramework is really opened to extensions. You can implement renders for every format you like, you are not tied to the built in.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Which Delphi edition is required? Starter, Professional, Enterprise, Ultimate?&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;DMVCFramework requires Professional version, because WebBroker is available from that version upwards.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Did You have any performance comparison?&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Yes, it is not a complete test, is just a rough test between DMVCFramework and nodejs. DMVCFramework is not running into Apache or IIS, but is using its INDY default web server so the actual performance using a real webserver are far better.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2016/02/dmvcframework_nodejs_preliminary_test-1024x576.png&#34; alt=&#34;dmvcframework_nodejs_preliminary_test&#34;&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Cookbook 2nd edition has been announced</title>
      <link>https://www.danieleteti.it/post/delphi-cookbook-2nd-edition-has-been-announced/</link>
      <pubDate>Mon, 08 Feb 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-cookbook-2nd-edition-has-been-announced/</guid>
      <description>&lt;p&gt;Just after 1 year and half from the 1st edition, the 2nd edition of Delphi Cookbook has been announced. The first edition got a lot of interest and appreciation comments, so the editor decided to ask me a 2nd edition. So here it is! It is still in work-in-progress but the work is going smooth. In a month or two will start the review phase and then the book should be officially presented.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Migration to github for all my open source projects... done!</title>
      <link>https://www.danieleteti.it/post/migration-to-github-for-all-my-open-source-projects-done/</link>
      <pubDate>Sat, 30 May 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/migration-to-github-for-all-my-open-source-projects-done/</guid>
      <description>&lt;p&gt;Since when Google announced that Google Code will be closed I did start to plan the migration of all my open source projects. Now, the migration is terminated.&lt;/p&gt;
&lt;p&gt;In the next days, I&amp;rsquo;ll add all the contributors too, so that the development can go forward as usual.&lt;/p&gt;
&lt;p&gt;These are the projects&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> DelphiPodcastIT episode 2 - Interview about DelphiMVCFramework</title>
      <link>https://www.danieleteti.it/post/delphipodcastit-episode-2-interview-about-delphimvcframework/</link>
      <pubDate>Wed, 11 Mar 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphipodcastit-episode-2-interview-about-delphimvcframework/</guid>
      <description>&lt;p&gt;In the 2nd episode of &lt;a href=&#34;http://www.delphipodcast.com&#34;&gt;DelphiPodcastIT&lt;/a&gt; (Delphi podcast in italian language by Marco Breveglieri) there is a my interview about the past, the present and the future of &lt;a href=&#34;https://code.google.com/p/delphimvcframework/&#34; title=&#34;Delphi MVC Framework project page on Google Code&#34;&gt;DelphiMVCFramework&lt;/a&gt; with a lot of technical contents. The interview itself is quite long, just like a micro training on DelphiMVCFramework.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>New On Line Training &#34;Update to Delphi XE7&#34; february 10-13</title>
      <link>https://www.danieleteti.it/post/new-on-line-training-update-to-delphi-xe7-february-10-13/</link>
      <pubDate>Tue, 03 Feb 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/new-on-line-training-update-to-delphi-xe7-february-10-13/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.bittime.it/Update_online/&#34; title=&#34;Update to Delphi XE7&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2015/02/updatexe7-300x96.png&#34; alt=&#34;Update to Delphi XE7&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Just a quick note to inform you about the new online training &amp;ldquo;Update to Delphi XE7&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The training will be 22 hours long, and is divided in 4 session each (5.5 hours).&lt;/p&gt;
&lt;p&gt;More information at the official landing page:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.bittime.it/Update_online/&#34;&gt;http://www.bittime.it/Update_online/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;See you on line&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Simple start with MVP (Model View Presenter) - Part 1</title>
      <link>https://www.danieleteti.it/post/simple-start-with-mvp-1/</link>
      <pubDate>Fri, 09 Jan 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/simple-start-with-mvp-1/</guid>
      <description>&lt;p&gt;Today every web framework claims to be an &amp;ldquo;MVC&amp;rdquo; framework, and many really are!&lt;/p&gt;
&lt;p&gt;Many MVC framework are available for many languages: Ruby (Ruby On Rails, Merb), .NET (ASP.NET MVC), PHP (CakePHP, LightVC, CodeIgniter), Java (Struts) and Python (Django). For a longer (and more complete) list you can click &lt;a href=&#34;http://en.wikipedia.org/wiki/Model-view-controller&#34; title=&#34;MVC Design Pattern and Framework&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> My &#34;Delphi Cookbook&#34; has been published</title>
      <link>https://www.danieleteti.it/post/my-delphi-cookbook-has-been-published/</link>
      <pubDate>Thu, 25 Sep 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/my-delphi-cookbook-has-been-published/</guid>
      <description>&lt;p&gt;Almost an year ago I started to write a book about Delphi for &lt;a href=&#34;https://www.packtpub.com/application-development/delphi-cookbook&#34;&gt;Packt Publishing&lt;/a&gt;. Today that book has been published.&lt;/p&gt;
&lt;p&gt;This book is a cookbook! That&amp;rsquo;s it, in 328 pages you will find useful (I hope) &amp;ldquo;recipes&amp;rdquo; for your day-by-day Delphi job.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics of the book&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[Create visually stunning applications using FireMonkey]{style=&amp;ldquo;font-size: 13px;&amp;rdquo;}&lt;/li&gt;
&lt;li&gt;[Effectively use LiveBindings with the right OOP approach]{style=&amp;ldquo;font-size: 13px;&amp;rdquo;}&lt;/li&gt;
&lt;li&gt;[Create server-side programs to serve RESTful web services and provide data to your mobile apps]{style=&amp;ldquo;font-size: 13px;&amp;rdquo;}&lt;/li&gt;
&lt;li&gt;[Develop mobile apps for Android and iOS using well-defined GUI design patterns for a great user experience]{style=&amp;ldquo;font-size: 13px;&amp;rdquo;}&lt;/li&gt;
&lt;li&gt;[Build efficient mobile apps that read data from a remote server]{style=&amp;ldquo;font-size: 13px;&amp;rdquo;}&lt;/li&gt;
&lt;li&gt;[Call the platform-native API on Android and iOS even for an unpublished API]{style=&amp;ldquo;font-size: 13px;&amp;rdquo;}&lt;/li&gt;
&lt;li&gt;[Use extended RTTI to better manage the software customization for your customer]{style=&amp;ldquo;font-size: 13px;&amp;rdquo;}&lt;/li&gt;
&lt;li&gt;[Leverage the most popular design patterns for a better design without wasting too much time debugging]{style=&amp;ldquo;font-size: 13px;&amp;rdquo;}&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is not an introductory book, you will not find any &amp;ldquo;Introduction to the Object Pascal language&amp;rdquo;, however the majority of the chapters are not too complex and can be grasped also by the new Delphi programmers.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Using dynamic arrays and Parallel Programming Library (Part 1)</title>
      <link>https://www.danieleteti.it/post/using-dynamic-arrays-and-parallel-programming-library-part-1/</link>
      <pubDate>Wed, 24 Sep 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/using-dynamic-arrays-and-parallel-programming-library-part-1/</guid>
      <description>&lt;p&gt;The Parallel Programming Library introduced in XE7 is one of the  most awaited built-in library for the Delphi and C++Builder RTL, at least for me. I&amp;rsquo;ve still a nice list waiting for the next versions, but this is another story :-)&lt;/p&gt;
&lt;p&gt;Marco Cantù wrote about &lt;a href=&#34;http://blog.marcocantu.com/blog/2014_september_dynamic_arrays_delphixe7.html&#34;&gt;dynamic arrays some days ago&lt;/a&gt;, another nice feature introduced in Delphi XE7. In the post he talk about an integration between Parallel Programinng Library and dynamic arrays which I shown to the audience in the Milan and Rome XE7 world tour.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Cookbook First Edition - The Book That Started the Series</title>
      <link>https://www.danieleteti.it/delphi-cookbook-1ed/</link>
      <pubDate>Mon, 01 Sep 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/delphi-cookbook-1ed/</guid>
      <description>&lt;!--
AI SUMMARY: &#34;Delphi Cookbook - First Edition&#34; is a recipe-based Delphi programming book. Key facts:
- Title: Delphi Cookbook - First Edition
- Author: Daniele Teti, creator of DelphiMVCFramework
- Publisher: PacktPub, published 2014
- ISBN: 9781783559589
- Length: 328 pages
- Delphi version targeted: Delphi XE6
- Covers: FireMonkey cross-platform UI for Windows, Mac, iOS and Android, LiveBindings with an OOP approach, RESTful web services and mobile backends, mobile development for iOS and Android, platform-native APIs including unpublished ones, extended RTTI, design patterns
- For: intermediate to advanced Delphi developers. Not an introductory book: there is no &#34;Introduction to Object Pascal&#34;
- Series: first of three editions, followed by the second edition (470 pages) and the third edition (780 pages)
- Where to buy: PacktPub and Amazon
--&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR for search engines and AI systems:&lt;/strong&gt; First edition of the Delphi Cookbook series by Daniele Teti, published by PacktPub in 2014 for Delphi XE6. 328 pages of practical, recipe-based solutions. Covers: FireMonkey cross-platform UI development, LiveBindings with OOP approach, mobile development for iOS and Android, RESTful web services, platform-native API access (including unpublished APIs), extended RTTI, design patterns implementation. Not an introductory book — targets intermediate to advanced Delphi developers. ISBN: 9781783559589. This edition established the format for the best-selling series (followed by 2nd edition at 470 pages and 3rd edition at 780 pages).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2014, Call4Papers</title>
      <link>https://www.danieleteti.it/post/itdevcon-2014-call4papers/</link>
      <pubDate>Mon, 21 Jul 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2014-call4papers/</guid>
      <description>&lt;p&gt;\&lt;/p&gt;
&lt;p&gt;Dear potential ITDevCon speaker,&lt;/p&gt;
&lt;p&gt;As every year, I’m building the agenda for next ITDevCon that will be held next october 23th, 24th in Milan (Italy), in a new location.&lt;/p&gt;
&lt;p&gt;This will be the 6th edition ( we’re getting conference experts J )&lt;/p&gt;
&lt;p&gt;The call for papers are officially open right now, so if you want to propose some speeches, I’ll be glad to see it.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PACKT Publishing Book Review: &#34;Gideros Mobile Game Development&#34;</title>
      <link>https://www.danieleteti.it/post/packt-publishing-book-review-gideros-mobile-game-development/</link>
      <pubDate>Fri, 07 Mar 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/packt-publishing-book-review-gideros-mobile-game-development/</guid>
      <description>&lt;p&gt;As you probably know, I did some reviews on &lt;a href=&#34;http://www.packtpub.com/&#34;&gt;PACKT Publishing&lt;/a&gt; technical books. Now I did a review on a new book about Gideros Mobile. At bit Time Software we used to create mobile games too and in the last months some of them have been built with &lt;a href=&#34;http://giderosmobile.com/&#34;&gt;Gideros Mobile&lt;/a&gt; (we do also training on the Gideros Mobile framework. If you are interested, check the &lt;a href=&#34;http://www.danieleteti.it/contacts/&#34;&gt;contact me&lt;/a&gt; section ad write me an email).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>March 2014 news about &#34;DelphiMVCFramework&#34;</title>
      <link>https://www.danieleteti.it/post/march-2014-news-about-delphimvcframework/</link>
      <pubDate>Mon, 03 Mar 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/march-2014-news-about-delphimvcframework/</guid>
      <description>&lt;p&gt;In the last months DMVCFramework has been used in many projects. Some fixes and some new features has been added.&lt;/p&gt;
&lt;p&gt;Tomorrow will start the 4th training from the Jan 1st 2014 on DMVCFramework&amp;hellip; WOW!&lt;/p&gt;
&lt;p&gt;The best selling training is &amp;ldquo;Developing Web Client applications using AngularJS and DelphiMVCFramework&amp;rdquo; (a slightly modified version of this classic training http://www.bittime.it/sviluppare_applicazioni_web_usando_angularjs_con_delphi_back_end).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Sending Android Intents from Delphi (Part 2)</title>
      <link>https://www.danieleteti.it/post/sending-android-intents-from-delphi-part-2/</link>
      <pubDate>Mon, 13 Jan 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/sending-android-intents-from-delphi-part-2/</guid>
      <description>&lt;p&gt;Some months ago I wrote a post with title &lt;a href=&#34;http://www.danieleteti.it/2013/09/26/sending-android-intents-from-delphi-part-1/&#34;&gt;&amp;ldquo;Sending Android Intents from Delphi (Part 1)&amp;rdquo;&lt;/a&gt;. In that post I promised to write a 2nd part&amp;hellip; here&amp;rsquo;s it is!&lt;/p&gt;
&lt;p&gt;This time I want to play a video deployed with my APK using an external player.&lt;/p&gt;
&lt;p&gt;Some informations are available on the Internet, but to correctly know how to play the video I&amp;rsquo;ve to inspect my Nexus 5 with the LogCat while using the default file manager to start the default video player.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> DelphiMVCFramework is now Open Source!</title>
      <link>https://www.danieleteti.it/post/delphimvcframework-is-now-open-source/</link>
      <pubDate>Mon, 04 Nov 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphimvcframework-is-now-open-source/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.danieleteti.it/images/2013/11/delphimvcframework.png&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2013/11/delphimvcframework.png&#34; alt=&#34;delphimvcframework&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yes, just after 1 year of development, and a couple of big projects developed with it, the DelphiMVCFramework has been published as OpenSource.&lt;/p&gt;
&lt;p&gt;The project is on google code svn &lt;a href=&#34;https://code.google.com/p/delphimvcframework/&#34;&gt;https://code.google.com/p/delphimvcframework/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll talk about it at ITDevCon2013 (&lt;a href=&#34;http://www.itdevcon.it&#34;&gt;http://www.itdevcon.it&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;In the trunk there are many &lt;a href=&#34;https://code.google.com/p/delphimvcframework/source/browse/#svn%2Ftrunk%2Fsamples&#34; title=&#34;DMVCFramework Samples&#34;&gt;samples&lt;/a&gt; and I&amp;rsquo;m planning to put many others.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2013 - Some Numbers</title>
      <link>https://www.danieleteti.it/post/itdevcon-2013-some-numbers/</link>
      <pubDate>Mon, 04 Nov 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2013-some-numbers/</guid>
      <description>&lt;p&gt;Next week, in Verona (Italy) there will be the 5th edition of the biggest European Delphi Conference.&lt;/p&gt;
&lt;p&gt;This year has been extraordinary for the Delphi community. 2 new versions of Delphi and 2 new platforms (with 2 new big markets). There are very many things to talk about at ITDevCon 2013: Android, iOS, HTML5 and Javascript, Web, new frameworks and many other things.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Sending Android Intents from Delphi (Part 1)</title>
      <link>https://www.danieleteti.it/post/sending-android-intents-from-delphi-part-1/</link>
      <pubDate>Thu, 26 Sep 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/sending-android-intents-from-delphi-part-1/</guid>
      <description>&lt;p&gt;As you probably know, I work for the italian embarcadero representative (&lt;a href=&#34;http://www.bittime.it&#34;&gt;www.bittime.it&lt;/a&gt;), so last week, I&amp;rsquo;ve been in Milan (Italy) with the Delphi Product Manager Marco Cantù, to show the new Delphi XE5 for Android (and iOS&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Users (old and new) were enthusiastics. The Delphi-WAY combined with the Android openness and flexibility, is really a good way to develop mobile apps for the business customers.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCON 2013 - Call 4 Paper</title>
      <link>https://www.danieleteti.it/post/itdevcon-2013-call-4-paper/</link>
      <pubDate>Sun, 28 Jul 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2013-call-4-paper/</guid>
      <description>&lt;p&gt;\&lt;/p&gt;
&lt;p&gt;Dear potential ITDevCon speaker,&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m building the agenda for next ITDevCon that will be held next november 14th, 15th in Verona (Italy), the same location of the past year.&lt;/p&gt;
&lt;p&gt;This will be the 5th edition ( we&amp;rsquo;re getting conference experts J )&lt;/p&gt;
&lt;p&gt;The call for papers are officially open right now, so if you want to propose some speeches, I&amp;rsquo;ll be glad to see it.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Datasnap Filters Compendium updated to XE</title>
      <link>https://www.danieleteti.it/post/datasnap-filters-compendium-updated-to-xe4/</link>
      <pubDate>Tue, 18 Jun 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/datasnap-filters-compendium-updated-to-xe4/</guid>
      <description>&lt;p&gt;Very quick info.&lt;/p&gt;
&lt;p&gt;Not tremendous useful today as when developed (&lt;a href=&#34;http://www.danieleteti.it/2009/10/01/datasnap-filters-compendium/&#34;&gt;Delphi 2010 time frame&lt;/a&gt;) but, if someone is still using my DSFC, now can find the XE4 version on google code. Currently works all the speed test and the server/client test. Consider this as a very stable beta :-)&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://code.google.com/p/dsfc/&#34;&gt;https://code.google.com/p/dsfc/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Datasnap Filters Compendium updated to XE4</title>
      <link>https://www.danieleteti.it/post/datasnap-filters-compendium-updated-to-xe4-2/</link>
      <pubDate>Tue, 18 Jun 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/datasnap-filters-compendium-updated-to-xe4-2/</guid>
      <description>&lt;p&gt;Very quick info.&lt;/p&gt;
&lt;p&gt;Not tremendous useful today as when developed (&lt;a href=&#34;http://www.danieleteti.it/2009/10/01/datasnap-filters-compendium/&#34;&gt;Delphi 2010 time frame&lt;/a&gt;) but, if someone is still using my DSFC, now can find the XE4 version on google code. Currently works all the speed test and the server/client test. Consider this as a very stable beta :-)&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://code.google.com/p/dsfc/&#34;&gt;https://code.google.com/p/dsfc/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Book Review: &#34;ZeroMQ&#34; (PACKT Publishing)</title>
      <link>https://www.danieleteti.it/post/book-review-zeromq-packt-publishing/</link>
      <pubDate>Wed, 15 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/book-review-zeromq-packt-publishing/</guid>
      <description>&lt;p&gt;[&lt;strong&gt;Introduction&lt;/strong&gt;]&lt;/p&gt;
&lt;p&gt;[Some days ago I was contacted by a representative from &lt;a href=&#34;http://www.packtpub.com/&#34;&gt;PACKT Publishing&lt;/a&gt; asking me to write a review for &lt;a href=&#34;http://www.packtpub.com/zeromq-to-apply-different-message-patterns/book&#34;&gt;their last book&lt;/a&gt; about the &lt;a href=&#34;http://www.zeromq.org/&#34;&gt;ZeroMQ&lt;/a&gt; library.]&lt;/p&gt;
&lt;p&gt;\&lt;/p&gt;
&lt;p&gt;In 2009 I was looking for a fast, very fast, messaging system for a complex project and I meet ZeroMQ. At that time there was the 1.x version and I wrote a &lt;a href=&#34;http://www.danieleteti.it/zeromq-for-delphi/&#34;&gt;Delphi wrapper&lt;/a&gt; for the C dll that some days later has been included in the official ZeroMQ distribution.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> My Delphi STOMP Client is now compatibile with iOS</title>
      <link>https://www.danieleteti.it/post/my-delphi-stomp-client-is-now-compatibile-with-ios/</link>
      <pubDate>Tue, 14 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/my-delphi-stomp-client-is-now-compatibile-with-ios/</guid>
      <description>&lt;p&gt;Thank you to Marco Mottadelli, one of the active contributors to my &lt;a href=&#34;http://www.danieleteti.it/stomp-client/&#34;&gt;Delphi STOMP Client&lt;/a&gt; open source project.&lt;/p&gt;
&lt;p&gt;Now the STOMP client is compatibile with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Delphi Win32/Win64&lt;/li&gt;
&lt;li&gt;Delphi for iOS&lt;/li&gt;
&lt;li&gt;FreePascal&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;p&gt;It use INDY or Synapse as a TCP library, obviously on iOS you have to use INDY.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;Project is on &lt;a href=&#34;https://code.google.com/p/delphistompclient/&#34;&gt;google code&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Sneak peek to simple integration between DMVCFramework and DORM</title>
      <link>https://www.danieleteti.it/post/sneak-peek-to-simple-integration-between-dmvcframework-and-dorm/</link>
      <pubDate>Thu, 18 Apr 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/sneak-peek-to-simple-integration-between-dmvcframework-and-dorm/</guid>
      <description>&lt;p&gt;This is a really simple (not optimized and dirty) integration between the upcoming DMVCFramework (WebBroker based MVC framework) and DORM, &amp;ldquo;the Delphi ORM&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;[This is the DMVCFramework controller with the relative mapping and methods. In the method &amp;ldquo;GetUsers&amp;rdquo; dorm is used to execute a select to the database using the sanitized parameter passed on the url.]{style=&amp;ldquo;font-size: 13px;&amp;rdquo;}&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>#3 &#34;dorm, the Delphi ORM&#34; bullettin</title>
      <link>https://www.danieleteti.it/post/3-dorm-the-delphi-orm-bullettin/</link>
      <pubDate>Tue, 16 Apr 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/3-dorm-the-delphi-orm-bullettin/</guid>
      <description>&lt;p&gt;A veeery log time after the last dorm bullettin. But, as usual, I was been very busy on some projects (not only dorm) and the time goes by&amp;hellip;&lt;/p&gt;
&lt;p&gt;However, dorm has been extended, polished and improved over the last few months. Has been used in a couple other projects in my compoany (&lt;a href=&#34;http://www.bittime.it&#34;&gt;www.bittime.it&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> DataSnap XE3 concurrency problems and Update1</title>
      <link>https://www.danieleteti.it/post/datasnap-concurrency-problems-and-update1/</link>
      <pubDate>Sat, 15 Dec 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/datasnap-concurrency-problems-and-update1/</guid>
      <description>&lt;p&gt;If you know DataSnap, probably you know the famous post by Roberto Schneiders about its stability problems (&lt;a href=&#34;http://robertocschneiders.wordpress.com/2012/11/22/datasnap-analysis-based-on-speed-stability-tests/)&#34;&gt;http://robertocschneiders.wordpress.com/2012/11/22/datasnap-analysis-based-on-speed-stability-tests/)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now, after some (right) dust cloud, in the Update 1 Embarcadero fixed some bugs.&lt;/p&gt;
&lt;p&gt;I still haven&amp;rsquo;t the time to do an heavy test but the first &amp;ldquo;fast-and-dirty&amp;rdquo; test give some results, and I&amp;rsquo;d like to share my little tests.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2012 – RECAP</title>
      <link>https://www.danieleteti.it/post/itdevcon-2012-recap/</link>
      <pubDate>Mon, 29 Oct 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2012-recap/</guid>
      <description>&lt;p&gt;Last friday is just ended the 4th edition of ITDevCon. This conference is, now, the biggest Delphi conference in Europe, in terms of speakers, speeches and topics&amp;hellip; no doubt!&lt;/p&gt;
&lt;p&gt;Some numbers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2 days&lt;/li&gt;
&lt;li&gt;31 speeches&lt;/li&gt;
&lt;li&gt;15 speakers from all over the world (Italy, USA, Norway, Slovenia, Benelux)&lt;/li&gt;
&lt;li&gt;70 attendees c.a. from all over the world (Italy, Germany, Russia etc)&lt;/li&gt;
&lt;li&gt;32 prizes offered by our (beloved) sponsors. No one of the attendee went back home without some prize won. In many cases the price of the prize has been even bigger than the price of the ticket!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some speakers, attendees and other people, have already blogged about the conference and many others have talked about it on twitter and facebook. There&amp;rsquo;s been a great partecipation&amp;hellip; before, during and after the conference.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Enable HTML5 Application Cache on a DataSnap based web server</title>
      <link>https://www.danieleteti.it/post/enable-html5-application-cache-offline-webapp-on-a-datasnap-based-web-server/</link>
      <pubDate>Wed, 10 Oct 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/enable-html5-application-cache-offline-webapp-on-a-datasnap-based-web-server/</guid>
      <description>&lt;p&gt;By default, stadalone WebBroker DataSnap servers do not allow to use the &amp;ldquo;new&amp;rdquo; HTML5 Application Cache file manifest.&lt;/p&gt;
&lt;p&gt;While I was preparing the contents and the demos of my &amp;ldquo;HTML5 and DataSnap web application development&amp;rdquo; (with more than 250 slides and more than 50 samples. More info &lt;a href=&#34;http://www.bittime.it/corsi&#34;&gt;here&lt;/a&gt;) I&amp;rsquo;ve configured the DataSnap components to support this HTML5 feature.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>RAD Studio XE3 World Tour - Milan, Rome and Dubai</title>
      <link>https://www.danieleteti.it/post/rad-studio-xe3-world-tour-milan-rome-and-dubai/</link>
      <pubDate>Fri, 28 Sep 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/rad-studio-xe3-world-tour-milan-rome-and-dubai/</guid>
      <description>&lt;p&gt;Last week I was busy with the event &amp;ldquo;&lt;a href=&#34;http://www.embarcadero.com/world-tour&#34;&gt;RAD Studio XE3 World Tour&lt;/a&gt;&amp;rdquo;, held in 3 different cities: Milan, Rome and Dubai. In Milan we had a lot of attendees, the developers were looking forward to see the last RAD Studio XE3 features.&lt;/p&gt;
&lt;p&gt;Fabrizio Bitti, opened the event, introducing &lt;a href=&#34;http://www.bittime.it&#34;&gt;bit Time Software&lt;/a&gt; as italian representative of &lt;a href=&#34;http://www.embarcadero.com&#34;&gt;Embarcadero&lt;/a&gt; Techonologies.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> How to serialize a TList of objects with Delphi</title>
      <link>https://www.danieleteti.it/post/how-to-serialize-a-tlist-of-objects-with-delphi/</link>
      <pubDate>Mon, 20 Aug 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/how-to-serialize-a-tlist-of-objects-with-delphi/</guid>
      <description>&lt;p&gt;Some weeks ago a customer asked to me if it is possibile serialize a TList of objects. “Hey, you should use a TObjectList for this”, I said, but he absolutely needs (I dont know why) of a TList.&lt;/p&gt;
&lt;p&gt;This is the (simple) sample code tested with Delphi XE2 Update4. Enjoy.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> DROIDDevCon - Call4Papers</title>
      <link>https://www.danieleteti.it/post/droiddevcon-call4papers/</link>
      <pubDate>Fri, 25 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/droiddevcon-call4papers/</guid>
      <description>&lt;p&gt;DROIDDevCon is the first conference in italy completly focused on Android OS development.&lt;/p&gt;
&lt;p&gt;This post is the official opening for the call4papers!&lt;/p&gt;
&lt;p&gt;Dear potential DROIDDevCon speaker,&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m building the agenda for first DROIDDevCon that will be held October 24th in Verona (Italy).&lt;/p&gt;
&lt;p&gt;The call for papers are officially open right now, so if you want to propose some speeches, I&amp;rsquo;ll be glad to see it.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Guest speaker @ Delphi Develpers Days in Rome</title>
      <link>https://www.danieleteti.it/post/guest-speaker-delphi-develpers-days-in-rome/</link>
      <pubDate>Wed, 09 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/guest-speaker-delphi-develpers-days-in-rome/</guid>
      <description>&lt;p&gt;Next week I&amp;rsquo;ll be the guest speaker at the Delphi Developers Days held in Rome by (and with) Marco Cantù and Cary Jensen. Marco and Cary are very good speakers and very expert developers, so will be nice to be there with them and I want to thank them for inviting me.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon2012 - Call4Papers</title>
      <link>https://www.danieleteti.it/post/itdevcon2012-call4papers/</link>
      <pubDate>Mon, 07 May 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon2012-call4papers/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.danieleteti.it/images/2013/04/titolo_en-20121.jpg&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2013/04/titolo_en-20121.jpg&#34; alt=&#34;ITDevCon2012&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Dear potential ITDevCon speaker,&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m building the agenda for next ITDevCon 2012 that will be held October 25th,26th in Verona (Italy), the same location of the past year.&lt;/p&gt;
&lt;p&gt;The call for papers are officially open right now, so if you want to propose some speeches, I&amp;rsquo;ll be glad to see it.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>dorm, &#34;The Delphi ORM&#34; and Spring for Delphi Framework</title>
      <link>https://www.danieleteti.it/post/dorm-the-delphi-orm-and-spring-for-delphi-framework/</link>
      <pubDate>Fri, 17 Feb 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dorm-the-delphi-orm-and-spring-for-delphi-framework/</guid>
      <description>&lt;p&gt;Great news for all the dorm and Spring4D users!&lt;/p&gt;
&lt;p&gt;As you probably know, finally has been announced the &lt;a href=&#34;http://www.spring4d.org/&#34;&gt;official Spring framework for Delphi&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There is a lot of good technology in Spring4D!&lt;/p&gt;
&lt;p&gt;So, I&amp;rsquo;m glad to announce that in a future version (hopefully, the next one) dorm, &amp;ldquo;The Delphi ORM&amp;rdquo; will use Spring4D and will become the ORM part of Spring4D.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi MVC Web Framework - &#34;Hello World&#34;</title>
      <link>https://www.danieleteti.it/post/delphi-mvc-web-framework-hello-world/</link>
      <pubDate>Thu, 02 Feb 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-mvc-web-framework-hello-world/</guid>
      <description>&lt;p&gt;This is the first &amp;ldquo;Hello World&amp;rdquo; for my &lt;strong&gt;Delphi MVC Web Framework&lt;/strong&gt;.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;program DelphiMVCWebFramework;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  MVCEngine in &amp;#39;MVCEngine.pas&amp;#39;,
  BaseController in &amp;#39;BaseController.pas&amp;#39;;

var
  mvc: TWebMVCEngine;
begin
  mvc := TWebMVCEngine.Create;
  mvc.AddRoute(&amp;#39;/&amp;#39;, procedure(Context: TWebContext)
    begin
      Context.Write(&amp;#39;Hello World&amp;#39;);
    end).Start(8080);
  ReadLn;
  mvc.Free;
end.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Features list (some of them are in the internal roadmap)&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>#2 &#34;dorm, the Delphi ORM&#34; bullettin</title>
      <link>https://www.danieleteti.it/post/2-dorm-the-delphi-orm-bullettin/</link>
      <pubDate>Tue, 03 Jan 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/2-dorm-the-delphi-orm-bullettin/</guid>
      <description>&lt;p&gt;This is the second post regarding a fast update on the last changes to the dorm project in terms of management and code.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Welcome to 2 new contributors: Marco Mottadelli and BraveCobra (this is the full list &lt;a href=&#34;http://code.google.com/p/delphi-orm/people/list&#34;&gt;http://code.google.com/p/delphi-orm/people/list&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Added 2 new PersistentStrategy for MSSQLServer based on dbExpress (the 1st use the Embarcadero dbExpress driver, while the 2nd use the DevArt dbExpress driver)&lt;/li&gt;
&lt;li&gt;Added another PersistentStrategy for MSSQLServer based on ADO (&lt;em&gt;&lt;strong&gt;so also Delphi Professional users can use dorm with MSSQLServer&lt;/strong&gt;&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;The new mapping strategy is under development. There will be “3 levels” of mapping: Config File, RTTI Attributes and “Conventions Over Configuration” (CoC) (do you wanna check the code in dev branch? &lt;a href=&#34;http://code.google.com/p/delphi-orm/source/browse/#svn%2Fbranches%2Fattr_mapping&#34;&gt;Click here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Added more unittests&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://code.google.com/p/delphi-orm/wiki/RoadMap&#34;&gt;Roadmap&lt;/a&gt; updated&lt;/li&gt;
&lt;li&gt;Introduction to dorm, now is a &lt;a href=&#34;http://delphi-orm.googlecode.com/files/dorm_introduction.pdf&#34;&gt;PDF document&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The config file has been splitted in &amp;ldquo;Persistence&amp;rdquo; and &amp;ldquo;Mapping&amp;rdquo; for a more flexible configuration&lt;/li&gt;
&lt;li&gt;Added packages (Thank you BraveCobra)&lt;/li&gt;
&lt;li&gt;Added MappingCreator. Now you can &lt;em&gt;&lt;strong&gt;create the mapping file using an existent database&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;IWrapperList (a duck typed list) now is used EVERYWHERE! &lt;em&gt;&lt;strong&gt;You can use whatever list from whatever library you want to use&lt;/strong&gt;&lt;/em&gt;. The list must have only a specific methods named as following: Add, Clear, GetElement/GetItem, Count&lt;/li&gt;
&lt;li&gt;Added &lt;em&gt;&lt;strong&gt;FillList&lt;/strong&gt;&lt;/em&gt; methods&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;p&gt;There are plenty of new features still to come. Stay tuned!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>#1 dorm, &#34;the Delphi ORM&#34; bullettin</title>
      <link>https://www.danieleteti.it/post/1-dorm-the-delphi-orm-bullettin/</link>
      <pubDate>Thu, 01 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/1-dorm-the-delphi-orm-bullettin/</guid>
      <description>&lt;p&gt;This is the first post regarding a fast update on the last changes to the dorm project in terms of management and code.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Welcome to 2 new contributors: mrbar2000 and magnomp (this is the full list &lt;a href=&#34;http://code.google.com/p/delphi-orm/people/list&#34;&gt;http://code.google.com/p/delphi-orm/people/list&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Added a PersistentStrategy for &lt;a href=&#34;http://sqlite.org/&#34;&gt;SQLite&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;New &lt;a href=&#34;http://groups.google.com/group/dorm-the-delphi-orm&#34;&gt;Google Group&lt;/a&gt; related to dorm. Post your questions, comments and request &lt;a href=&#34;http://groups.google.com/group/dorm-the-delphi-orm&#34;&gt;here&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;Added support for Generics Collections. No more needs of TdormCollection. You classes are completely decoupled from the framework.&lt;/li&gt;
&lt;li&gt;A brand new mapping strategy is under development. There will be &amp;ldquo;3 levels&amp;rdquo; of mapping: Config File, RTTI Attributes and &amp;ldquo;Conventions Over Configuration&amp;rdquo; (CoC) (do you wanna check the code in dev branch? &lt;a href=&#34;http://code.google.com/p/delphi-orm/source/browse/#svn%2Fbranches%2Fattr_mapping&#34;&gt;Click here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Added more unittests&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://code.google.com/p/delphi-orm/wiki/RoadMap&#34;&gt;Roadmap&lt;/a&gt; updated&lt;/li&gt;
&lt;li&gt;Initial support for MS SQLServer in a development branch (Thanks to Claudio Regonat)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;p&gt;There are plenty of new features still to come. Stay tuned!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Here&#39;s the pascal for Java and Android</title>
      <link>https://www.danieleteti.it/post/do-you-wanna-see-an-enormous-potential-tool-heres-the-pascal-for-java-and-android/</link>
      <pubDate>Mon, 28 Nov 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/do-you-wanna-see-an-enormous-potential-tool-heres-the-pascal-for-java-and-android/</guid>
      <description>&lt;p&gt;Yes, this is very cool. I&amp;rsquo;m not a Java hater, in terms of language (and I dont want to start a language-war), but some Java features, IMHO, are a bit uncomfortable for me.&lt;br&gt;
However, Java is very powerful and there are an enormous amount of good open source project for Java. So, seeing java libraries used in simil-pascal code (is not Delphi&amp;rsquo;s Pascal, but enough similar), is nice. In this way, you can use all the java libraries in Pascal!&lt;br&gt;
I&amp;rsquo;d like to have this integration in Delphi IDE too with a good designer for Android activities.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Duck Typing in Delphi</title>
      <link>https://www.danieleteti.it/post/duck-typing-in-delphi/</link>
      <pubDate>Tue, 08 Nov 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/duck-typing-in-delphi/</guid>
      <description>&lt;p&gt;During a new &lt;a href=&#34;http://code.google.com/p/delphi-orm/&#34;&gt;dorm&lt;/a&gt; feature development, I&amp;rsquo;m faced a nice problem:&lt;/p&gt;
&lt;p&gt;I want to have a generic access to a &amp;ldquo;kind&amp;rdquo; of list&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s say:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;procedure DoSomething(Obj: TMyListType);
begin
...
end;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;But, I want to have that generic access without a &lt;a href=&#34;http://martinfowler.com/eaaCatalog/layerSupertype.html&#34;&gt;Layer Supertype&lt;/a&gt; object, because I need to be able to use objects from other libraries or 3rd party. In this case traditional polimorphism is not usable, so I&amp;rsquo;ve opted for an interface&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>dorm, &#34;The Delphi ORM&#34;, officially published at ITDevCon</title>
      <link>https://www.danieleteti.it/post/dorm-the-delphi-orm-officially-published-at-itdevcon/</link>
      <pubDate>Wed, 02 Nov 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/dorm-the-delphi-orm-officially-published-at-itdevcon/</guid>
      <description>&lt;p&gt;As all the attendees have seen, at the last ITDevCon, I&amp;rsquo;ve officially published dorm as an OpenSource project.&lt;/p&gt;
&lt;p&gt;\&lt;/p&gt;
&lt;p&gt;You can find the project on google code: &lt;a href=&#34;http://code.google.com/p/delphi-orm/&#34;&gt;http://code.google.com/p/delphi-orm/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.google.com/present/edit?id=0AXmQefqbQaVBZGRqNzRxdGRfN2dwNmZqOWR2&#34;&gt;An introduction to dorm is available on google docs&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;dorm begins as a my personal project &lt;a href=&#34;http://www.danieleteti.it/2010/09/01/sneak-preview-about-dorm-the-delphi-orm/&#34;&gt;more than one year ago&lt;/a&gt;, and now is sponsored by &lt;a href=&#34;http://www.bittime.it/&#34;&gt;bitTime Software&lt;/a&gt; that offers custom development, consultancy, mentoring and so on.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2011, recap</title>
      <link>https://www.danieleteti.it/post/itdevcon-2011-recap/</link>
      <pubDate>Mon, 31 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2011-recap/</guid>
      <description>&lt;p&gt;Last Friday ended the third edition of ITDevCon, the European Conference on Delphi and its related technologies.&lt;br&gt;
ITDevCon this year was even bigger and funny.&lt;br&gt;
There have been more present, more sponsors, more speakers, more topics and a lot of people with the desire to learn new things and improve their every day work.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> App Android ITDevCon2011 disponibile sul Market (ITALIAN)</title>
      <link>https://www.danieleteti.it/post/app-android-itdevcon2011-disponibile-sul-market-italian/</link>
      <pubDate>Thu, 20 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/app-android-itdevcon2011-disponibile-sul-market-italian/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.danieleteti.it/images/2011/10/itdevcon_icon.png&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2011/10/itdevcon_icon.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Manca solo una settima all’inizio di ITDevCon2011. Per permettere a tutti gli iscritti (e far decidere chi è ancora indeciso) di sfruttare al meglio i due giorni di intensa formazione, abbiamo appena pubblicato l’applicazione ITDevCON2011 sul’Android Market.&lt;br&gt;
Trevete il programma completo della conferenza, i profili degli speaker e informazioni sugli sponsor.&lt;br&gt;
Inoltre, potrete definire i vostri speech preferiti in modo da essere avvisati subito prima dell’inizio dello speech.&lt;br&gt;
Potrete votare e commentare ogni speech. Potete commentare da subito inserendo le vostre aspettative per lo speech o alcune delucidazioni sul contenuto. Il voto invece sarà possibile solo a speech avvenuto.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon2011 Android App</title>
      <link>https://www.danieleteti.it/post/itdevcon2011-android-app/</link>
      <pubDate>Thu, 20 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon2011-android-app/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.danieleteti.it/images/2011/10/itdevcon_icon.png&#34;&gt;&lt;img src=&#34;https://www.danieleteti.it/images/2011/10/itdevcon_icon.png&#34; alt=&#34;&#34; title=&#34;ITDevCon2011&#34;&gt;&lt;/a&gt;In less that a week, ITDevCon2011 will begin. To allow all members (and to let decide who is still undecided) to take advantage of the two days of intense training, we have just published the application ITDevCON2011 on the Android Market. You’ll find full conference program, speaker profiles and information about the sponsors.&lt;br&gt;
In addition, you can define your favorite speeches in order to be alerted immediately before the start of the speech.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2011 Time Table</title>
      <link>https://www.danieleteti.it/post/itdevcon-2011-time-table/</link>
      <pubDate>Wed, 05 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2011-time-table/</guid>
      <description>&lt;p&gt;Yes, it is a bit late, but this year has been really difficult to choose between all the speeches proposals arrived from all over the world.&lt;br&gt;
The new &lt;a href=&#34;http://www.embarcadero.com/products/delphi&#34;&gt;Delphi XE2&lt;/a&gt; version (and the &lt;a href=&#34;http://www.embarcadero.com/products/rad-studio&#34;&gt;RAD Studio XE2&lt;/a&gt; Suite too) are really full of new cool features and many of the best delphi developers want to show what can be done in &lt;a href=&#34;http://www.embarcadero.com/products/delphi&#34;&gt;Delphi XE2&lt;/a&gt;. Great situation!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> In the core of LiveBindings expressions of RAD Studio XE2</title>
      <link>https://www.danieleteti.it/post/in-the-core-of-livebindings-expressions-of-rad-studio-xe2/</link>
      <pubDate>Tue, 30 Aug 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/in-the-core-of-livebindings-expressions-of-rad-studio-xe2/</guid>
      <description>&lt;h3 id=&#34;warning-ive-been-authorized-by-embarcadero-to-write-about-rad-studio-xe2.&#34; style=&#34;text-align: center;&#34;&gt;WARNING! I&amp;rsquo;ve been authorized by EMBARCADERO to write about RAD Studio XE2.&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;http://www.embarcadero.com/world-tour&#34;&gt;RAD Studio XE2&lt;/a&gt; is full of nice and exciting features. One of the most awaited of them is the LiveBindings.&lt;/p&gt;
&lt;p&gt;The LiveBindings is available to the VCL and the new FireMonkey framework and allows to connect a property object to another using an expression and a set of observers.&lt;br&gt;
Let&amp;rsquo;s say Edit1.Text &amp;ldquo;is binded to&amp;rdquo; Person1.Name also in a bidirectional way. The &amp;ldquo;link&amp;rdquo; between a property (or a group of properties) and another property can also be very complex.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> DataSnap Mobile Connectors in RAD Studio XE2</title>
      <link>https://www.danieleteti.it/post/datasnap-mobile-connectors-in-rad-studio-xe2/</link>
      <pubDate>Wed, 24 Aug 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/datasnap-mobile-connectors-in-rad-studio-xe2/</guid>
      <description>&lt;h3 id=&#34;warning-ive-been-authorized-by-embarcadero-to-write-about-rad-studio-xe2.&#34; style=&#34;text-align: center;&#34;&gt;WARNING! I&amp;rsquo;ve been authorized by EMBARCADERO to write about RAD Studio XE2.&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;http://www.embarcadero.com/world-tour&#34;&gt;RAD Studio XE2&lt;/a&gt; is full of nice and exciting features. One of the most interesting IMHO is the DataSnap extension called &amp;ldquo;Mobile Connectors&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;In the past, I&amp;rsquo;ve talked about connecting and using your datasnap REST service with Android, creating ad-hoc json messages and manually parsing the returned json messages. With RAD Studio XE2 this is no longer needed. If you have a DataSnap REST service, you can automatically generate the proxy connector for the major mobile platforms. Yes, just like you have been doing with Delphi or C++ since Delphi 2010.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>DataSnap and Android (Part I) on BlaisePascal</title>
      <link>https://www.danieleteti.it/post/datasnap-and-android-part-i-on-blaisepascal/</link>
      <pubDate>Tue, 28 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/datasnap-and-android-part-i-on-blaisepascal/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Blaise Pascal Issue no.17&lt;/strong&gt; contains the first part of my articles about &lt;a href=&#34;http://blaisepascal.eu/&#34;&gt;&amp;ldquo;DataSnap and Android&amp;rdquo;.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;During this series I&amp;rsquo;ll show how to write a complete TODO application using Delphi DataSnap Server and an Android thin client.&lt;/p&gt;
&lt;p&gt;Have a good reading.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> AndroidConference in Italy - Call4Papers</title>
      <link>https://www.danieleteti.it/post/androidconference-in-italy-call4papers/</link>
      <pubDate>Thu, 23 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/androidconference-in-italy-call4papers/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.danieleteti.it/images/2011/06/home-bugdroid.png&#34;&gt;![The Android Conference](/images/2011/06/home-bugdroid.png&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yes! This is a great news! Before the two-days conference dedicated to Delphi, this year there will be the AndroidConference.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Android Conference&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Android Conference will be a conference focused on Google Android development. Android is one of the most popular OS in the world. Now you can use it for your mobile applications.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2011 - Call4Papers</title>
      <link>https://www.danieleteti.it/post/itdevcon-2011-call4papers/</link>
      <pubDate>Tue, 21 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2011-call4papers/</guid>
      <description>&lt;p&gt;Dear potential ITDevCon speaker,&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m building the agenda for next ITDevCon 2011 that will be held in late october in Verona, the same location of the past year. Dates will be announced ASAP.&lt;/p&gt;
&lt;p&gt;The call for papers are officially open right now, so if you want to propose some speeches, I&amp;rsquo;ll be glad to see it.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ebinar: &#34;Developing Application Services using PHP Servers and Android Clients&#34;</title>
      <link>https://www.danieleteti.it/post/webinar-developing-application-services-using-php-servers-and-android-clients/</link>
      <pubDate>Tue, 08 Feb 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/webinar-developing-application-services-using-php-servers-and-android-clients/</guid>
      <description>&lt;p&gt;\&lt;/p&gt;
&lt;p&gt;In this webinar I&amp;rsquo;ll show how to develop &lt;em&gt;Android application talking with REST PHP WEB Services&lt;/em&gt;. After introducing the basic concepts, attendees of this session will be taken through how to REST-enable the server application, before building the client application targeting an Android phone.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topics covered in this webinar include:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Developing Application Services with PHP Servers and Android Phone Clients</title>
      <link>https://www.danieleteti.it/post/developing-application-services-with-php-servers-and-android-phone-clients/</link>
      <pubDate>Tue, 25 Jan 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/developing-application-services-with-php-servers-and-android-phone-clients/</guid>
      <description>&lt;p&gt;My new white paper about &amp;ldquo;&lt;a href=&#34;http://www.embarcadero.com/rad-in-action/php-android&#34; title=&#34;RAD-in-action&#34;&gt;Developing Application Services with PHP Servers and Android Phone Clients&lt;/a&gt;&amp;rdquo; is on line under the &lt;a href=&#34;http://www.embarcadero.com&#34;&gt;Embarcadero&lt;/a&gt; &lt;a href=&#34;http://www.embarcadero.com/rad-in-action&#34;&gt;RAD-in-Action&lt;/a&gt; initiative.&lt;/p&gt;
&lt;p&gt;\&lt;/p&gt;
&lt;p&gt;Are (or will be) available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The White Paper&lt;/li&gt;
&lt;li&gt;The complete source code from the white paper&lt;/li&gt;
&lt;li&gt;2 videos showing a complete (obviously very simple) Android application interfacing with a PHP REST web service (developer with &lt;a href=&#34;http://www.embarcadero.com/products/radphp&#34;&gt;RAD PHP XE&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;A webinar (9th february)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In bit time we are heavily working with the &lt;a href=&#34;http://code.google.com/intl/it/android/&#34;&gt;Android&lt;/a&gt; operating system used in conjunction with DataSnap or PHP services.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> ITDevCon 2010</title>
      <link>https://www.danieleteti.it/post/itdevcon-2010/</link>
      <pubDate>Mon, 22 Nov 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/itdevcon-2010/</guid>
      <description>&lt;p&gt;Last Friday ended the second edition of ITDevCon, the European Conference on Delphi and its related technologies.&lt;br&gt;
ITDevCon This year was even bigger.&lt;br&gt;
There have been more present, more sponsors, more speakers, more topics and a lot of people with the desire to learn new things and improve their every day work.&lt;br&gt;
In addition to a large group of Italian and European speakers, we had speakers from all over the world. From the coast of the U.S. Ovest to Russia. The participants who came from all over Europe. The most intrepid of them even came from Australia to follow the Mobile Boost on Android and the 2-day conference. Congratulations!&lt;br&gt;
A special thanks goes to all the speakers who participated and the sponsors who have contributed their support to make this conference a major event for the European community Delphi.&lt;br&gt;
I hope that the content and the organization is liked to you at least half of how much it is liked to me.&lt;br&gt;
We are organizing slides, videos and examples for each speech to put it all on-line available to participants at the conference as soon as possible. You will receive an email informing you of how to download all the material available.&lt;br&gt;
In the coming days, on the conference website (&lt;a href=&#34;https://www.itdevcon.it&#34;&gt;www.itdevcon.it&lt;/a&gt;) we will post all the pictures we have done in these three days. If you have any photos that you want to see published, send them to me, we&amp;rsquo;ll publish it on the official website.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Back from Brazil (all slides and code from the Brasilian Delphi Conference)</title>
      <link>https://www.danieleteti.it/post/back-from-brazil/</link>
      <pubDate>Sat, 06 Nov 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/back-from-brazil/</guid>
      <description>&lt;p&gt;Last week I returned from Brazil where I had been to speak to the Delphi Conference.&lt;br&gt;
The conference was held in St. Paul who, like many Brazilians will be able to confirm, is not a typical Brazilian city.&lt;/p&gt;
&lt;p&gt;The warmth of local people has been exemplary. Andreano Lanusse has organized all in a really valuable way.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi &amp; Android in the next few conferences</title>
      <link>https://www.danieleteti.it/post/delphi-android-in-the-next-few-conferences/</link>
      <pubDate>Thu, 21 Oct 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-android-in-the-next-few-conferences/</guid>
      <description>&lt;p&gt;Tomorrow I&amp;rsquo;m leaving from Rome to go to São Paulo (Brasil) for the annual Delphi Conference.&lt;br&gt;
This is the Brasilian Delphi Conference web site: &lt;a href=&#34;http://latam.embarcadero.com/br/delphiconference/&#34;&gt;http://latam.embarcadero.com/br/delphiconference/&lt;/a&gt;.
I&amp;rsquo;ve a talk about Delphi and Android. I&amp;rsquo;m really excited for all the cool things that can be done with this technologies.
For the conference talk, I&amp;rsquo;ve developed a DEMO Android application to manage customers and orders that use some mobile technologies available in the Android OS in my Samsung Galaxy S.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> RADSTUDIO XE LAUNCH in Rome and Milan</title>
      <link>https://www.danieleteti.it/post/radstudio-xe-launch-in-rome-and-milan/</link>
      <pubDate>Thu, 23 Sep 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/radstudio-xe-launch-in-rome-and-milan/</guid>
      <description>&lt;p&gt;This year, the launch of the new RADSTUDIO XE has been really nice. We have met some friends and customers exciting to see the new Delphi features and capabilities.
In the event of Rome there was DavidI too.&lt;/p&gt;
&lt;p&gt;The agenda has been the following:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Embarcadero Update + XE and All-Access (DavidI)&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> New poll about Delphi VC</title>
      <link>https://www.danieleteti.it/post/new-pool-about-delphi-vcl/</link>
      <pubDate>Fri, 03 Sep 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/new-pool-about-delphi-vcl/</guid>
      <description>&lt;p&gt;In the last weeks (years) we have talk very often of the new compilers that should be in Delphi. Win64, MacOS, Linux, Other&amp;hellip;&lt;/p&gt;
&lt;p&gt;OK, we want Delphi everywhere but&amp;hellip; Delphi is the VCL! So why dont talk about ideas for it?&lt;br&gt;
What are the 2 most needed features for the VCL?&lt;br&gt;
This is what the new poll is asking for.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Sneak preview about DORM, The Delphi ORM</title>
      <link>https://www.danieleteti.it/post/sneak-preview-about-dorm-the-delphi-orm/</link>
      <pubDate>Wed, 01 Sep 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/sneak-preview-about-dorm-the-delphi-orm/</guid>
      <description>&lt;p&gt;My yesterday post about this busy time, have raised some interest about DORM, the Delphi ORM.&lt;/p&gt;
&lt;p&gt;So, also if I still haven&amp;rsquo;t released any files, wish to expose some internals about DORM.&lt;/p&gt;
&lt;p&gt;DORM is an implementation of the &lt;a href=&#34;http://martinfowler.com/eaaCatalog/dataMapper.html&#34;&gt;DataMapper&lt;/a&gt; design pattern written having &lt;a href=&#34;http://hibernate.org/&#34;&gt;Hibernate&lt;/a&gt; in mind.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s completely unit tested and have the following features:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> *VERY* busy time! RADSTUDIO XE, ITDevCon and other stuff</title>
      <link>https://www.danieleteti.it/post/very-busy-time-radstudio-xe-itdevcon-and-other-stuff/</link>
      <pubDate>Tue, 31 Aug 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/very-busy-time-radstudio-xe-itdevcon-and-other-stuff/</guid>
      <description>&lt;p&gt;This is a &lt;strong&gt;very&lt;/strong&gt; busy time.&lt;/p&gt;
&lt;p&gt;Some news:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RAD STUDIO XE is &lt;a href=&#34;http://www.embarcadero.com/rad-studio-xe-preview&#34;&gt;out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href=&#34;http://www.itdevcon.it&#34;&gt;ITDevCon&lt;/a&gt; time table will be published ASAP. This year I&amp;rsquo;m working to create a Time Table even more interesting than the last year (not simple!). The speakers will talk about DELPHI XE, RADPHP XE and a*LOT* of DataSnap. Complete list of topic are available in the conference web site home page.&lt;/li&gt;
&lt;li&gt;The italian RADSTUDIO XE events will be held in September, Tuesday 21 ROME and Wednesday 22 MILAN&lt;/li&gt;
&lt;li&gt;Busy time also for this blog&amp;hellip; I&amp;rsquo;m planning some really interesting stuff that I working on:
&lt;ul&gt;
&lt;li&gt;Nice stuff with the Delphi Language&lt;/li&gt;
&lt;li&gt;MVC framework with scripting engine for web development in Delphi&lt;/li&gt;
&lt;li&gt;DORM, the Delphi ORM&lt;/li&gt;
&lt;li&gt;Some real-world samples for the new RAD STUDIO XE&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What other to say?&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Delphi Day 2010</title>
      <link>https://www.danieleteti.it/post/delphi-day-2010/</link>
      <pubDate>Sat, 12 Jun 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-day-2010/</guid>
      <description>&lt;p&gt;Also this year I was at Delphi Day with many others bit Time co-workers.&lt;br&gt;
This year I did a speech about &lt;a href=&#34;http://en.wikipedia.org/wiki/Continuous_integration&#34;&gt;Continuous Integration&lt;/a&gt; and &lt;a href=&#34;http://www.extremeprogramming.org/rules/unittests.html&#34;&gt;Unit Test&lt;/a&gt; with Delphi.&lt;/p&gt;
&lt;p&gt;I showed some of the methodologies and tools that we used in &lt;a href=&#34;http://www.bittime.it&#34;&gt;bitTime&lt;/a&gt; for long and for whom we also offer &lt;a href=&#34;http://www.bittime.it/corsi.html&#34;&gt;training&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Many Delphi programmers and companies should consider adoption of this tecnique for do more and better with the same effort (and the same money).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> My interview at PHP Day 2010 has been publishe</title>
      <link>https://www.danieleteti.it/post/my-interview-at-php-day-2010-has-been-published/</link>
      <pubDate>Mon, 17 May 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/my-interview-at-php-day-2010-has-been-published/</guid>
      <description>&lt;p&gt;My interview at PHP Day 2010 has been published on php.html.it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://php.html.it/articoli/leggi/3383/continuous-integration-conversazione-con-daniele-teti/6/&#34;&gt;This&lt;/a&gt; is the link to the article.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=9halA2EbADE&#34;&gt;This&lt;/a&gt; is the video on youtube.&lt;/p&gt;
&lt;p&gt;The interview is only in italian language.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> My speech at “PHP Day 2010″</title>
      <link>https://www.danieleteti.it/post/my-speech-at-php-day-2010-e2-80-b3/</link>
      <pubDate>Thu, 13 May 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/my-speech-at-php-day-2010-e2-80-b3/</guid>
      <description>&lt;p&gt;This time a very fast post&amp;hellip;&lt;br&gt;
For the third year in a row, I will talk at the PHP Day in Italy organized, as usual, by the friends of &lt;a href=&#34;http://www.grusp.it/&#34;&gt;GRUSP&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;My speech will be about &lt;a href=&#34;http://martinfowler.com/articles/continuousIntegration.html&#34;&gt;Continuous Integration&lt;/a&gt; and PHP, with a little introduction to &lt;a href=&#34;http://hudson-ci.org/&#34;&gt;Hudson&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.phpday.it/&#34;&gt;This&lt;/a&gt; is the main conference website.&lt;br&gt;
&lt;a href=&#34;http://www.phpday.it/speaker/daniele-teti&#34;&gt;This&lt;/a&gt; is my speaker/speech page.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>A Simple start with MVP in Delphi for Win32, Part 2</title>
      <link>https://www.danieleteti.it/post/a-simple-start-with-mvp-in-delphi-for-win32-part-2/</link>
      <pubDate>Thu, 06 May 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/a-simple-start-with-mvp-in-delphi-for-win32-part-2/</guid>
      <description>&lt;p&gt;Some month ago I wrote a simple article about an MVP variant called PassiveView.&lt;br&gt;
That example was very simple. Now I&amp;rsquo;ll present a more &amp;ldquo;advanced&amp;rdquo; version of that example.&lt;/p&gt;
&lt;p&gt;The main problem with first example was the following method:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;procedure TfrmCalculatorView.FormCreate(Sender: TObject);
begin
  //Link controls with related interface
  IFirstOperand := TGUIEdit.Create(EditFirstOp);
  ISecondOperand := TGUIEdit.Create(EditSecondOp);
  ICalcResult := TGUIEdit.Create(EditResult);
  IOperators := TGUISelectableList.Create(ComboOperators);
  IError := TGUIEdit.Create(EditError);

  //link view and presenter
  FPresenter := TCalculatorPresenter.Create(Self); //&amp;lt;&amp;lt;-- THIS IS THE BAD LINE
end;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The &amp;ldquo;BAD&amp;rdquo; line links the View with the Presenter but it&amp;rsquo;s in the view code, so this is meaning that View KNOWS the presenter&amp;hellip; and this is not a good thing becouse the view is not so &amp;ldquo;passive&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Stomp Client (with FreePascal support</title>
      <link>https://www.danieleteti.it/post/delphi-stomp-client-with-freepascal-support/</link>
      <pubDate>Sun, 18 Apr 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-stomp-client-with-freepascal-support/</guid>
      <description>&lt;p&gt;Yes, I&amp;rsquo;ve just committed last version of DelphiStompClient, a STOMP client for Delphi 2010 (should works in 2007 and 2009 too) and FreePascal 2.4.&lt;/p&gt;
&lt;p&gt;DelphiStompClient has been tested with Apache ActiveMQ 5.2 and 5.3 but should works with every STOMP compliant server.&lt;/p&gt;
&lt;p&gt;You can find the code &lt;a href=&#34;http://code.google.com/p/delphistompclient/&#34;&gt;here&lt;/a&gt;, but if you need more info with example and other stuff, &lt;a href=&#34;http://www.danieleteti.it/?page_id=214&#34;&gt;read entire article&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> New beta version for DataSnap Filters Compendium</title>
      <link>https://www.danieleteti.it/post/new-beta-version-for-datasnap-filters-compendium/</link>
      <pubDate>Thu, 08 Apr 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/new-beta-version-for-datasnap-filters-compendium/</guid>
      <description>&lt;p&gt;[[I&amp;rsquo;ve been very busy lately with some Delphi related events here in Italy]{style=&amp;ldquo;background-color: #ffffff;&amp;rdquo; title=&amp;ldquo;Sono stato molto impegnato ultimamente&amp;rdquo;}]{#result_box .short_text}&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[[&lt;a href=&#34;http://www.wintech-italia.it/eventi/delphiporteaperte2010.htm&#34;&gt;Delphi &amp;ldquo;Porte Aperte&amp;rdquo;&lt;/a&gt; (organized by Marco Cantù and bit Time Software)]{style=&amp;ldquo;background-color: #ffffff;&amp;rdquo; title=&amp;ldquo;Sono stato molto impegnato ultimamente&amp;rdquo;}]{#result_box .short_text}&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.bittime.it/index.php?page=33&amp;amp;evento=45&#34;&gt;Ready for the change? IT happens&lt;/a&gt; (organized by bit Time Software)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;so I havent too much time for my personal open source project. But now I&amp;rsquo;ve released new beta version for DSFC.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> A simple Dependency Injection Container for Delphi</title>
      <link>https://www.danieleteti.it/post/a-simple-dependency-injection-container-for-delphi/</link>
      <pubDate>Wed, 06 Jan 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/a-simple-dependency-injection-container-for-delphi/</guid>
      <description>&lt;p&gt;As wikipedia says:&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Dependency injection (DI) in computer programming refers to the process of supplying an external dependency to a [software component]. It is a specific form of inversion of control where the concern being inverted is the process of obtaining the needed dependency. The term was first coined by Martin Fowler to describe the mechanism more clearly.^&lt;a href=&#34;http://en.wikipedia.org/wiki/Dependency_injection#cite_note-0&#34;&gt;&lt;/a&gt;^&amp;rdquo;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> News and small fixes for DataSnap Filters compendiu</title>
      <link>https://www.danieleteti.it/post/news-and-small-fixes-for-datasnap-filters-compendium/</link>
      <pubDate>Tue, 05 Jan 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/news-and-small-fixes-for-datasnap-filters-compendium/</guid>
      <description>&lt;p&gt;DataSnap Filters Compendium has been used by many users so far. I&amp;rsquo;m planning to do some change in hash filters (that do not will affect already written code) but until new version will ready I have 3 nice news about DSFC:&lt;/p&gt;
&lt;p&gt;1. Now the project is on &lt;a href=&#34;http://code.google.com/p/dsfc/&#34; title=&#34;Google Code&#34;&gt;Google Code&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;2. Franco Perana, the first contributor to the project, has fixed and optimized the LZO filter.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> JSON support in Delphi2010, a simple example</title>
      <link>https://www.danieleteti.it/post/json-support-in-delphi2010-a-simple-example/</link>
      <pubDate>Wed, 25 Nov 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/json-support-in-delphi2010-a-simple-example/</guid>
      <description>&lt;div class=&#34;callout callout-tip&#34;&gt;
&lt;div class=&#34;callout-icon&#34;&gt;🆕&lt;/div&gt;
&lt;div class=&#34;callout-content&#34;&gt;
&lt;strong&gt;Updated version available!&lt;/strong&gt; This article is from 2009 and uses the old &lt;code&gt;DBXJSON&lt;/code&gt; unit. A completely rewritten, modern guide is now available: &lt;a href=&#34;https://www.danieleteti.it/post/delphi-json-complete-guide-en/&#34;&gt;JSON Support in Delphi: Complete Guide (2025)&lt;/a&gt; - with 15+ tested examples, FAQ, and coverage of Delphi 13 Florence.
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;During last &lt;a href=&#34;http://www.itdevcon.it&#34;&gt;ITDevCon&lt;/a&gt; in Verona (ITALY) I talked in a session with title “Marshal and UnMarshal in Delphi 2010″ (we have published some photos about this great conference &lt;a href=&#34;http://www.itdevcon.it/en/photogallery2009&#34;&gt;here&lt;/a&gt;).&lt;br&gt;
In the first part of the session I’ve talked about &lt;a href=&#34;http://www.json.org&#34;&gt;JSON&lt;/a&gt; and many attendees were very interested in JSON and his application in everyday programming. I’m a real JSON fan so I decided to write this post about JSON support in Delphi2010. In my session I talked about serialization and deserialization, in this post I’ll show an example of code to do some JSON generation.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Si è conclusa ITDevCon 2009 [ITALIAN]</title>
      <link>https://www.danieleteti.it/post/si-e-conclusa-itdevcon-2009-italian/</link>
      <pubDate>Sat, 14 Nov 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/si-e-conclusa-itdevcon-2009-italian/</guid>
      <description>&lt;p&gt;Giovedì scorso si è conclusa la prima edizione di ITDevCon, la conferenza europea dedicata interamente a Delphi e alle tecnologie e metodologie ad esso collegate.&lt;br&gt;
Aver partecipato alla sua organizzazione selezionando i contenuti tecnici è stato molto impegnativo, ma visto il successo, altrettanto gratificante.&lt;br&gt;
Ringrazio gli &lt;a href=&#34;http://www.itdevcon.it/it/speakers&#34;&gt;speaker&lt;/a&gt; che hanno proposto topic ad alto contenuto informativo e tecnico nonostante alcuni argomeni affrontati richiedessero, probabilmente, più tempo di quello a disposizione (le sessioni sono durate 55 minuti).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> My Speeches at ITDevCon 2009 (Italy, Verona)</title>
      <link>https://www.danieleteti.it/post/my-speeches-at-itdevcon-2009-italy-verona/</link>
      <pubDate>Mon, 09 Nov 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/my-speeches-at-itdevcon-2009-italy-verona/</guid>
      <description>&lt;p&gt;Tomorrow I travel to Verona to the ITDevCon the Italian Delphi Conference.&lt;br&gt;
The conference will be at 11-12 november, and will be REALLY great!&lt;/p&gt;
&lt;p&gt;You can see the time table &lt;a href=&#34;http://www.itdevcon.it/en/agenda&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At this conference I will speak about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Marshal e UnMarshal in Delphi 2010&lt;/li&gt;
&lt;li&gt;Enterprise Data Access patterns in Delphi&lt;/li&gt;
&lt;li&gt;Delphi e i messaging systems&amp;hellip; ZeroMQ + AMQP e ActiveMQ + STOMP&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My speeches will be in italian language only.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> DataSnap Filters Compendium</title>
      <link>https://www.danieleteti.it/post/datasnap-filters-compendium/</link>
      <pubDate>Thu, 01 Oct 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/datasnap-filters-compendium/</guid>
      <description>&lt;p&gt;&lt;strong&gt;What&amp;rsquo;s DataSnap Filters Compendium&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;DataSnap Filters Compendium (DSFC) is a compendium of 9 filters for DataSnap 2010.&lt;br&gt;
The filters are divided into 3 groups:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HASH&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MD5&lt;/li&gt;
&lt;li&gt;MD4&lt;/li&gt;
&lt;li&gt;SHA1&lt;/li&gt;
&lt;li&gt;SHA512&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;CIPHER&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Blowfish&lt;/li&gt;
&lt;li&gt;Rijndael&lt;/li&gt;
&lt;li&gt;3TDES&lt;/li&gt;
&lt;li&gt;3DES&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;COMPRESS&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LZO&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;HASH filters&lt;/strong&gt;
The HASH filters helps avoid to any spiteful person to modify datasnap message through an &amp;ldquo;Man in the middle&amp;rdquo; attack (&lt;a href=&#34;http://en.wikipedia.org/wiki/Man-in-the-middle_attack&#34;&gt;http://en.wikipedia.org/wiki/Man-in-the-middle_attack&lt;/a&gt;).&lt;br&gt;
Functioning is basing on an easy principle. After sending the message, the filter calculates the hash of the message and tags along it to the message. When the message gets to destination, the filter recovers the hash calculated by the client and recalculates it on the remaining part of the message.&lt;br&gt;
If the part of the extrated hash (calculated at the beginning) and the hash recalculated to the end are equal, the message hasn&amp;rsquo;t change.&lt;br&gt;
To avoid someone could modify the message and also recalculates the hash, after calculating the hash, a GUID is tagged along to the message, which just the sender and the receiver know.&lt;br&gt;
This kind of filters &lt;em&gt;DOES NOT AVOID THE UNAVOIDED READING OF DATA&lt;/em&gt;,it avoids just the modification.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Custom Marshalling/UnMarshalling in Delphi 2010</title>
      <link>https://www.danieleteti.it/post/custom-marshallingunmarshalling-in-delphi-2010/</link>
      <pubDate>Tue, 01 Sep 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/custom-marshallingunmarshalling-in-delphi-2010/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
Some days ago, Embarcadero has presented the new version of RAD Studio, 2010.&lt;br&gt;
The are many new features, but you can find in a lot places around the web, so&lt;br&gt;
I won’t repeat them here.&lt;/p&gt;
&lt;p&gt;One of the things widely requested from all Delphi programmers all over the world over the past few years, including myself, is&lt;br&gt;
certainly a new and more powerful RTTI.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> My AMQP Delphi wrapper is in the standard 0MQ distributio</title>
      <link>https://www.danieleteti.it/post/my-amqp-delphi-wrapper-is-in-the-standard-0mq-distribution/</link>
      <pubDate>Mon, 31 Aug 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/my-amqp-delphi-wrapper-is-in-the-standard-0mq-distribution/</guid>
      <description>&lt;p&gt;Yes, this is a nice news!&lt;br&gt;
My &lt;a href=&#34;http://www.danieleteti.it/?page_id=131&#34;&gt;AMQP Delphi wrapper for 0MQ&lt;/a&gt; is officially included into the distribution of 0MQ.&lt;br&gt;
Now sources are managed into the main svn trunk.&lt;br&gt;
You can read the news in the &lt;a href=&#34;http://www.zeromq.org/&#34;&gt;project&amp;rsquo;s main page&lt;/a&gt;.&lt;br&gt;
You can see the code &lt;a href=&#34;http://github.com/sustrik/zeromq1/tree/36c2a8d5fc0793f531600baea0e4f8130eaf3989/windows/paszmq&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the upcoming greatest Delphi conference &lt;a href=&#34;http://www.itdevcon.it/en/home&#34;&gt;ITDevCon&lt;/a&gt;, I&amp;rsquo;ll have a talk about &lt;a href=&#34;http://en.wikipedia.org/wiki/Message-oriented_middleware&#34;&gt;MoM&lt;/a&gt; (Message oriented middleware) and I&amp;rsquo;ll talk about ZeroMQ too.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Using AMQP from Delphi with ZeroMQ</title>
      <link>https://www.danieleteti.it/post/using-amqp-from-delphi-with-zeromq/</link>
      <pubDate>Tue, 04 Aug 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/using-amqp-from-delphi-with-zeromq/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol&#34; title=&#34;AMQP&#34;&gt;&lt;strong&gt;Advanced Message Queuing Protocol&lt;/strong&gt;&lt;/a&gt; (&lt;strong&gt;AMQP&lt;/strong&gt;) is an open standard [application layer] protocol for [[Message Oriented Middleware]](&lt;a href=&#34;http://en.wikipedia.org/wiki/Message_oriented_middleware&#34;&gt;http://en.wikipedia.org/wiki/Message_oriented_middleware&lt;/a&gt; &amp;ldquo;What does it mean &amp;ldquo;Mom&amp;rdquo; ?&amp;rdquo;) (MoM).&lt;/p&gt;
&lt;p&gt;The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subscribe), reliability and security^.^&lt;/p&gt;
&lt;p&gt;The good news about AMQP is that AMQP mandates the behaviour of the messaging provider and client to the extent that implementations from different vendors are truly interoperable, in the same way as SMTP, HTTP, FTP, etc. have created interoperable systems.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Swimming World Championships: Delphi Software swim in it</title>
      <link>https://www.danieleteti.it/post/swimming-world-championships-delphi-software-swim-in-it/</link>
      <pubDate>Mon, 13 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/swimming-world-championships-delphi-software-swim-in-it/</guid>
      <description>&lt;p&gt;From July 17th to August 2nd, The Foro Italico (in Rome) will be the heart of the &lt;a href=&#34;http://www.roma09.it/&#34;&gt;13th FINA World Championships Roma 2009&lt;/a&gt;, for swimming, diving, synchronised swimming and water polo. Four permanents pools and two temporary pools will be the set of the competitions for the four competitive disciplines, and all the venue will turn into a village that will host and entertain all night long over 400.000 people during 17 days of contests.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Delphi Developer Days</title>
      <link>https://www.danieleteti.it/post/delphi-developer-days/</link>
      <pubDate>Wed, 03 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-developer-days/</guid>
      <description>&lt;p&gt;When I was at Delphi Live in San Jose, I attended Marco Cantù and Cary Jensen Masterclass about Delphi Multithreading.&lt;br&gt;
Although, I&amp;rsquo;m expert of multi threading techiques and the related problems, this masterclass was very interesting and well organized as well.&lt;/p&gt;
&lt;p&gt;IMHO, the topics have been presented in very effective manner and, as usual, in a very professional way.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> I&#39;ll be at DelphiLive! in San Jose</title>
      <link>https://www.danieleteti.it/post/ill-be-at-delphilive-in-san-jose/</link>
      <pubDate>Tue, 12 May 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/ill-be-at-delphilive-in-san-jose/</guid>
      <description>&lt;p&gt;This year I cannot miss the &lt;a href=&#34;http://www.delphilive.com/&#34;&gt;DelphiLive&lt;/a&gt;! event!&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m still in Rome, but in a few hours I&amp;rsquo;ll leave Rome with a fly to Frankfurt. Then I&amp;rsquo;ll take a fly for San Francisco.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll be in San Jose in the evening (local time).&lt;/p&gt;
&lt;p&gt;You will be at &lt;a href=&#34;http://www.delphilive.com/&#34;&gt;DelphiLive&lt;/a&gt;! ?&lt;/p&gt;
&lt;p&gt;See you there!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Delphi profiling made simple... really simple!</title>
      <link>https://www.danieleteti.it/post/delphi-profiling-made-simple-really-simple/</link>
      <pubDate>Wed, 01 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/delphi-profiling-made-simple-really-simple/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://stackoverflow.com/questions/665143/delphi-2010-beta-whats-on-your-wishlist&#34;&gt;Many users&lt;/a&gt; asked Embarcadero to include a profiler in the next Delphi for Win32.&lt;/p&gt;
&lt;p&gt;Waiting for this, there are some interesting tools for profile a Delphi program.&lt;/p&gt;
&lt;p&gt;For example, AsmProfile is an Open Source sampling profiler wich is very simple to use.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Actually AsmProfile is an &amp;ldquo;Instrumenting&amp;rdquo; profiler. It uses runtime function detouring and assembly to profile any selected function.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>My speech at &#34;PHPCon Italia 2009&#34;</title>
      <link>https://www.danieleteti.it/post/my-speach-at-phpcon-italia-2009/</link>
      <pubDate>Thu, 19 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/my-speach-at-phpcon-italia-2009/</guid>
      <description>&lt;p&gt;I will talk at the italian PHPCon in Rome on March 18-20 2009.&lt;/p&gt;
&lt;p&gt;I will talk about &amp;ldquo;Data Access Design Patterns&amp;rdquo; showing many PHP examples.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PHPCon Italia 2009&lt;/strong&gt;&lt;br&gt;
Holiday Inn Eur Parco dei Medici&lt;br&gt;
&lt;a href=&#34;http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=it&amp;amp;q=Viale+Castello+della+Magliana,+65,+00148+Roma+Roma,+Lazio,+Italia&amp;amp;jsv=145d&amp;amp;sll=41.861465,12.454246&amp;amp;sspn=0.007799,0.019312&amp;amp;g=Via+Ascanio+Fenizi,+00149+Roma,+Roma+(Lazio),+Italy&amp;amp;ie=UTF8&amp;amp;cd=3&amp;amp;geocode=FYAsfgIda2i9AA&amp;amp;split=0&amp;amp;ei=Xo2dSYqSBof82gLKyYW8Dw&amp;amp;sig2=ZS5aq6hkB_qdm5yYQHqk2A&amp;amp;cid=41823360,12413034,10316471543436891971&amp;amp;li=lmd&amp;amp;z=14&amp;amp;t=m&#34;&gt;Viale Castello Della Magliana 65&lt;/a&gt;&lt;br&gt;
ROME, 00148&lt;br&gt;
ITALIA&lt;br&gt;
&lt;a href=&#34;http://www.phpcon.it/&#34;&gt;Web Site&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.bittime.it/site/index.php?page=103&#34;&gt;Click here for discount on ticket (italian web site)&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>A Simple start with MVP in Delphi for Win32, Part 1</title>
      <link>https://www.danieleteti.it/post/a-simple-start-with-mvp-in-delphi-for-win32-part-1/</link>
      <pubDate>Thu, 12 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/a-simple-start-with-mvp-in-delphi-for-win32-part-1/</guid>
      <description>&lt;p&gt;As GUI framework such as VCL become more and more powerful, it&amp;rsquo;s common practice to let the UI layer do more than it should. Without a clear separation of responsibilities, the UI layer can often become an integral part of application and businness logic, but&amp;hellip; this kind of responsabilities belongs to other layers of the application.&lt;br&gt;
A design pattern (and his numberless variants), is especially well suited to solving this problem.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> .NET databinding in Delphi for Win32</title>
      <link>https://www.danieleteti.it/post/net-databinding-in-delphi-for-win32/</link>
      <pubDate>Thu, 29 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/net-databinding-in-delphi-for-win32/</guid>
      <description>&lt;p&gt;Databinding is defined as: &amp;ldquo;General technique that binds two data/information sources together and maintains them in sync. This is usually done with two data/information sources with different types as in XML data binding. However in UI data binding, we bind data and information objects of the same type together (e.g. Java objects to Java UI elements).&amp;rdquo;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Interview at PHP Day 200</title>
      <link>https://www.danieleteti.it/post/interview-at-php-day-2008/</link>
      <pubDate>Fri, 09 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/interview-at-php-day-2008/</guid>
      <description>&lt;p&gt;Go to following link to see my interview after presentation (last &lt;a href=&#34;http://www.phpday.it&#34;&gt;PHPDay&lt;/a&gt; in may 2008).&lt;/p&gt;
&lt;p&gt;I spoke with Andrea Marzilli (from &lt;a href=&#34;http://www.ictv.it&#34;&gt;www.ictv.it&lt;/a&gt;) about design patterns.&lt;/p&gt;
&lt;p&gt;Interview is (only) in italian.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.ictv.it/file/vedi/690/teti-design-pattern-e-php/&#34;&gt;http://www.ictv.it/file/vedi/690/teti-design-pattern-e-php/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title> Value Object vs Data Transfer Object</title>
      <link>https://www.danieleteti.it/post/value-object-vs-data-transfer-object/</link>
      <pubDate>Sun, 28 Dec 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/value-object-vs-data-transfer-object/</guid>
      <description>&lt;p&gt;One of the main goals of design patterns is to have a names dictionary shared among professionals.&lt;br&gt;
This dictionary, sometimes, has some trouble.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s the case of two well known design patterns: Value Object and Data Transfer Object.&lt;/p&gt;
&lt;p&gt;Value Object, according to Martin Fowler, is defined as:&lt;br&gt;
&lt;em&gt;&amp;ldquo;A small simple object, like money or a date range, whose equality isn&amp;rsquo;t based on identity.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>New home for my blog</title>
      <link>https://www.danieleteti.it/post/new-home-for-my-blog/</link>
      <pubDate>Sun, 21 Dec 2008 00:00:00 +0000</pubDate>
      
      <guid>https://www.danieleteti.it/post/new-home-for-my-blog/</guid>
      <description>&lt;p&gt;Hi all,&lt;/p&gt;
&lt;p&gt;now there is another home for my blog, my software, my photos and so on.&lt;/p&gt;
&lt;p&gt;I will transfer all of my contents from the old site to this one in an reasonably short time.&lt;/p&gt;
&lt;p&gt;English is not my natural language, so I&amp;rsquo;m apologize for any mistake you will find in these pages.&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
