Postmortem app crash reporting and analysis is a bit of a hobbyhorse for me. I see it as an extension of the bug reporting facility - a crash in production (typically, but not always) indicates a bug. But does every crash indicate a separate, distinct bug?
Saturday, September 17, 2022
Wednesday, August 31, 2022
Project vs. collection
Some time ago, I've discussed the identity of the account that TFS agent jobs are using to connect back to TFS via the distributedTask PowerShell context variable, or the equivalent System.AccessToken release variable. Back at the time, I've concluded that the identity behind that token was "Build Service (CollectionName)". Well, just today I've encountered a case where a release was running under a different identity - "ProjectName Build Service (CollectionName)". Both coexist.
Saturday, December 11, 2021
Abusing COM, this time in C#
Some time ago, I've written up a technique for setting up object oriented, call based interprocess communication using an idiosyncratic subset of COM. A case for something similar came up for me again, but the project is in C# with .NET 6. So I've adapted the same technique to work in a managed world.
Tuesday, October 26, 2021
Sequential vs. semantic
This is about the naming of releases in Azure DevOps (formerly known as TFS and VSTS). The default pattern of release names has been, as long as I can remember, sequential within the definition's scope: "Release 1", "Release 2", etc. That's been a minor pet peeve of mine for a while, and now we've come up with a technique to change this format to something more informative. Specifically, one can name releases with respect to the current product version, as every reasonable project team would want to.