When searching for .NET discussions of I-don't-even-remember, I somehow came across Dustin Campbell's blog post about automatic memoization with C#. I instantly remembered first reading about this topic in Higher Order Perl, which at the time introduced me to this handy technique using the delegate pattern. After looking over Dustin's code, I liked the simplicity of wrapping any delegate with a single method call. This makes for an academic discussion, but I thought this could be much more practical if we abstracted the concept a bit more.
I haven't posted in a while, so I wanted to get back into a routine by sharing this tidbit.
A common task a developer may encounter is the need to find out what security group a user is a member of. This is critical information for an app to utilize a role-based authorization mechanism in web apps, client/server apps, login scripts, etc. When querying LDAP, this is as easy as enumerating the 'memberOf' attribute of the user account, right?
I'm terrible at giving good gifts, I must admit. My wife surprised me with a slick new "fatty" iPod Nano 8GB for Christmas 2007. The obvious first step for me was to load up iTunes and import my MP3 library and have something great to jam to while mowing the lawn. It turns out this little device opened up a whole new world for me.

MMCd is an open source solution for realtime datalogging of ECU parameters on certain year Mitsubishi vehicles using a Palm handheld.
I am not the author, but a contributor to the MMCd project. However, I have authored the MMCd Tools add-on, used for datalog conversion to Excel on PC platform during HotSync.
Read more at the MMCd homepage.
...no matter what try/catch I put in my user code, I couldn't catch this exception with the debugger. Visual Studio would halt execution every time with "Exception unhandled by user code"...
I recently found the need to configure Outlook 2003 for thousands of corporate users to use preferred address book settings instead of the defaults. As anyone in a large corporate environment may know, the defaults are set such that when composing an email, name resolution checks all address lists in Exchange in alphabetical order by list, then name. When an organization is many tens of thousands large, resolving "Smith" will inevitably find conflicts.
One of the greatest ideals of high level programming is the idea of code reuse. In the old days, this was only ever done using functions or subroutines, depending on the language. In later days, this was performed as object oriented design. Every language seems to accomplish these ideals in various ways to accomplish a similar goal.
As an IT guy, I look to using computers to solve some of my day to day problems. I say computers in plural because I readily use two at home and one at work, and I could also be in the internet cafe near my work. For instance, I store my personal passwords and other sensitive information in Crypt File Manager. It stays secure by encryption in such a way that not even my web host provider can access the data and the password is not stored anywhere on the web server or browser. This solution works great because I can access it wherever I want with only a web browser.
Microsoft recently launched a new event in cities across the US to showcase Windows Server 2008, SQL Server 2008, and Visual Studio 2008 with tracks geared towards developers and admins. The event is free and you get free eval copies of the stuff. So, why the hell wouldn't you want to take a day off and go?
http://www.microsoft.com/heroeshappenhere/register/default.mspx