<?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>DEV Community: Serge Pilko</title>
    <description>The latest articles on DEV Community by Serge Pilko (@serge_pilko).</description>
    <link>https://dev.to/serge_pilko</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2914638%2F65e0cd54-2b74-4d57-8d3c-1f14eae6ca96.jpg</url>
      <title>DEV Community: Serge Pilko</title>
      <link>https://dev.to/serge_pilko</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/serge_pilko"/>
    <language>en</language>
    <item>
      <title>Delphi Migration Pitfalls: What We Learned After Working with 125M+ Lines of Code</title>
      <dc:creator>Serge Pilko</dc:creator>
      <pubDate>Wed, 08 Oct 2025 07:44:19 +0000</pubDate>
      <link>https://dev.to/serge_pilko/delphi-migration-pitfalls-what-we-learned-after-working-with-125m-lines-of-code-2j9j</link>
      <guid>https://dev.to/serge_pilko/delphi-migration-pitfalls-what-we-learned-after-working-with-125m-lines-of-code-2j9j</guid>
      <description>&lt;p&gt;Modernizing a Delphi system can feel like walking into a maze with no map. No documentation, outdated components, business logic buried in event handlers written 20 years ago.&lt;/p&gt;

&lt;p&gt;At Softacom, we have migrated and modernized projects with millions of lines of Delphi code, dealing with BDE, ANSI strings to FireDAC, Unicode, and 64-bit. Along the way, we have seen what really breaks modernization projects and how to avoid it.&lt;/p&gt;

&lt;p&gt;In our new guide, we share:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The most common pitfalls that derail Delphi modernization&lt;/li&gt;
&lt;li&gt;Practical ways to fix them&lt;/li&gt;
&lt;li&gt;Real-world examples from enterprise projects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re planning to move to a newer Delphi version or thinking about modernization, this guide can help you cut risk, time, and cost.&lt;/p&gt;

&lt;p&gt;Read the full article here: &lt;a href="https://www.softacom.com/blog/delphi-migration-pitfalls-what-we-learned-after-working-with-125m-lines-of-code/" rel="noopener noreferrer"&gt;https://www.softacom.com/blog/delphi-migration-pitfalls-what-we-learned-after-working-with-125m-lines-of-code/&lt;/a&gt; &lt;/p&gt;

</description>
      <category>delphi</category>
      <category>tutorial</category>
      <category>resources</category>
      <category>modernization</category>
    </item>
    <item>
      <title>How to Use ONNX Runtime in Delphi for Object Detection</title>
      <dc:creator>Serge Pilko</dc:creator>
      <pubDate>Thu, 03 Jul 2025 09:49:17 +0000</pubDate>
      <link>https://dev.to/serge_pilko/how-to-use-onnx-runtime-in-delphi-for-object-detection-53hm</link>
      <guid>https://dev.to/serge_pilko/how-to-use-onnx-runtime-in-delphi-for-object-detection-53hm</guid>
      <description>&lt;p&gt;Can you run modern AI models in Delphi? Yes, and we’ll show you how.&lt;/p&gt;

&lt;p&gt;We’ve put together a demo where we show &lt;strong&gt;how to use ONNX Runtime in Delphi to run object detection&lt;/strong&gt;. Only practical steps, real code, and working results.&lt;/p&gt;

&lt;p&gt;In this video:&lt;br&gt;
👉How ONNX Runtime works and why we chose it&lt;br&gt;
👉We compare 3 different integration approaches&lt;br&gt;
👉Show live examples of AI-powered object detection in action&lt;br&gt;
👉Show how to use ONNX Runtime in Delphi&lt;br&gt;
👉Pros and cons of each method, from HTTP services to native DLL calls and Python wrappers&lt;/p&gt;

&lt;p&gt;If you're working with Delphi and want to explore AI integration, this is the perfect starting point.&lt;/p&gt;

&lt;p&gt;Watch the full video here: &lt;a href="https://youtu.be/WDaCjraF9ts" rel="noopener noreferrer"&gt;https://youtu.be/WDaCjraF9ts&lt;/a&gt; &lt;/p&gt;

