-
An Introduction to Distributed Tracing with OpenTelemetry in .NET 7
Last updated: Friday, December 26, 2025
Published in: CODE Magazine: 2023 - January/February
OpenTelemetry is an open-source distributed tracing framework. Companies that use it can make more informed decisions about their operations. Learn to use it through an example ASP.NET 7 project.
-
Migrating Monolithic Apps to Multi-Platform Product Lines with .NET 5
Last updated: Friday, December 26, 2025
Published in: CODE Magazine: 2021 - March/April
Learn to migrate older applications to .NET 5. Learn to use "ports-and-adapters" (hexogonal architecture) along with design patterns and principles from domain-driven design (DDD) to help you modify your old software so you can split the business logic into independent assemblies.
-
Docker
Last updated: Friday, December 26, 2025
Published in: CODE Magazine: 2018 - May/June
Ted Neward’s Docker article introduces the technology’s rise to mainstream relevance and demystifies how it works for developers, especially those from the Windows ecosystem. It covers installing and running Docker, the distinction between images and containers, and how Dockerfiles express reproducible environments. Neward explains practical usage—volume mounting, port mapping, and building/publishing images—while comparing Docker’s philosophy to traditional virtualization (Hyper-V/VirtualBox) and highlighting its suitability for repeatable deployments and microservices. He also touches on orchestration (Kubernetes, Swarm) and the CI/CD value of Dockerfiles as delivery artifacts.
-
Prepare Visual Basic for Conversion to C#
Last updated: Friday, December 26, 2025
Published in: CODE Magazine: 2018 - May/June
There’s nothing wrong with coding in VB, but to stay contemporary, you need to get coding in C#. Paul shows you how to convert legacy VB files to C# without re-inventing the wheel.
-
Software Archaeology
Last updated: Friday, May 8, 2026
Published in: CODE Magazine: 2017 - November/December
In "Software Archaeology," Chris Williams explores the challenges and strategies of working with legacy code, drawing from his extensive experience as a developer since the 1980s. The article delves into practical approaches for understanding and maintaining old or unfamiliar codebases, such as mapping functionality, leveraging debugging tools, and resisting the urge to refactor unnecessarily. Through real-world examples, including his own projects and inherited applications, Chris emphasizes the importance of balancing practicality with respect for existing architectural choices, while offering actionable tips to navigate the complexities of outdated systems. Ultimately, he advocates for adaptability and structured exploration to tame the chaos of legacy software.

