<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title>Holger&#39;s Code</title><description>Software Development, Training &amp; Consulting by FlixEngineering, LLC</description><link>https://www.holgerscode.com/</link><atom:link href="https://www.holgerscode.com/feed_rss_created.xml" rel="self" type="application/rss+xml" /> <managingEditor>Dr. Holger Flick</managingEditor><language>en</language> <pubDate>Sun, 22 Feb 2026 23:40:05 -0000</pubDate> <lastBuildDate>Sun, 22 Feb 2026 23:40:05 -0000</lastBuildDate> <ttl>1440</ttl> <generator>MkDocs RSS plugin - v1.17.9</generator> <image> <url>None</url> <title>Holger's Code</title> <link>https://www.holgerscode.com/</link> </image> <item> <title>Adapt or Disappear: How AI Turned a 2-Year Project Into a 1-Week Sprint</title> <category>Delphi</category> <category>Delphi</category> <category>Linux</category> <category>Next.js</category> <category>Next.js</category> <category>RAD Studio</category> <category>React</category> <category>React</category> <category>Training</category> <category>TypeScript</category> <category>VCL</category> <category>Windows</category> <category>macOS</category> <description>&lt;h1&gt;Adapt or Disappear: How AI Turned a 2-Year Project Into a 1-Week Sprint&lt;/h1&gt; &lt;p&gt;The Delphi community has strong opinions about AI — and I get it. Privacy concerns, code quality worries, the instinct that real developers should not need a machine to help them write code. I have heard every argument in the book, and honestly, some of them are fair. The skepticism is real, though the tide may be turning. Still, the doubters outnumber the converts, and I am not here to pretend otherwise. But after what I just witnessed on a real-world migration project, I think even the skeptics will have a hard time arguing with the results. This is not about replacing developers — it is about what happens when developers stop fighting the tool and start using it.&lt;/p&gt; &lt;h2&gt;The Project&lt;/h2&gt; &lt;p&gt;A customer approached us with a legacy desktop application built in &lt;strong&gt;Delphi 7&lt;/strong&gt;. Let that sink in for a moment. Delphi 7 — released in 2002. No Unicode support. No HiDPI awareness. Running on &lt;strong&gt;Firebird 1.5&lt;/strong&gt; — a database engine so old its last update predates the iPhone. The application had been serving its purpose for over two decades, but the world had moved on. No responsive design. No web access. No mobile support. Customers had been begging for a web-based solution for years, but the cost and complexity of a ground-up rewrite in the legacy stack — let alone migrating to a modern platform — had always been prohibitive.&lt;/p&gt; &lt;p&gt;The target: a full-stack TypeScript application built on Next.js with server-side rendering, a component-based UI, Prisma ORM for database access, and a responsive design that works on both desktop and mobile devices. Not just a facelift — a complete architectural transformation from a Win32 desktop application to a modern, deployable web platform.&lt;/p&gt; &lt;p&gt;This was not a toy project. It involved user authentication, role-based access control, property management workflows, incident tracking, image handling, complex relational data models, and a migration pipeline to move real production data from the legacy Firebird database. The kind of application that, in any traditional development shop, would require a team and a timeline measured in months — which is precisely why it had not been done in over twenty years of customers asking for it.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2026/02/23/adapt-or-disappear-how-ai-turned-a-2-year-project-into-a-1-week-sprint/</link> <pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2026/02/23/adapt-or-disappear-how-ai-turned-a-2-year-project-into-a-1-week-sprint/</guid> </item> <item> <title>AI Won&#39;t Replace Delphi Developers. But...</title> <category>Delphi</category> <category>Delphi</category> <category>RAD Studio</category> <category>Training</category> <category>VCL</category> <category>Windows</category> <description>&lt;h1&gt;AI Won&#39;t Replace Delphi Developers. But...&lt;/h1&gt; &lt;p&gt;&lt;img alt=&#34;Grayscale Bitmap&#34; src=&#34;./images/grayscale.png&#34;&gt;&lt;/p&gt; &lt;h2&gt;Invent Your Own Controls and Libraries!&lt;/h2&gt; &lt;p&gt;The other day I saw a post on a Delphi developer forum. A fellow developer had been struggling for &lt;em&gt;days&lt;/em&gt; trying to convert a bitmap to grayscale. Days. He had tried multiple third-party components, downloaded libraries, read through outdated documentation, and was still stuck. The forum thread was filling up with suggestions for yet more components to install, each with its own quirks, licensing, and version compatibility headaches.&lt;/p&gt; &lt;p&gt;I asked AI. It took about two minutes.&lt;/p&gt; &lt;p&gt;Not two days. Not two hours. Two minutes.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2026/02/21/ai-wont-replace-delphi-developers-but/</link> <pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2026/02/21/ai-wont-replace-delphi-developers-but/</guid> </item> <item> <title>Book Review: Apps and Services with .NET 10 (Third Edition) by Mark J. Price</title> <category>.NET</category> <category>ASP.NET Core</category> <category>Training</category> <description>&lt;h1&gt;Book Review: Apps and Services with .NET 10 (Third Edition) by Mark J. Price&lt;/h1&gt; &lt;p&gt;Mark J. Price has done it again. After his excellent &lt;em&gt;C# 14 and .NET 10 – Modern Cross-Platform Development Fundamentals&lt;/em&gt;, I could hardly wait for this third edition of &lt;em&gt;Apps and Services with .NET 10&lt;/em&gt; to be released — and it absolutely does not disappoint. This is the third book in Mark&#39;s four-volume .NET 10 learning quartet, and it is exactly where the series hits its stride: broad in scope, practical in approach, and packed with real-world examples for every single topic it covers.&lt;/p&gt; &lt;p&gt;If you are a .NET developer looking to move beyond the fundamentals and into the technologies that actually power modern applications and services, this book belongs on your desk.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2026/02/20/book-review-apps-and-services-with-net-10-third-edition-by-mark-j-price/</link> <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2026/02/20/book-review-apps-and-services-with-net-10-third-edition-by-mark-j-price/</guid> </item> <item> <title>TMS Training Days 2026 in Rotterdam – April 23-24!</title> <category>Delphi</category> <category>Delphi</category> <category>FireMonkey</category> <category>Training</category> <category>VCL</category> <category>Windows</category> <description>&lt;h1&gt;TMS Training Days 2026 in Rotterdam – April 23-24!&lt;/h1&gt; &lt;p&gt;I&#39;m thrilled to announce that I&#39;ll be speaking at &lt;strong&gt;TMS Training Days 2026&lt;/strong&gt; in Rotterdam, and I hope to see you there! After successful events in Lille and Bruges, the TMS team is bringing this incredible two-day developer conference to the &lt;strong&gt;Rotterdam Marriott Hotel&lt;/strong&gt; (right across from Rotterdam Central Station) on &lt;strong&gt;April 23-24, 2026&lt;/strong&gt;.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2026/02/10/tms-training-days-2026-in-rotterdam--april-23-24/</link> <pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2026/02/10/tms-training-days-2026-in-rotterdam--april-23-24/</guid> </item> <item> <title>Stop the Hype! Let&#39;s Look at the Facts Before Leaving Next.js in 2026</title> <category>Delphi</category> <category>Next.js</category> <category>Next.js</category> <category>React</category> <category>React</category> <category>TypeScript</category> <description>&lt;h1&gt;Stop the Hype! Let&#39;s Look at the Facts Before Leaving Next.js in 2026&lt;/h1&gt; &lt;p&gt;Here&#39;s an interesting fact: When I got deeply involved in the Delphi community back in 2004, &lt;strong&gt;everybody was telling me &#34;Delphi is dead.&#34;&lt;/strong&gt; The hot new thing was .NET, and conventional wisdom said anyone still writing in Delphi was living in the past. &lt;/p&gt; &lt;p&gt;Guess what? It&#39;s 2026, and &lt;strong&gt;Delphi is still in production, still being actively developed, and I&#39;m still making money writing code in Delphi&lt;/strong&gt;. In fact, my entire consulting business is built partly on helping companies maintain and modernize their Delphi applications.&lt;/p&gt; &lt;p&gt;I learned something valuable from that experience: &lt;strong&gt;premature obituaries and hype cycles are terrible guides for technology decisions&lt;/strong&gt;. Longevity comes from solving real problems reliably, not from being the hottest thing on tech Twitter.&lt;/p&gt; &lt;p&gt;Which brings me to today&#39;s situation.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2026/01/30/stop-the-hype-lets-look-at-the-facts-before-leaving-nextjs-in-2026/</link> <pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2026/01/30/stop-the-hype-lets-look-at-the-facts-before-leaving-nextjs-in-2026/</guid> </item> <item> <title>RAD Is Not No-Code: Why Delphi Still Dominates Windows Desktop Development After 30 Years</title> <category>Delphi</category> <category>Delphi</category> <category>FireMonkey</category> <category>VCL</category> <category>Windows</category> <description>&lt;h1&gt;RAD Is Not No-Code: Why Delphi Still Dominates Windows Desktop Development After 30 Years&lt;/h1&gt; &lt;p&gt;The no-code movement is having its moment. Articles proclaim its death, its rebirth, its transformation. But amid all this noise, there&#39;s a critical distinction being lost: &lt;/p&gt; &lt;p&gt;!!! note &#34;&#34;&lt;/p&gt; &lt;pre&gt;&lt;code&gt;**Rapid Application Development (RAD) is not no-code, and the difference matters more than ever.** &lt;/code&gt;&lt;/pre&gt; &lt;p&gt;I&#39;ve been building Windows desktop applications with Delphi for three decades. During that time, I&#39;ve watched trends come and go—from the CASE tool revolution to today&#39;s no-code platforms. And I&#39;ve learned something important: there&#39;s a vast difference between tools that eliminate coding and tools that &lt;em&gt;accelerate&lt;/em&gt; coding through intelligent design.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2026/01/05/rad-is-not-no-code-why-delphi-still-dominates-windows-desktop-development-after-30-years/</link> <pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2026/01/05/rad-is-not-no-code-why-delphi-still-dominates-windows-desktop-development-after-30-years/</guid> </item> <item> <title>From 30 Years of Delphi to the Modern Web: My Journey Into 2026</title> <category>Delphi</category> <category>Delphi</category> <category>FireMonkey</category> <category>RAD Studio</category> <category>VCL</category> <category>Windows</category> <description>&lt;h1&gt;From 30 Years of Delphi to the Modern Web: My Journey Into 2026&lt;/h1&gt; &lt;p&gt;&lt;em&gt;A personal reflection on three decades of desktop development, and what comes next&lt;/em&gt;&lt;/p&gt; &lt;hr&gt; &lt;h2&gt;The Landscape Has Changed&lt;/h2&gt; &lt;p&gt;I started with Delphi before most developers today wrote their first line of code. Over 30 years, I watched Borland rise, worked inside the company, and built a career helping others master the platform. I&#39;ve created hundreds of videos, spoken at conferences worldwide, and earned recognition in the Delphi community.&lt;/p&gt; &lt;p&gt;But I&#39;m not writing this to reminisce. I&#39;m writing because the world has fundamentally shifted, and pretending otherwise helps no one.&lt;/p&gt; &lt;p&gt;The traditional setup—a developer at a desk, building Windows applications that run on office PCs—is no longer the default. People work from phones on trains. They access business systems from tablets in warehouses. Executives approve invoices from airport lounges.&lt;/p&gt; &lt;p&gt;The desktop isn&#39;t dead. But it&#39;s no longer the center of gravity.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2026/01/02/from-30-years-of-delphi-to-the-modern-web-my-journey-into-2026/</link> <pubDate>Fri, 02 Jan 2026 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2026/01/02/from-30-years-of-delphi-to-the-modern-web-my-journey-into-2026/</guid> </item> <item> <title>GitHub Is Not a Backup (And Why That Matters)</title> <category>.NET</category> <category>ASP.NET Core</category> <category>Delphi</category> <category>Delphi</category> <category>FireMonkey</category> <category>Next.js</category> <category>Next.js</category> <category>React</category> <category>React</category> <category>Training</category> <category>TypeScript</category> <category>VCL</category> <category>Windows</category> <description>&lt;h1&gt;GitHub Is Not a Backup (And Why That Matters)&lt;/h1&gt; &lt;p&gt;I came across something this morning that made me pause: a developer celebrating their move from daily ZIP files to GitHub, calling it their &#34;backup solution.&#34; While I&#39;m genuinely happy they&#39;ve discovered version control, this statement reveals a dangerous misconception that&#39;s worth addressing.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Let me be clear: GitHub is not a backup. Version control is not backup. Full stop.&lt;/strong&gt;&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/12/30/github-is-not-a-backup-and-why-that-matters/</link> <pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/12/30/github-is-not-a-backup-and-why-that-matters/</guid> </item> <item> <title>Random Numbers in Delphi: When the RTL is Good Enough (And When It Isn&#39;t)</title> <category>Delphi</category> <category>Delphi</category> <category>FireMonkey</category> <category>RAD Studio</category> <category>VCL</category> <category>Windows</category> <description>&lt;h1&gt;Random Numbers in Delphi: When the RTL is Good Enough (And When It Isn&#39;t)&lt;/h1&gt; &lt;p&gt;I recently came across several Delphi implementations in which developers used their own random number generators, apparently unaware of—or unconvinced by—the built-in &lt;code&gt;Randomize&lt;/code&gt; and &lt;code&gt;Random&lt;/code&gt; functions that have been part of the RTL since Delphi&#39;s earliest days. Some developers seem to believe they can do better than the runtime library, while others might simply not know what&#39;s already available.&lt;/p&gt; &lt;p&gt;Let&#39;s take a fair look at Delphi&#39;s built-in random number generation, understand when it&#39;s perfectly adequate, and identify the rare cases where you might actually need something more sophisticated.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/12/29/random-numbers-in-delphi-when-the-rtl-is-good-enough-and-when-it-isnt/</link> <pubDate>Mon, 29 Dec 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/12/29/random-numbers-in-delphi-when-the-rtl-is-good-enough-and-when-it-isnt/</guid> </item> <item> <title>TStringList: The Swiss Army Knife You&#39;re Probably Underusing</title> <category>Delphi</category> <category>Delphi</category> <category>FireMonkey</category> <category>RAD Studio</category> <category>VCL</category> <category>Windows</category> <description>&lt;h1&gt;TStringList: The Swiss Army Knife You&#39;re Probably Underusing&lt;/h1&gt; &lt;p&gt;If you&#39;ve been writing Delphi code for any length of time, you&#39;ve used &lt;code&gt;TStringList&lt;/code&gt;. It&#39;s the go-to container for managing lists of strings. But here&#39;s the thing: most developers only scratch the surface of what this versatile class can do.&lt;/p&gt; &lt;p&gt;Let me show you three powerful features that often fly under the radar: duplicate handling, built-in sorting, and the surprisingly useful &lt;code&gt;CommaText&lt;/code&gt; property.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/12/27/tstringlist-the-swiss-army-knife-youre-probably-underusing/</link> <pubDate>Sat, 27 Dec 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/12/27/tstringlist-the-swiss-army-knife-youre-probably-underusing/</guid> </item> <item> <title>🎅 Santa&#39;s Sleigh: A Festive Delphi VCL Experiment 🎄</title> <category>Delphi</category> <category>Delphi</category> <category>RAD Studio</category> <category>Windows</category> <description>&lt;h1&gt;🎅 Santa&#39;s Sleigh: A Festive Delphi VCL Experiment 🎄&lt;/h1&gt; &lt;h2&gt;Happy Holidays to the Delphi Community! ✨&lt;/h2&gt; &lt;p&gt;As the holiday season wraps us in its magical embrace, I wanted to share a fun little project that perfectly captures the Christmas spirit while showcasing the power of AI-assisted Delphi development. Meet &lt;strong&gt;Santa&#39;s Sleigh&lt;/strong&gt; - a delightful VCL application that brings Santa and his reindeer flying across your Windows desktop!&lt;/p&gt; &lt;h2&gt;The Magic Behind the Scenes 🪄&lt;/h2&gt; &lt;p&gt;This isn&#39;t just another holiday greeting - it&#39;s a fascinating experiment in modern Delphi development. The entire application was created through AI-powered coding, demonstrating just how far we&#39;ve come in leveraging AI to build real, working applications.&lt;/p&gt; &lt;h3&gt;What Makes This Special? 🌟&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Santa&#39;s Sleigh&lt;/strong&gt; is a transparent, borderless VCL application that features:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;🦌 &lt;strong&gt;Rudolph Leading the Way&lt;/strong&gt;: Watch as Rudolph with his glowing red nose leads the reindeer team&lt;/li&gt; &lt;li&gt;🛷 &lt;strong&gt;Authentic Sleigh Design&lt;/strong&gt;: Hand-drawn sleigh with proper curved runners and gold trim&lt;/li&gt; &lt;li&gt;🎅 &lt;strong&gt;Jolly Santa&lt;/strong&gt;: Complete with his iconic red suit, white beard, and festive hat&lt;/li&gt; &lt;li&gt;✨ &lt;strong&gt;Smooth Animation&lt;/strong&gt;: 60 FPS animation with gentle wave motion as Santa glides across your screen&lt;/li&gt; &lt;li&gt;🪟 &lt;strong&gt;Transparent Magic&lt;/strong&gt;: Using VCL&#39;s transparency features, only Santa&#39;s sleigh appears - no window frame in sight!&lt;/li&gt; &lt;li&gt;💫 &lt;strong&gt;Trailing Sparkles&lt;/strong&gt;: Christmas magic sparkles trail behind the sleigh&lt;/li&gt; &lt;/ul&gt;</description> <link>https://www.holgerscode.com/blog/2025/12/21/-santas-sleigh-a-festive-delphi-vcl-experiment-/</link> <pubDate>Sun, 21 Dec 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/12/21/-santas-sleigh-a-festive-delphi-vcl-experiment-/</guid> </item> <item> <title>A Christmas Carol for Delphi Developers: “AI Humbug!” … or Maybe Not? 🎄</title> <category>Delphi</category> <category>Delphi</category> <category>RAD Studio</category> <category>Windows</category> <description>&lt;h1&gt;&lt;strong&gt;A Christmas Carol for Delphi Developers: “AI Humbug!” … or Maybe Not? 🎄&lt;/strong&gt;&lt;/h1&gt; &lt;p&gt;Every December, you can hear it echo across developer forums:&lt;br&gt; &lt;em&gt;“AI? Bah, humbug! It doesn’t help with &lt;/em&gt;&lt;em&gt;real Delphi code&lt;/em&gt;&lt;em&gt;!”&lt;/em&gt; &lt;/p&gt; &lt;p&gt;If you’ve spent decades refining your Delphi craft — from Turbo Pascal to today’s VCL and FireMonkey projects — you might share that sentiment. But let me show you why those days are fading faster than a pine tree in January. &lt;/p&gt; &lt;p&gt;Recently, I built a &lt;strong&gt;new Delphi system information component&lt;/strong&gt;, &lt;a href=&#34;https://github.com/holgerflick/delphi.sysinfo&#34;&gt;&lt;code&gt;TSysInfo&lt;/code&gt;&lt;/a&gt;, in about &lt;em&gt;one hour&lt;/em&gt;. &lt;/p&gt; &lt;p&gt;No, not because I worked all night — but because &lt;strong&gt;AI helped&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;&lt;img alt=&#34;Screenshot of component in RAD Studio IDE&#34; src=&#34;./images/37-01.png&#34;&gt;&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/12/17/a-christmas-carol-for-delphi-developers-ai-humbug--or-maybe-not-/</link> <pubDate>Wed, 17 Dec 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/12/17/a-christmas-carol-for-delphi-developers-ai-humbug--or-maybe-not-/</guid> </item> <item> <title>Looking Forward to Speaking at TMS Training Days 2026 in Rotterdam!</title> <category>Delphi</category> <category>Delphi</category> <category>FireDAC</category> <category>Linux</category> <category>RAD Studio</category> <category>Training</category> <category>Windows</category> <description>&lt;h1&gt;Looking Forward to Speaking at TMS Training Days 2026 in Rotterdam!&lt;/h1&gt; &lt;p&gt;I’m very excited to share some great news — &lt;strong&gt;TMS Software has announced the next edition of TMS Training Days&lt;/strong&gt;, which will take place in &lt;strong&gt;Rotterdam, the Netherlands, on April 23–24, 2026&lt;/strong&gt;!&lt;/p&gt; &lt;p&gt;This isn’t my first time being part of a TMS event, and even though I’ve been a bit quiet lately when it comes to &lt;strong&gt;TMS&lt;/strong&gt; and &lt;strong&gt;Delphi&lt;/strong&gt;, I’m proud and truly honored to be invited again to speak at yet another &lt;strong&gt;TMS Days&lt;/strong&gt;.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/12/11/looking-forward-to-speaking-at-tms-training-days-2026-in-rotterdam/</link> <pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/12/11/looking-forward-to-speaking-at-tms-training-days-2026-in-rotterdam/</guid> </item> <item> <title>Why IBExpert Remains My Go-To Tool for Firebird Database Management</title> <category>Delphi</category> <category>Delphi</category> <category>FireDAC</category> <category>Linux</category> <category>RAD Studio</category> <category>Windows</category> <description>&lt;h1&gt;Why IBExpert Remains My Go-To Tool for Firebird Database Management&lt;/h1&gt; &lt;p&gt;After 30 years in software development, I&#39;ve learned that specialized tools almost always outperform generalist solutions. Nowhere is this more evident than in database management, where IBExpert stands as the undisputed champion for Firebird databases.&lt;/p&gt; &lt;h2&gt;The Gold Standard for Firebird&lt;/h2&gt; &lt;p&gt;Let me be blunt: if you&#39;re working with Firebird databases and you&#39;re not using IBExpert, you&#39;re making your life harder than it needs to be. I&#39;ve tried the alternatives—those Swiss Army knife database tools that promise to handle &#34;any database.&#34; They all fall short when it comes to Firebird. The difference isn&#39;t subtle; it&#39;s the gap between a tool built by people who truly understand Firebird&#39;s architecture and one where Firebird support was tacked on as an afterthought.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/11/21/why-ibexpert-remains-my-go-to-tool-for-firebird-database-management/</link> <pubDate>Fri, 21 Nov 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/11/21/why-ibexpert-remains-my-go-to-tool-for-firebird-database-management/</guid> </item> <item> <title>Why TMS XData Is My Go-To Choice for Building Web Services in Delphi</title> <category>Delphi</category> <category>Delphi</category> <category>Linux</category> <category>Windows</category> <description>&lt;h1&gt;Why TMS XData Is My Go-To Choice for Building Web Services in Delphi&lt;/h1&gt; &lt;p&gt;After years of working with various frameworks and tools for building web services, I&#39;ve come to a clear conclusion: &lt;strong&gt;TMS XData is the best tool for the job—if you&#39;re a Delphi developer&lt;/strong&gt;. Now, I&#39;ll be upfront—I&#39;ve been doing extensive work with the company that distributes TMS XData, so there&#39;s certainly a personal connection here. But my preference isn&#39;t just based on familiarity or convenience. There are solid, practical reasons why I keep reaching for XData whenever I need to build robust, professional web services in the Delphi ecosystem.&lt;/p&gt; &lt;p&gt;Let me be clear from the start: I&#39;m talking specifically about &lt;strong&gt;the best solution for Delphi developers&lt;/strong&gt;. Other languages have their own excellent options—Node.js has Express, Python has Flask and FastAPI, .NET has ASP.NET Core. Each language ecosystem has evolved its own tools optimized for its strengths. But if your world is Delphi, and you need to build web services that leverage your existing Delphi skills and codebase, TMS XData stands above the rest.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/11/12/why-tms-xdata-is-my-go-to-choice-for-building-web-services-in-delphi/</link> <pubDate>Wed, 12 Nov 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/11/12/why-tms-xdata-is-my-go-to-choice-for-building-web-services-in-delphi/</guid> </item> <item> <title>Why Mark J. Price’s “C# 14 and .NET 10” Belongs on Every Modern .NET Developer’s Desk</title> <category>.NET</category> <category>ASP.NET Core</category> <category>Linux</category> <category>Training</category> <category>Windows</category> <category>macOS</category> <description>&lt;h1&gt;Why Mark J. Price’s “C# 14 and .NET 10” Belongs on Every Modern .NET Developer’s Desk&lt;/h1&gt; &lt;blockquote&gt; &lt;p&gt;A Comprehensive Update That Justifies Its Place on Your Shelf&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;a href=&#34;https://www.packtpub.com/en-us/product/c-14-and-net-10-modern-cross-platform-development-fundamentals-9781836206620&#34;&gt;This is a book review for &lt;strong&gt;C# 14 and .NET 10 – Modern Cross-Platform Development Fundamentals&lt;/strong&gt; by Mark J. Price (Packt Publishing)&lt;/a&gt;&lt;/p&gt; &lt;p&gt;As someone who has followed the evolution of development platforms across decades, I can confidently say this is &lt;strong&gt;the essential purchase&lt;/strong&gt; for any C# developer looking to stay current with .NET 10. Even if you own the .NET 9 edition, this book earns its place in your library.&lt;/p&gt; &lt;h2&gt;Why This Edition Matters&lt;/h2&gt; &lt;p&gt;Mark Price has put considerable effort into updating every page for this new version—and it shows. This isn’t a lazy refresh with minor tweaks; it’s a thorough revision that covers the meaningful changes in C# 14 and .NET 10, from the new &lt;code&gt;NumericOrdering&lt;/code&gt; option and &lt;code&gt;OrderedDictionary&lt;/code&gt; enhancements to field modifiers, partial events, and instance constructors.&lt;/p&gt; &lt;p&gt;The book excels at its stated purpose: providing an easy-to-follow guide through the fundamentals. It strikes that sweet spot between beginner-friendly and substantive enough for intermediate developers to learn something new.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/11/11/why-mark-j-prices-c-14-and-net-10-belongs-on-every-modern-net-developers-desk/</link> <pubDate>Tue, 11 Nov 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/11/11/why-mark-j-prices-c-14-and-net-10-belongs-on-every-modern-net-developers-desk/</guid> </item> <item> <title>Migrationsstrategie und Planung: Von Delphi zu Next.js (Teil 5 von 5)</title> <category>Delphi</category> <category>Next.js</category> <category>React</category> <category>Training</category> <description>&lt;h1&gt;Migrationsstrategie und Planung: Von Delphi zu Next.js (Teil 5 von 5)&lt;/h1&gt; &lt;h2&gt;Das große Ganze&lt;/h2&gt; &lt;p&gt;Wir haben TypeScript-Grundlagen, React-Komponenten und die Next.js-Architektur behandelt. Jetzt sprechen wir über das, was wirklich zählt: Wie Sie Ihre Delphi-Anwendungen tatsächlich ins Web migrieren, ohne dabei Ihr Unternehmen zu zerstören.&lt;/p&gt; &lt;p&gt;Hier geht es nicht mehr um Code. Es geht um Strategie, Risikomanagement und kluge Geschäftsentscheidungen.&lt;/p&gt; &lt;h2&gt;Das Dilemma des Delphi-Entwicklers&lt;/h2&gt; &lt;p&gt;Sie befinden sich in einer schwierigen Lage. Sie haben:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Vermögenswerte:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Anwendungen, die perfekt funktionieren&lt;/li&gt; &lt;li&gt;Jahre oder Jahrzehnte der Geschäftslogik&lt;/li&gt; &lt;li&gt;Ein Team, das in Delphi produktiv ist&lt;/li&gt; &lt;li&gt;Kunden, die (meistens) zufrieden sind&lt;/li&gt; &lt;li&gt;Umsätze, die von diesen Systemen abhängen&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Druck:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Kunden fragen nach Web-/Mobilzugang&lt;/li&gt; &lt;li&gt;Schwierigkeiten beim Einstellen von Delphi-Entwicklern&lt;/li&gt; &lt;li&gt;Steigende Lizenzkosten&lt;/li&gt; &lt;li&gt;Moderne UX-Erwartungen&lt;/li&gt; &lt;li&gt;Konkurrenz mit neueren Plattformen&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Sorgen:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&#34;Können wir uns eine komplette Neuentwicklung leisten?&#34;&lt;/li&gt; &lt;li&gt;&#34;Was ist, wenn die Migration fehlschlägt?&#34;&lt;/li&gt; &lt;li&gt;&#34;Wird sich unser Team anpassen?&#34;&lt;/li&gt; &lt;li&gt;&#34;Können wir beide Systeme während der Übergangszeit pflegen?&#34;&lt;/li&gt; &lt;li&gt;&#34;Was ist, wenn wir Kunden während der Umstellung verlieren?&#34;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Das sind berechtigte Sorgen. Lassen Sie uns sie systematisch angehen.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/11/10/delphi-to-nextjs-part5-de/</link> <pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/11/10/delphi-to-nextjs-part5-de/</guid> </item> <item> <title>Migration Strategy and Planning: From Delphi to Next.js (Part 5 of 5)</title> <category>Delphi</category> <category>Next.js</category> <category>React</category> <category>Training</category> <description>&lt;h1&gt;Migration Strategy and Planning: From Delphi to Next.js (Part 5 of 5)&lt;/h1&gt; &lt;h2&gt;The Complete Picture&lt;/h2&gt; &lt;p&gt;We&#39;ve covered TypeScript fundamentals, React components, and Next.js architecture. Now let&#39;s talk about what really matters: how to actually migrate your Delphi applications to the web without destroying your business in the process.&lt;/p&gt; &lt;p&gt;This isn&#39;t about code anymore. This is about strategy, risk management, and making smart business decisions.&lt;/p&gt; &lt;h2&gt;The Delphi Developer&#39;s Dilemma&lt;/h2&gt; &lt;p&gt;You&#39;re in a tough spot. You have:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Assets:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Applications that work perfectly&lt;/li&gt; &lt;li&gt;Years or decades of business logic&lt;/li&gt; &lt;li&gt;A team that&#39;s productive in Delphi&lt;/li&gt; &lt;li&gt;Clients who are (mostly) happy&lt;/li&gt; &lt;li&gt;Revenue that depends on these systems&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Pressures:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Clients asking for web/mobile access&lt;/li&gt; &lt;li&gt;Difficulty hiring Delphi developers&lt;/li&gt; &lt;li&gt;Rising licensing costs&lt;/li&gt; &lt;li&gt;Modern UX expectations&lt;/li&gt; &lt;li&gt;Competition using newer platforms&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Concerns:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&#34;Can we afford a complete rewrite?&#34;&lt;/li&gt; &lt;li&gt;&#34;What if the migration fails?&#34;&lt;/li&gt; &lt;li&gt;&#34;Will our team adapt?&#34;&lt;/li&gt; &lt;li&gt;&#34;Can we maintain both systems during transition?&#34;&lt;/li&gt; &lt;li&gt;&#34;What if we lose clients during the change?&#34;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;These are legitimate concerns. Let&#39;s address them systematically.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/11/10/delphi-to-nextjs-part5/</link> <pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/11/10/delphi-to-nextjs-part5/</guid> </item> <item> <title>Next.js verstehen: Struktur und Architektur (Teil 4 von 5)</title> <category>Delphi</category> <category>Next.js</category> <category>React</category> <category>Training</category> <description>&lt;h1&gt;Next.js verstehen: Struktur und Architektur (Teil 4 von 5)&lt;/h1&gt; &lt;h2&gt;Das große Ganze&lt;/h2&gt; &lt;p&gt;Sie haben TypeScript (Teil 2) und React Components (Teil 3) gelernt. Jetzt lassen Sie uns verstehen, wie Next.js alles zu einem vollständigen Application Framework zusammenbringt.&lt;/p&gt; &lt;p&gt;Denken Sie an Next.js als das Äquivalent zu Delphis Projektstruktur, Runtime Library und Deployment Tools - alles kombiniert. Es ist nicht nur eine Library - es ist ein vollständiges Framework für das Erstellen von Web-Anwendungen.&lt;/p&gt; &lt;h2&gt;Warum Next.js zusätzlich zu React?&lt;/h2&gt; &lt;p&gt;React ist eine UI Library - sie hilft Ihnen beim Erstellen von Komponenten. Aber eine echte Anwendung braucht mehr:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Routing (Navigation zwischen Seiten)&lt;/li&gt; &lt;li&gt;Data Fetching (Laden von Informationen aus Datenbanken)&lt;/li&gt; &lt;li&gt;API Endpoints (Backend Logic)&lt;/li&gt; &lt;li&gt;Deployment und Optimierung&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Next.js stellt all das zur Verfügung. Es ist wie der Unterschied zwischen nur der VCL versus der kompletten Delphi IDE und Runtime.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/11/03/delphi-to-nextjs-part4-de/</link> <pubDate>Mon, 03 Nov 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/11/03/delphi-to-nextjs-part4-de/</guid> </item> <item> <title>Understanding Next.js: Structure and Architecture (Part 4 of 5)</title> <category>Delphi</category> <category>Next.js</category> <category>React</category> <category>Training</category> <description>&lt;h1&gt;Understanding Next.js: Structure and Architecture (Part 4 of 5)&lt;/h1&gt; &lt;h2&gt;The Big Picture&lt;/h2&gt; &lt;p&gt;You&#39;ve learned TypeScript (Part 2) and React components (Part 3). Now let&#39;s understand how Next.js brings it all together into a complete application framework.&lt;/p&gt; &lt;p&gt;Think of Next.js as the equivalent of Delphi&#39;s project structure, runtime library, and deployment tools all combined. It&#39;s not just a library—it&#39;s a complete framework for building web applications.&lt;/p&gt; &lt;h2&gt;Why Next.js on Top of React?&lt;/h2&gt; &lt;p&gt;React is a UI library—it helps you build components. But a real application needs more:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Routing (navigating between pages)&lt;/li&gt; &lt;li&gt;Data fetching (loading information from databases)&lt;/li&gt; &lt;li&gt;API endpoints (backend logic)&lt;/li&gt; &lt;li&gt;Deployment and optimization&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Next.js provides all of this. It&#39;s like the difference between having just the VCL versus having the complete Delphi IDE and runtime.&lt;/p&gt;</description> <link>https://www.holgerscode.com/blog/2025/11/03/delphi-to-nextjs-part4/</link> <pubDate>Mon, 03 Nov 2025 00:00:00 +0000</pubDate> <source url="https://www.holgerscode.com/feed_rss_created.xml">Holger's Code</source><guid isPermaLink="true">https://www.holgerscode.com/blog/2025/11/03/delphi-to-nextjs-part4/</guid> </item> </channel> </rss>