</description>
      <category>delphi</category>
      <category>ai</category>
      <category>tutorial</category>
      <category>learning</category>
    </item>
    <item>
      <title>E-Commerce Application Monitoring with Structured Logging Using Serilog in .NET Core</title>
      <dc:creator>Serge Pilko</dc:creator>
      <pubDate>Wed, 18 Jun 2025 09:44:42 +0000</pubDate>
      <link>https://dev.to/softacom/e-commerce-application-monitoring-with-structured-logging-using-serilog-in-net-core-4g72</link>
      <guid>https://dev.to/softacom/e-commerce-application-monitoring-with-structured-logging-using-serilog-in-net-core-4g72</guid>
      <description>&lt;p&gt;Struggling to debug your e-commerce application?&lt;/p&gt;

&lt;p&gt;Finding a bug without proper logging is like looking for a needle in a haystack.&lt;/p&gt;

&lt;p&gt;When something goes wrong, you need context: which user placed the order, which product was in their basket, and when it happened.&lt;/p&gt;

&lt;p&gt;Serilog’s structured logging lets you track everything down to the finest details. Resolve problems faster, reduce customer complaints, and keep your application healthy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read more in our new article:&lt;/strong&gt; &lt;a href="https://www.softacom.com/blog/e-commerce-application-monitoring-with-structured-logging-using-serilog-in-net-core/" rel="noopener noreferrer"&gt;https://www.softacom.com/blog/e-commerce-application-monitoring-with-structured-logging-using-serilog-in-net-core/&lt;/a&gt; &lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>learning</category>
    </item>
    <item>
      <title>IoT Sensor Data Management System with MongoDB and .NET</title>
      <dc:creator>Serge Pilko</dc:creator>
      <pubDate>Mon, 26 May 2025 10:08:12 +0000</pubDate>
      <link>https://dev.to/softacom/iot-sensor-data-management-system-with-mongodb-and-net-3epm</link>
      <guid>https://dev.to/softacom/iot-sensor-data-management-system-with-mongodb-and-net-3epm</guid>
      <description>&lt;p&gt;Still stuck with legacy systems that choke on real-time data?&lt;br&gt;
Trying to build a smart IoT solution but your old tech stack just can’t keep up?&lt;/p&gt;

&lt;p&gt;When your system wasn’t designed for rapid sensor input, flexible schemas, or scalable queries, adding new functionality feels like pushing a boulder uphill.&lt;/p&gt;

&lt;p&gt;Good news: there’s a better way.&lt;/p&gt;

&lt;p&gt;🚀.NET + MongoDB is a powerful combo for modernizing data-heavy applications, like real-time crop monitoring, environmental tracking, or industrial sensors.&lt;/p&gt;

&lt;p&gt;In our new blog post, we walk you through building an IoT Sensor Data Management System from scratch using MongoDB and .NET. You'll see how to:&lt;/p&gt;

&lt;p&gt;✅ Handle unstructured data from sensors&lt;br&gt;
✅ Build scalable APIs&lt;br&gt;
✅ Calculate averages, update readings, and clean up stale data with TTL&lt;br&gt;
✅ Run everything locally for fast testing&lt;/p&gt;

&lt;p&gt;👉 Read the full post: &lt;a href="https://www.softacom.com/blog/iot-sensor-data-management-system-with-mongodb-and-net/" rel="noopener noreferrer"&gt;https://www.softacom.com/blog/iot-sensor-data-management-system-with-mongodb-and-net/&lt;/a&gt; &lt;/p&gt;

</description>
      <category>programming</category>
      <category>tutorial</category>
      <category>dotnet</category>
      <category>learning</category>
    </item>
    <item>
      <title>Where Can I Get an Idea for AI Functionality in My Product? – Or Stop Bombarding Me with AI!</title>
      <dc:creator>Serge Pilko</dc:creator>
      <pubDate>Thu, 15 May 2025 11:06:06 +0000</pubDate>
      <link>https://dev.to/softacom/where-can-i-get-an-idea-for-ai-functionality-in-my-product-or-stop-bombarding-me-with-ai-114f</link>
      <guid>https://dev.to/softacom/where-can-i-get-an-idea-for-ai-functionality-in-my-product-or-stop-bombarding-me-with-ai-114f</guid>
      <description>&lt;p&gt;Everyone’s talking about AI. But is anyone actually building something useful with it?&lt;/p&gt;

&lt;p&gt;At Softacom, we see it all the time: companies rushing to add AI just to keep up, often without a clear purpose or ROI.&lt;/p&gt;

&lt;p&gt;In this article, our CEO and Founder, Serge Pilko, is talking about the real value of AI in software products, with practical examples.&lt;/p&gt;

