So, last time I talked a bit about lock-free data structures. Here’s the second part, as promised.
I’m not going to go into great detail on the topic (unless people seem interested), and there’s plenty of other pages and sites dedicated to it. But I just wanted to share this little class I made. I [...]
As part of my day job, I’m always striving towards higher performance code while at the same time trying to retain a readable and flexible design (since customers are always changing what they want).
One of the big killers of performance is locks — they’re the most basic way to ensure mutual-exclusion of shared data [...]
Quite a while back, I posted an article about getting native callbacks to work across AppDomains. Since then, I’ve gotten quite a few comments with varying levels of confusion, and seen a few implementations that appear to have missed something along the way. So I thought it’d be a good idea to post a clarification.
Finally, the last post in my series about conversion and the LookupConverter.
This is just a quick addition to extend the capabilities of the LookupConverter, specifically to allow it to run a bit of code to determine which resulting value to use. I’ve actually never used this in a real-world scenario myself (I’ve always found [...]
Some people might be wondering why I said that the last two Programming posts were part of a series — after all, the first one was a utility class to help out with type conversion, while the second one focused on using enumerations in the UI. How is that a series? Well, it’s this post [...]
It’s probably about time that I continued on from my previous post. This one is just going to be a short one, but it’s a nice setup for the following post in the series.
When you have a property which can only have one of a limited number of values, there are a few different [...]
I’ve been planning to post this (and a few other things) for a while now, but never quite seemed to get around to it. Well, brace yourselves, because here it finally is! (And it might even turn into an actual series!)
This first part is pretty straightforward; it’s a helper class designed to make a [...]
(Well, look at that. I did manage to write another Programming post after all.)
One of the really great things about WPF is its composable UI structure and dynamic layouts — the ability to replace one set of controls with another on the fly as things happen (eg. when something is selected by the user) [...]
Today’s topic is fairly basic, but hey, it gives me a chance to moan about something weird in the framework, so it’s not all bad
Windows Presentation Foundation. WPF. Essentially it’s a long-overdue reboot of the child window model coupled with a powerful data binding engine (though not without its own quirks). And I [...]
WARNING: As discussed in the comments, this collection class uses weak events, and (due to a bug in the .NET framework itself) weak events are not reliable unless you’re using .NET 3.5 SP1 or higher. If you’re stuck with an earlier version of the framework (or don’t want to verify that end users have installed [...]