spoulson's blog

Massive memory leak in ASP.NET? Turn stuff off you don't need!

Are you the kind that leaves lights on in your house when nobody's in the room? Yes, I know it's your energy bill. But, what if the bill were cutting into the ever increasing cost of your Internet bill? Wouldn't you turn the light off? ASP.NET gives you lots of layers of functionality, but not every site is going to need each.

How to render 2D with DirectX? Let's try a rotozoomer.

I once wanted to show a colleague a piece of code I had written some time ago back when MS-DOS 5.0 and 486's were the big deal. It was a small assembly routine that loaded an image and rotozoomed it, like the effect seen in Future Crew's Second Reality. Only problem is that the program would no longer run under Windows XP or newer because of the custom VGA video mode that was used. So, I thought how hard could it be to write it for Windows and still be realtime? This is a classic nerd snipe. I couldn't stop working on the concept and no other work was getting done!

Painless Caching, Memoization for .NET

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.

Ingredients for Baking CakePHP

A Reluctant Endeavor
So I've been keeping myself busy with a side project lately and the client wanted it in PHP. For crap! PHP?!

Is PHP really as atrocious as viewed by many?

How to Query Active Directory Security Group Membership

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?

How an iPod Nano changed my life

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.

Visual Studio Fail -- How not to debug .NET exception handling

...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"...

Scripting a Reliable Remote Reboot of a Windows Server

There may be a day when Microsoft realizes that rebooting a server after trivial security updates is too much hassle. Or, that undistinguished, yet business critical, third party application's memory leak just never gets fixed, forcing you to reboot weekly to prevent an outage. As a Windows sysadmin, unless you plan on migrating all your server applications to Unix, you're stuck rebooting your servers periodically. I came up with a way to issue reboots via ad-hoc or a scheduling tool to remotely reboot servers and ensure they are back online.

Programmatically updating Outlook's address book options with a command line tool

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.

What is Old is New Again: Functional Programming

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.

Syndicate content

About Shawn Poulson / Exploding Coder
Software developer and designer

I'm a software developer in the Philadelphia/Baltimore metro area that loves web technology and creating compelling and useful applications. This blog was created to showcase some of my ideas and share my passion and experiences with others in the same field. Read more...

My portfolio...

Other places you can find me online: