<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dev's Log</title><link>https://piot5.github.io/devs_log/</link><description>Recent content on Dev's Log</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 13 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://piot5.github.io/devs_log/index.xml" rel="self" type="application/rss+xml"/><item><title>Chapter Three: Ghost Monitors &amp; The EDID Void</title><link>https://piot5.github.io/devs_log/posts/chapter-three-ghost-monitors/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><guid>https://piot5.github.io/devs_log/posts/chapter-three-ghost-monitors/</guid><description>REGISTRY LAYER (Persistent) SYSTEM\...\DISPLAY ↳ EDID (Cached Serial) ↳ InstanceID (GSM5B09...) Result: Identity Found GDI LAYER (Hardware) EnumDisplayMonitors() ❌ Detached: No HMONITOR ❌ DDC/CI: Fail (No Pulse) DISPLAYFLOW BRIDGE 1. scan.rs → Fetch Serial from Registry 2. synth.rs → Map InstanceID to Profile 3. Wake Up → ChangeDisplaySettingsExW Action: Create Live Handle After Wake: DDC/CI commands enabled THE EDID VOID: Identity vs. Accessibility In a perfect world, every monitor would always be reachable.</description></item><item><title>Chapter Two: Talking to the Silicon</title><link>https://piot5.github.io/devs_log/posts/chapter-two-talking-to-the-silicon/</link><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><guid>https://piot5.github.io/devs_log/posts/chapter-two-talking-to-the-silicon/</guid><description>Software-side display management (resolution and position) is only half the battle. To truly control a workspace, we need to talk to the monitor&amp;rsquo;s internal firmware. This is where DDC/CI (Display Data Channel Command Interface) comes into play.
1. The Physical Monitor Bridge In Windows, a &amp;ldquo;Logical Monitor&amp;rdquo; (GDI) is not the same as a &amp;ldquo;Physical Monitor&amp;rdquo; (The actual plastic and glass hardware). As seen in ddc.rs, we must first bridge this gap using the GetPhysicalMonitorsFromHMONITOR API.</description></item><item><title>Chapter One: Display Handshake Churn</title><link>https://piot5.github.io/devs_log/posts/chapter-one-display-handshake-churn/</link><pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate><guid>https://piot5.github.io/devs_log/posts/chapter-one-display-handshake-churn/</guid><description>Managing monitor setups—resolutions, positions, and orientations—is a notorious pain point. While Windows provides a UI, automating it involves navigating the deep waters of the GDI (Graphics Device Interface).
1. Neutralizing &amp;ldquo;Display Handshake Churn&amp;rdquo; If you change your resolution manually, the screen flickers or goes black. Doing this for four monitors sequentially would cause the system to hang and windows to jump randomly across the desktop.
The solution is a two-phase commit approach:</description></item></channel></rss>