SShortSingh.
Back to feed

Developer uses DDC/CI protocol to switch monitor inputs without buying hardware

0
·1 views

A developer avoided purchasing a $10 HDMI switch by leveraging DDC/CI, a decades-old protocol embedded in HDMI, DisplayPort, and USB-C cables that allows computers to send commands directly to monitors. The setup involved a MacBook Air and a headless ASUS Linux laptop sharing a single LG 32-inch 4K display, with the main challenge being how to switch inputs without repeatedly pressing physical buttons. Standard DDC/CI commands initially failed because the LG monitor requires an alternate addressing scheme, which the developer discovered using the BetterDisplay tool on macOS. Once the correct LG-specific input codes were identified, software tools on both macOS and Linux could switch the monitor's active input programmatically. The project cost roughly $4 in AI assistant usage and eliminated the need for additional hardware, dongles, or remote controls.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Snowflake to Databricks Migration: Real Costs and Trade-offs Teams Must Know

Migrating from Snowflake to Databricks is often justified on cost savings, but teams that end up satisfied typically moved to consolidate ML, streaming, and GenAI workloads alongside analytics data. The two platforms differ significantly beneath the surface, particularly in how storage is handled — on Databricks, storage costs appear on the cloud provider's bill rather than the platform bill, a distinction finance teams must understand upfront. Migration approaches range from a quick lift-and-shift to a full re-architecture, and choosing the wrong strategy can eliminate any expected savings, since Snowflake-shaped tables on Databricks compute carry similar costs. While moving the data itself is relatively straightforward using bulk Parquet exports and Delta Lake, translating the code — especially complex stored procedures — is where timelines and budgets tend to overrun. Automated SQL conversion tools can handle standard queries, but the harder edge cases require significant manual engineering effort that is often underestimated at the planning stage.

0
ProgrammingDEV Community ·

How to Use Docker Engine as a Kubernetes Runtime via cri-dockerd on Ubuntu

Since Kubernetes 1.24 removed native dockershim support, users who need Docker Engine as a node runtime must now rely on cri-dockerd, an open-source CRI adapter maintained by Mirantis. The setup involves installing Docker Engine from its official repository, configuring the systemd cgroup driver, and pointing the kubelet to the cri-dockerd socket during cluster initialization. This approach is recommended only for specific use cases, such as teams with Docker-dependent tooling, shared image stores, or vendor requirements that assume Docker Engine. While the shared image store between kubelet and Docker is a convenience, administrators are advised to use crictl for managing cluster containers to avoid interfering with Kubernetes-managed processes. For most users without these specific needs, containerd remains the simpler and more reliable alternative.

0
ProgrammingDEV Community ·

Developer builds real-world quoting system with .NET 10 and Blazor Server

A developer built a full budget management system for a glass shop that previously handled all quotes manually, using .NET 10 and Blazor Server as the core stack. The project included a product catalogue with multi-supplier pricing, margin calculations, PDF export, and local network deployment. Key challenges included designing Entity Framework Core delete rules to reflect actual business logic, such as preventing client deletion when quotes exist. A recursive in-memory search component was built to filter a nested product catalogue without hitting the database on every keystroke. The hardest bug involved Blazor buttons silently stopping work due to global layout components rendering in static mode outside the interactive render tree, revealing that render mode in Blazor Web App propagates only to descendants, not sibling components.

Developer uses DDC/CI protocol to switch monitor inputs without buying hardware · ShortSingh