I wanted to see the benefits and drawbacks of moving my Windows service template from its current event-based asynchronous pattern (EAP) with the BackgroundWorker type to the more modern task-based asynchronous pattern (TAP) with async/await. The BackgroundWorker type still has its place, primarily with background operations behind a desktop UI. But there's no UI in a Windows service, so it's potentially an interesting place to explore the switch. Read more
In any line-of-business company, some end-users and senior stakeholders are focused on building and releasing important functionality as fast as possible. For these people, short-term velocity is the key attribute, as long as the software is reliable enough to give the right results at the right times - for given, often unspecified, values of "right". Crudely speaking, the quality of software is defined by the size of their bonus that year. Read more
Somebody asked me what technologies had recently piqued my interest, and in what ways.
I'm usually more focused on solving interesting and/or hard problems, rather than on the technology itself. Without a specific grounding in the business problem, any technology-related changes that you make (for example, introducing NoSQL) will be built on a weak foundation and can be fragile and prone to disintegration.
Having said that, I'm just pushing the question one level down the stack.Read more
Following on from the last simple question, here's another: "What is VAR?" Again, a simple question deserves a (relatively) simple answer, so that's what I've tried to do below.
Let's assume you have a portfolio of shares worth 1M USD. What's the maximum you could lose over the next day or month or year? Without an answer to this question, you can't tell whether the return you're receiving on your portfolio is appropriate compensation for the risk of holding it.Read more