A question in search of a volatile answer.
Some sample code that shows that caching really does sometimes require volatile variables or locks. This example works in debug mode, and release mode under a debugger, but fails when run outside a debugger in release mode. Read More...
XMPP Training Course
I recently gave a 3 day XMPP training course to an audience full of US Military and related personal. Read More...
Presentation - Performance Profiling and Tuning for .Net Application
I'll be presenting to the Bay.Net group on July 18 at the Microsoft Office in San Francisco. I'll be focusing on application tuning - both Memory Tuning and Performance Tuning. Read More...
The Soapbox Communicator for Facebook is now live
Our first pass at an integration of SoapBox with Facebook is alive and well. Facebook approved it as an application late last night, and we're now available for adding to your Facebook profile. Read More...
Upcoming Presentation - Concurrent and Multi-Threaded Development with .Net
I'm going to be presenting on Concurrency and Multi-Threaded development at the Bay.Net User Group on June 14. Read More...
Concurrency Patterns and Anti-Patterns for Enumeration
Allowing Collection Iteration in a Framework in such a way as to be concurrency friendly is tough. I've done it several wrong ways, and now, I think, I've stumbled onto the right way. Read More...
Object Pools
Object Pools are critical for managing expensive resources, and for memory management in a server application. Read More...
The Not-So-ReadOnlyCollection
The ReadOnlyCollection class is in no way makes the guarantee that your collection is Read Only. Don't make the assumption that you can treat it as Read Only. Read More...
A .Net Unicode Puzzle
Using Unicode & .Net to solve a Programming Perl of a problem Read More...
Creating DNS A and SRV Records with C# on Active Directory and Microsoft DNS
A mechanism for manipulating DNS via code is needed. WMI never quite seemed to work, and no other mechanism exists. This blog entry explores using DNSCMD.EXE to manipulate your Microsoft DNS SErver Read More...
Production Debugging with WinDbg, Son Of Strike, and ADPlus
A Step By Step guide through tracking down a real, customer affecting, production bug. Read More...
The Case of the Interned String
String Interning can offer a significant memory win under the right circumstances. Finding and using these circumstances, and later testing them, isn't always that easy. Read More...
Activating Office 2007 on x64
Office 2007 has been having Activation Issues, and it took a while, but I found a work-around. It even works on my Windows XP x64 desktop. Read More...
Creating a Self-Signed X509Certificate2 in C#
The mechanism for creating a new Self-Signed X509 Certificate from .Net is a bit strange. Here's the easiest way I've found so far. Read More...
The Hybrid Windows Service
Merge a Console Apps or a Forms App with your Windows Services for easier debugging experience. Read More...
Writing Shrinkwrap Software
Presentation for the Sacramento .Net User Group on Writing Shrinkwrap Software Read More...
Wish List: Static Interfaces and Abstract Static Methods for C#
This is a language feature I've been wanting for quite some time. I had a few minutes, so I thought I woudl try to quantify what exactly it is I'm looking For. Read More...
Windows Sockets and Threading: How well does it scale?
What is the best architecture for building a scalable sockets application in .Net? This post explores the pros and cons of the different architectures and the real world results we found with each. Read More...
System.ThreadPool and when not to use it (Updated)
Server applications cannot depend on the system threadpool. Doing so... won't work. At least not for long. Read More...