RRDtool v. 1.4.4 Win32 Binaries

Aside from being a superb MRTG and smokeping backend, rrdtools is a surprisingly good database and graphing tool for scientific an technical applications, which in my case, it’s for storing and charting pilot scale reactors process variables.

We all know that the Win32 binaries for RRDtool on its website is rarely updated, if at all, with the most recent Win32 binary version being 1.2.30 while the latest RRDtool is already 1.4.4.

If you don’t want the hassle of compiling it from scratch, here’s the working binary of RRDtool 1.4.4 compiled using Visual C++ 2010. All dependent libraries are included, save for not so GPL friendly Visual C++ 2010 Redistributable, which you can download from Microsoft.com

Slightly modified sources to make things work: RRDtool-v.1.4.4-src.rar
Win32 binaries compiled against msvcr100.dll: RRDtool v. 1.4.4-bin.zip

* Issues
– The rrd_flushcached function in the Perl module RRDs.pm does NOT work. You won’t need this to run MRTG etc anyway!

Fix: AsyncFileUpload always return “The file attached is invalid”

If you’re using Microsoft ASP.NET AjaxToolkit’s AsyncFileUpload placed inside a webform nested in a master page, chances are you’ll be faced with a baffling error message “The file attached is invalid”. No amount of manual troubleshooting and breakpoint-ing help because there’s no complete error messages (or even any that makes sense).

The reason: The client side script got confused because it couldn’t find the predicted ClientID.

The solution: Add ClientIDMode=”AutoID” to your markup!

Getting .NET Forms Authentication to Work with Active Directory

Developers new to Active Directory programming might find it frustrating that the ActiveDirectoryMembershipProvider example codes provided by Microsoft does not seem to work, at least on Windows 2008 R2 with ASP.NET 4.0 using “logon” usernames eg. “administrator”, “domain\joe”.

The reason is because the ActiveDirectoryMembershipProvider by default maps username to as UPN username (User Principal Name, ie. joe@domain.com) instead of SAM account name (Security Accounts Manager, ie. administrator, domain\joe).

To enable logging on using SAM account name, add attributeMapUsername=”SAMAccountName” to your web.config: