<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Denis Dmitriev — Blog</title>
        <link>https://dmt-lab.nl</link>
        <description>Technical articles on ITAM automation, inventory engineering, and building custom connectors at enterprise scale.</description>
        <lastBuildDate>Sun, 03 May 2026 04:55:31 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>All rights reserved 2026, Denis Dmitriev</copyright>
        <item>
            <title><![CDATA[Building an Exchange Server CAL Inventory Connector for Snow License Manager]]></title>
            <link>https://dmt-lab.nl/blog/exchange-cal-inventory</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/exchange-cal-inventory</guid>
            <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How I built a multi-stage ETL pipeline to extract Exchange CAL compliance data from a four-server DAG cluster — and why it took four script versions to get the collection right.]]></description>
            <category>Snow</category>
            <category>ITAM</category>
            <category>PowerShell</category>
            <category>Python</category>
            <category>Exchange Server</category>
            <category>Compliance</category>
            <category>Power BI</category>
        </item>
        <item>
            <title><![CDATA[Building a QRadar Compliance Connector for Snow License Manager]]></title>
            <link>https://dmt-lab.nl/blog/qradar-snow-connector</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/qradar-snow-connector</guid>
            <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How I built an ETL pipeline to bring IBM QRadar's EPS-based licensing into Snow License Manager — and the first data pull immediately revealed the client was out of compliance.]]></description>
            <category>Snow</category>
            <category>ITAM</category>
            <category>Python</category>
            <category>SQL Server</category>
            <category>QRadar</category>
            <category>Compliance</category>
        </item>
        <item>
            <title><![CDATA[Building a Custom Fields Bulk Updater for Snow License Manager]]></title>
            <link>https://dmt-lab.nl/blog/custom-fields-bulk-updater</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/custom-fields-bulk-updater</guid>
            <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How a 'simple' bulk update tool for a software development company turned into a three-version rabbit hole of dual-team classification merging, wildcard matching edge cases, and SQL optimization.]]></description>
            <category>Snow</category>
            <category>ITAM</category>
            <category>Python</category>
            <category>SQL Server</category>
            <category>Automation</category>
            <category>Excel</category>
        </item>
        <item>
            <title><![CDATA[Encoding Java Compliance — A Version-Aware Rules Engine and Continuous Monitoring]]></title>
            <link>https://dmt-lab.nl/blog/java-rules-engine-monitoring</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/java-rules-engine-monitoring</guid>
            <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How I encoded Oracle Java licensing rules into a SQL recognition engine and version-aware classification pipeline — cutting RED installations by 44% and turning periodic manual audits into ongoing monitoring.]]></description>
            <category>Flexera</category>
            <category>ToolsHub24</category>
            <category>Oracle Java</category>
            <category>SQL Server</category>
            <category>Python</category>
            <category>Compliance</category>
        </item>
        <item>
            <title><![CDATA[Building an IT System Owner Notification System on Top of Snow License Manager]]></title>
            <link>https://dmt-lab.nl/blog/it-system-owner-notifications</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/it-system-owner-notifications</guid>
            <pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How I turned Snow License Manager's unused contract management into an automated expiration alerting system — delivering personalized notifications to IT system owners before contracts lapse.]]></description>
            <category>Snow</category>
            <category>ITAM</category>
            <category>Python</category>
            <category>SQL Server</category>
            <category>Compliance</category>
            <category>Automation</category>
        </item>
        <item>
            <title><![CDATA[Oracle Java Compliance — Multi-Source Discovery and a RED/YELLOW/GREEN Framework]]></title>
            <link>https://dmt-lab.nl/blog/java-discovery-classification</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/java-discovery-classification</guid>
            <pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How I combined Flexera FNMS extraction with collection scripts and a RED/YELLOW/GREEN framework to give thousands of machines a defensible Oracle Java compliance position — before any conversation with Oracle.]]></description>
            <category>Flexera</category>
            <category>FNMS</category>
            <category>ITAM</category>
            <category>Oracle Java</category>
            <category>Python</category>
            <category>Compliance</category>
        </item>
        <item>
            <title><![CDATA[Building a ChatGPT Enterprise Usage Compliance Connector for Snow License Manager]]></title>
            <link>https://dmt-lab.nl/blog/chatgpt-compliance-connector</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/chatgpt-compliance-connector</guid>
            <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How I built a Python connector bridging OpenAI's Compliance API with Snow License Manager — and diagnosed false license revocations caused by transient API data gaps.]]></description>
            <category>Snow</category>
            <category>ITAM</category>
            <category>Python</category>
            <category>SQL Server</category>
            <category>OpenAI</category>
            <category>Compliance</category>
        </item>
        <item>
            <title><![CDATA[Building a Three-Module Fidelis Connector for Snow License Manager]]></title>
            <link>https://dmt-lab.nl/blog/fidelis-snow-connector</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/fidelis-snow-connector</guid>
            <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Three security modules, three different data sources, one compliance dashboard — how I built an automated Fidelis connector for Snow License Manager.]]></description>
            <category>Snow</category>
            <category>ITAM</category>
            <category>Python</category>
            <category>SQL Server</category>
            <category>Fidelis</category>
            <category>Compliance</category>
        </item>
        <item>
            <title><![CDATA[Building a Server HW Monitoring System for Snow License Manager]]></title>
            <link>https://dmt-lab.nl/blog/server-hw-monitoring</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/server-hw-monitoring</guid>
            <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How I built an automated alerting system for hardware changes and stale inventory across thousands of servers — from v1 prototype to v2 with 65% alert reduction.]]></description>
            <category>Snow</category>
            <category>ITAM</category>
            <category>Python</category>
            <category>SQL Server</category>
            <category>Monitoring</category>
            <category>Claude Code</category>
        </item>
        <item>
            <title><![CDATA[Automating SQL Server SPLA — Dual Licensing Models, Automatic Cost Optimization]]></title>
            <link>https://dmt-lab.nl/blog/sql-spla-licensing</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/sql-spla-licensing</guid>
            <pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Per-VM or Physical Host? Two licensing models, two cost scenarios per cluster — how I built automatic cost optimization for SQL Server SPLA across mixed Standard and Enterprise environments.]]></description>
            <category>Flexera</category>
            <category>ITAM</category>
            <category>ToolsHub24</category>
            <category>SQL Server</category>
            <category>SPLA</category>
            <category>Compliance</category>
        </item>
        <item>
            <title><![CDATA[Automating Windows Server SPLA — From Manual Clusters to Automated Compliance]]></title>
            <link>https://dmt-lab.nl/blog/windows-spla-licensing</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/windows-spla-licensing</guid>
            <pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Datacenter or Standard? The 8-VM density threshold, failover cluster aggregation, and monthly true-ups — how I automated SPLA license count calculation across 80+ clusters.]]></description>
            <category>Flexera</category>
            <category>ITAM</category>
            <category>ToolsHub24</category>
            <category>Windows Server</category>
            <category>SPLA</category>
            <category>Compliance</category>
        </item>
        <item>
            <title><![CDATA[Automating RHEL Licensing — From VM Thresholds to vCPU Tiers]]></title>
            <link>https://dmt-lab.nl/blog/rhel-licensing</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/rhel-licensing</guid>
            <pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Three infrastructure types, a 4-VM threshold that changes everything, orphaned VMs, and unclassified servers — how I automated Red Hat licensing across 1,200+ instances.]]></description>
            <category>Flexera</category>
            <category>ITAM</category>
            <category>ToolsHub24</category>
            <category>RHEL</category>
            <category>Compliance</category>
        </item>
        <item>
            <title><![CDATA[The Hidden Complexity of SUSE Licensing — And How I Automated It]]></title>
            <link>https://dmt-lab.nl/blog/sles-licensing</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/sles-licensing</guid>
            <pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Nine SKUs, six pricing tiers, and multiple licensing models — how I automated SUSE licensing through ToolsHub Business Intelligence across 1,000+ devices.]]></description>
            <category>Flexera</category>
            <category>ITAM</category>
            <category>ToolsHub24</category>
            <category>SLES</category>
            <category>Compliance</category>
        </item>
        <item>
            <title><![CDATA[Building Compliance Dashboards in Power BI for Snow License Manager]]></title>
            <link>https://dmt-lab.nl/blog/powerbi-compliance-dashboards</link>
            <guid isPermaLink="false">https://dmt-lab.nl/blog/powerbi-compliance-dashboards</guid>
            <pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[How I built Windows Server and SQL Server compliance dashboards through 26 combined versions — and what I learned about Power BI's fragile data transformation layer the hard way.]]></description>
            <category>Snow</category>
            <category>ITAM</category>
            <category>Power BI</category>
            <category>SQL Server</category>
            <category>Compliance</category>
        </item>
    </channel>
</rss>