Writing

Ideas, systems, and lessons in code.

Every published article, newest first. Filter by topic without losing a shareable URL.

98published articles
Showing all 98 articles.
2026

Can You Build Your .NET Application on a Clean Machine?

A clean-machine test can expose the tools, package sources, services, configuration, and developer knowledge your .NET repository depends on but does not declare.

7 min read .NET · Software Engineering · Development Environment · Reproducibility
2026

Before You Upgrade .NET, Do You Know What Is Building It?

Before .NET upgrades can become routine, you need to know which SDK is actually building your application, whether that choice is intentional, and whether the environment can be reproduced.

6 min read .NET · .NET SDK · Software Engineering · Architecture · global.json
2026

.NET 11 RC1 Is Here. Is Your Upgrade Process Ready?

With .NET 8 and .NET 9 nearing end of support, .NET 11 RC1 is a good time to rethink framework upgrades as a continuous evaluation process instead of an EOS-driven project.

4 min read .NET · .NET 11 · Software Engineering · Architecture
2026

CopyGitHubRepo v0.4.0: Migrating GitHub Pages Without Guessing

CopyGitHubRepo v0.4.0 adds opt-in GitHub Pages restoration, safer custom-domain handoff, independent verification, and recovery evidence for repository migrations.

8 min read GitHub · PowerShell · Automation · Developer Tools
2026

Moving On After 28 Years at Concord

After 28 years at Concord, I’m closing an important chapter of my career and reflecting on the people, technology, lessons, and experiences that shaped it.

6 min read Leadership · Software Engineering · Career
2026

CopyGitHubRepo v0.3.0: Keep the Releases, Leave the History Behind

CopyGitHubRepo v0.3.0 brings GitHub Release preservation to Snapshot migrations, letting you keep selected release milestones while still creating a clean, unrelated Git history.

5 min read GitHub · PowerShell · Automation · Developer Tools
2026

Out With the Old, In With the New: Rebuilding Coding

After years on BlogEngine.NET, Coding has a new design and a new foundation built on Jekyll, GitHub Pages, Git, and Markdown.

3 min read Blogging · GitHub Pages · Jekyll · Markdown · Software Development
2026

CopyGitHubRepo v0.1.0 Released to the PowerShell Gallery

CopyGitHubRepo v0.1.0 is now available from the PowerShell Gallery, marking the first stable release of the PowerShell tool for safely copying GitHub repositories.

3 min read GitHub · PowerShell · Automation · Developer Tools
2026

Understanding What We Ask AI to Do

As AI takes on more complex work, humans still need enough understanding of what it produces to make good decisions and remain responsible for the outcome.

2 min read AI · Human Oversight · Leadership · Software Engineering
2026

Copy GitHub Repo – Clean Snapshots Without Carrying History

Copy GitHub Repo is a PowerShell utility for creating clean repository snapshots or preserving full history with explicit planning, verification, and recovery safeguards.

5 min read GitHub · PowerShell · Automation · Developer Tools
2025

Create better software by applying SOLID principles

SOLID is an acronym for five design principles that are considered fundamental to object-oriented programming.

3 min read C# · SOLID Principles · Open-Closed Principle · Single Responsibility Principle · Liskov Substitution Principle · Interface Segregation Principle · Dependency Inversion Principle
2023

.NET 8 Feels Like the New Normal

.NET 8 feels less like an alternative to the old .NET Framework and more like the default starting point for new .NET development.

1 min read .NET · .NET 8 · Software Development
2022

Decorating the tree for Christmas

As a software developer, I've always been fascinated by design patterns and how they can help solve common problems in software design.

1 min read Design Patterns · C#
2022

ChatGPT Looks Interesting

OpenAI released ChatGPT today, and while I have not had a chance to spend much time with it yet, the idea of a conversational AI system is interesting.

1 min read AI · ChatGPT · OpenAI
2021

.NET 6 Feels Like the Version I've Been Waiting For

After watching .NET Core evolve over the last several years, .NET 6 feels like the point where the old and new .NET worlds are finally starting to come together.

1 min read .NET · .NET 6 · C# · Microsoft
2021

Twenty Years After September 11

Twenty years after September 11, remembering the people who were lost and the importance of passing that memory to a generation that was not there.

1 min read September 11 · Remembrance
2020

Six Months Into COVID

Six months after sending everyone home, masks, social distancing, and remote work have become part of everyday life.

1 min read Covid-19 · Remote Work
2020

eBay suspends my account

I had created an account with eBay back in the beginning and had not used it in a long time.

1 min read
2020

Sending Everyone Home

I am in India while the coronavirus situation unfolds back home in Seattle, and today I made the call to send everyone home from the office.

1 min read Covid-19 · Leadership · Remote Work
2018

Microsoft Is Buying GitHub

Microsoft announced today that it plans to acquire GitHub, and I am still trying to decide how I feel about it.

1 min read Microsoft · GitHub · Open Source
2017

.NET Core 2.0 Is Starting to Feel Ready

.NET Core 2.0 is out, and this release feels like a much more practical option for real application development.

1 min read .NET Core · ASP.NET Core · .NET Standard
2016

.NET Core 1.0 Has Arrived

Microsoft released .NET Core 1.0 today along with ASP.NET Core 1.0 and Entity Framework Core 1.0, marking a very different direction for .NET.

