…One Converter to bring them all and in the XAML bind them…
Last time, I briefly mentioned a WPF converter that I created that helps solve the Cambrian Explosion problem that comes with creating specialized converters. Today I’ll go over that converter and what makes it tick.
Continue reading “Lord of the Converters”
I ran across an interesting scenario at work today that I think merits some discussion. In this post, I’ll cover what DRY is, and when following it religiously may actually cause problems.
Continue reading “Extreme DRYness”
Today we’re going to talk about breaking changes in libraries. Specifically, we’re going to answer the following:
- What constitutes a breaking change?
- How can I avoid making breaking changes?
- When is a breaking change a good idea?
- How do I indicate that a new version contains a breaking change?
Continue reading “Breaking Changes”
When I was young, taking my first class in computer science, my mother told me about her experiences with computer programming coming through college in the late 70s.
We programmed with punch cards. You had to feed them into a computer to be analyzed, and if you got anything wrong, the computer output would simply be: “Error”.
Continue reading “The importance of error messaging”
It’s an age-old question that just about every WPF developer has asked: How can I bind an event to a command?
Continue reading “Reinventing the Wheel”
In the last post we discussed why it could be preferred to expose all of your methods publicly. However, I deliberately left something out. Some of you may have noticed. Continue reading “Hide Your Secrets”
I think it’s time for us all to accept the truth: I’m abandoning the plugin series. I had a functioning proof of concept at my previous job, but I didn’t think to grab it when I left and moved halfway around the world, and I don’t feel like trying to recreate it right now. Maybe I’ll come back to it someday. Instead, today we’re going to talk about APIs and why there are so few SDKs to consume them. Continue reading “The Disparity between APIs and SDKs”
We’re going to take a brief break from our series on plug-ins to explore an idea that I had regarding naming conventions, specifically interface naming in .Net. Continue reading “An Interface By Any Other Name”
Before we get into today’s topic, I have some sadness to report. My beloved Dallas Stars were eliminated from the NHL playoffs. Also, my favorite player, Trevor Daley, who now plays for the Pittsburgh Penguins, has suffered a broken ankle and will not be able to play in the Stanley Cup games. Happily, if the Penguins win the Cup, he’ll still get his name engraved on its holy base!
Anyway, enough of that. Let’s get on to software.
Last time we built a very simple pluggable program where each plugin provides a translation of the string
Hello, World! Today, we’re going to explore some of the problems inherent in our approach. Continue reading “Handling Errors from Plug-ins”