&lt;p&gt;👉 Read: ​​&lt;a href="https://www.softacom.com/serge-pilkos-insights/where-can-i-get-an-idea-for-ai-functionality-in-my-product-or-stop-bombarding-me-with-ai/" rel="noopener noreferrer"&gt;https://www.softacom.com/serge-pilkos-insights/where-can-i-get-an-idea-for-ai-functionality-in-my-product-or-stop-bombarding-me-with-ai/&lt;/a&gt; &lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>deeplearning</category>
    </item>
    <item>
      <title>Understanding Middleware in ASP.NET Core</title>
      <dc:creator>Serge Pilko</dc:creator>
      <pubDate>Thu, 08 May 2025 13:37:24 +0000</pubDate>
      <link>https://dev.to/softacom/understanding-middleware-in-aspnet-core-293d</link>
      <guid>https://dev.to/softacom/understanding-middleware-in-aspnet-core-293d</guid>
      <description>&lt;p&gt;ASP.NET Core is built on a modular pipeline of middleware components that handle requests and responses. These components let you add custom logic before or after processing an HTTP request.&lt;/p&gt;

&lt;p&gt;The .NET Core framework includes built-in middleware like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;UseDeveloperExceptionPage&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;UseHttpsRedirection&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;UseCors&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But what if you need custom logic?&lt;/p&gt;

&lt;p&gt;In this article, we’ll show you how to create custom middleware in an ASP.NET Core API to simplify code, reduce duplication, and keep your app modular and maintainable. &lt;strong&gt;Read the full article at&lt;/strong&gt; &lt;a href="https://www.softacom.com/blog/understanding-middleware-in-asp-net-core-logging-correlation-ids-and-best-practices/" rel="noopener noreferrer"&gt;https://www.softacom.com/blog/understanding-middleware-in-asp-net-core-logging-correlation-ids-and-best-practices/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>dotnet</category>
      <category>aspdotnet</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How Softacom Speeds Up .NET Migrations</title>
      <dc:creator>Serge Pilko</dc:creator>
      <pubDate>Wed, 07 May 2025 12:00:23 +0000</pubDate>
      <link>https://dev.to/softacom/how-softacom-speeds-up-delphi-migrations-o76</link>
      <guid>https://dev.to/softacom/how-softacom-speeds-up-delphi-migrations-o76</guid>
      <description>&lt;p&gt;We’ve built an internal AI-powered tool to automate .NET app migrations. Here’s how it works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;A static code analysis engine parses .NET codebases to detect deprecated features. It flags compatibility gaps with modern .NET versions. It also identifies Windows-only dependencies that block cross-platform adoption. The tool uses Natural Language Processing (NLP) to understand code context, for example, to tell apart, say, DataSet used in UI from heavy SQL workflows in business logic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The AI transformation engine recognizes patterns based on real migration projects. It suggests refactors like replacing HttpModule with middleware. Developers then review and refine AI suggestions in VS Code or Visual Studio. This is important for handling edge cases like COM interop.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After transformation, the tool validates the migrated code by generating automated test cases. It compares pre- and post-migration test results to catch regressions and ensure nothing breaks.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Our internal tests show ~50% of code can be migrated automatically, cutting manual effort.&lt;/p&gt;

&lt;p&gt;More details on the AI migration tool and our approach at &lt;a href="https://www.softacom.com/services/ai-tool/" rel="noopener noreferrer"&gt;https://www.softacom.com/services/ai-tool/&lt;/a&gt; &lt;/p&gt;

</description>
      <category>ai</category>
      <category>migration</category>
      <category>dotnet</category>
      <category>programming</category>
    </item>
    <item>
      <title>How to Add AI Image Generation to Your Delphi FMX App</title>
      <dc:creator>Serge Pilko</dc:creator>
      <pubDate>Wed, 16 Apr 2025 15:40:58 +0000</pubDate>
      <link>https://dev.to/softacom/how-to-add-ai-image-generation-to-your-delphi-fmx-app-173e</link>
      <guid>https://dev.to/softacom/how-to-add-ai-image-generation-to-your-delphi-fmx-app-173e</guid>
      <description>&lt;p&gt;In this article, we show how to use OpenAI’s DALL·E models to turn text prompts into images. You’ll learn &lt;strong&gt;how to send requests, handle JSON responses, and display images using both URL and BASE64 formats&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The guide includes clear examples and step-by-step instructions.&lt;/p&gt;