1 min read .NET Core · ASP.NET Core · Microsoft
2016

Installing Roundcube Webmail on BlueOnyx 5209

I recently had to migrate some older BlueOnyx and BlueQuartz servers to newer hardware and took the opportunity to install a newer webmail interface called Roundcube.

2 min read BlueOnyx · Roundcube
2015

Microsoft Introduces Visual Studio Code

Microsoft introduced a new development tool this week called Visual Studio Code, a lightweight cross-platform editor for Windows, Mac and Linux.

1 min read Visual Studio Code · .NET · Microsoft
2014

Microsoft Just Announced Windows 10

Microsoft announced Windows 10 today, bringing back the Start menu and taking a different approach to combining desktop and touch experiences.

1 min read Windows 10 · Microsoft · .NET
2014

I Really Like Windows Phone

I have been using Windows Phone since pretty early on, and Microsoft’s Windows Phone 8.1 announcement has me looking forward to what comes next.

1 min read Windows Phone · Microsoft · Cortana · Zune
2012

Calling WCF Service using LINQPad

First, if you are a .NET developer and you are not using LINQPad yet go and check it out at www.linqpad.net .

1 min read LINQPad · WCF
2012

So I Guess Zune Is Becoming Xbox Music

Microsoft is introducing Xbox Music, and it looks like the Zune name is being replaced as music becomes part of the broader Xbox and Windows ecosystem.

1 min read Microsoft · Zune · Xbox Music
2011

Ten Years After September 11

Ten years after September 11, a reflection on what changed in America and why the day remains first and foremost about remembering the people who were lost.

1 min read September 11 · Reflection
2011

PlayOn Plugin - TECH.ED 2011

Well I really enjoyed creating the MIX 2011 PlayOn plugin that I decided to do the same for TECH.ED 2011 .

1 min read
2011

PlayOn Plugin - MIX 2011

I have been using PlayOn software to view online content via my XBOX for about 6 months now and while it is really cool I dont find myself using it as much as I thought I would.

1 min read
2010

(MVP) Model View Presenter - Passive View

In my journey to write better software I have been looking at various patterns available. One of them is known as the Model View Presenter or MVP pattern.

9 min read
2010

ASP.NET MVC Tutorials

Over the last week I have been playing around with the latest ASP.NET MVC 2 RC framework available here http://go.microsoft.com/fwlink/?LinkID=157071

1 min read
2009

HP MediaSmart Server is my favorite device for 2009

Automatically Backup all your PC’s and MAC’s. If backing up your machine is important to you but you have just not taken the step to implement a backup process, then I would highly recommend…

6 min read
2009

Barcamp Seattle June 13th - June 14th 2009

BarCampSeattle is an ad-hoc gathering born from the desire for people to share and learn in an open environment. It is an intense event with discussions, demos, and interaction from attendees.

1 min read
2009

Replacing text in a stream after writing

Recently I responded to a question asked on StackOverflow. The question was "What is the BEST way to replace text in a File using C# / .NET?"

2 min read
2009

Seattle .net dotnet user group

Great new user group that is getting started and it is in Seattle. Was hosted at Starbucks who provided a top notch facility for the meeting.

1 min read
2009

How do I open a file that is in use in C#?

I had a situation recently in which I needed to display in my application the log file that was being generated by the application which was using log4net.

1 min read
2009

From Cobalt to BlueQuartz and now BlueOnyx

It has been a bit of a journey since I first started offering web hosting services using the Cobalt Platform that was later sold to Sun Microsystems and then dropped from the product line.

1 min read
2009

C# Traceroute using .net framework

If you have ever tried to create a traceroute program using one of the few available ICMP libraries freely available for C# you may have run into some issues mainly to do with the ICMP…

1 min read
2009

C# Ping

I was recently tasked with putting together a ping and traceroute feature in an application and like I always do I googled to see if someone had already worked out how to do this.

2 min read
2008

Cobalt/Sun FTP Archive

Looks as if Sun put up an archive of the cobalt software. If you are looking for any of the cobalt RaQ original software then use this ftp site.

1 min read
2008

Design Patterns - Writing better software

Writing applications that simply work is for the most part pretty easy. However writing software that is well designed, scalable and also readable takes a bit more work.

1 min read Design Patterns
2008

Object Oriented Design Patterns

While I have been programming now for about 3 years using the Object Oriented programming environment of C# I have not really spent any time looking at patterns.

1 min read
2008

Spawning multiple .NET delegates really slow

I recently worked on a project that had a listener service running that took TCP requests and made external calls to a remote WebService. The listener service could have up to 300 concurrent requests.

1 min read C#
2008

BlueQuartz installing Mono

Mono allows you to run applications written in .NET programming language on Linux machines.

2 min read Mono
2008

BlueQuartz add virus scanning to sendmail

This HowTo is designed to provide the simplest solution for virus scanning to a BlueQuartz box. However this will also work on any box running Redhat Enterprise Linux 4 or CentOS 4

2 min read Virus Scanning
2008

BlueQuartz enabling SSL/TLS FTP Support

This is my first attempt at putting online a step by step process in support of the BlueQuartz server appliance.

1 min read BlueQuartz · Secure Ftp