&lt;p&gt;👉 Read more: &lt;a href="https://www.softacom.com/blog/development/image-generation-capabilities-with-delphi-fmx-application-via-openai-api-dall%c2%b7e-models/" rel="noopener noreferrer"&gt;https://www.softacom.com/blog/development/image-generation-capabilities-with-delphi-fmx-application-via-openai-api-dall%c2%b7e-models/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>delphi</category>
      <category>openai</category>
      <category>tutorial</category>
      <category>developer</category>
    </item>
    <item>
      <title>How to Implement Rate Limiting in ASP.NET Core</title>
      <dc:creator>Serge Pilko</dc:creator>
      <pubDate>Thu, 03 Apr 2025 16:04:33 +0000</pubDate>
      <link>https://dev.to/softacom/how-to-implement-rate-limiting-in-aspnet-core-4ekb</link>
      <guid>https://dev.to/softacom/how-to-implement-rate-limiting-in-aspnet-core-4ekb</guid>
      <description>&lt;p&gt;How to Implement Rate Limiting in Your .NET API?&lt;/p&gt;

&lt;p&gt;Rate limiting is essential for optimizing server performance, preventing DDoS attacks, and controlling resource usage. In our latest article, we explore 4 common rate-limiting algorithms and how to implement them in a .NET Core API.&lt;/p&gt;

&lt;p&gt;Read the full article to discover more: &lt;a href="https://www.softacom.com/blog/development/how-to-implement-rate-limiting-in-asp-net-core/" rel="noopener noreferrer"&gt;https://www.softacom.com/blog/development/how-to-implement-rate-limiting-in-asp-net-core/&lt;/a&gt; &lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>aspnet</category>
    </item>
    <item>
      <title>Implementing Health Checks in .NET Core</title>
      <dc:creator>Serge Pilko</dc:creator>
      <pubDate>Mon, 24 Mar 2025 18:22:22 +0000</pubDate>
      <link>https://dev.to/softacom/implementing-health-checks-in-net-core-5f5c</link>
      <guid>https://dev.to/softacom/implementing-health-checks-in-net-core-5f5c</guid>
      <description>&lt;p&gt;How to set up health checks in .NET for reliable monitoring?&lt;/p&gt;

&lt;p&gt;Health checks help ensure system reliability by providing real-time status information. Before .NET Core introduced built-in health checks, developers had to create custom solutions – adding complexity and inconsistency.&lt;/p&gt;

&lt;p&gt;Now, with .NET’s built-in health check API, setting up monitoring is easier than ever. &lt;/p&gt;

&lt;p&gt;Want to learn how to implement health checks in your application? Check out &lt;strong&gt;our step-by-step guide here&lt;/strong&gt;: &lt;a href="https://www.softacom.com/blog/implementing-health-checks-in-net-core/" rel="noopener noreferrer"&gt;https://www.softacom.com/blog/implementing-health-checks-in-net-core/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>dotnetcore</category>
    </item>
    <item>
      <title>Implementing Multi-Touch Using Embarcadero Delphi FMX App</title>
      <dc:creator>Serge Pilko</dc:creator>
      <pubDate>Thu, 13 Mar 2025 15:04:39 +0000</pubDate>
      <link>https://dev.to/softacom/implementing-multi-touch-using-embarcadero-delphi-fmx-app-4pjp</link>
      <guid>https://dev.to/softacom/implementing-multi-touch-using-embarcadero-delphi-fmx-app-4pjp</guid>
      <description>&lt;p&gt;Handling multiple touchpoints in an app can be tricky, but it’s essential for creating interactive experiences on mobile devices. In the latest article, we show you how to enable multi-touch drawing on an Android device using Delphi FMX.&lt;/p&gt;

&lt;p&gt;Learn how to track up to 10 simultaneous touchpoints, process finger movements, and render smooth, responsive lines. 🚀&lt;/p&gt;

&lt;p&gt;Read more 👉 &lt;a href="https://www.softacom.com/blog/how-to-add-multi-touch-to-an-embarcadero-delphi-fmx-app/" rel="noopener noreferrer"&gt;https://www.softacom.com/blog/how-to-add-multi-touch-to-an-embarcadero-delphi-fmx-app/&lt;/a&gt; &lt;/p&gt;

</description>
      <category>delphi</category>
      <category>programming</category>
      <category>learning</category>
      <category>developer</category>
    </item>
  </channel>
</rss>
