Per Søderlind

I code for fun

The .Data Provider Libary

The .Data Provider Libary is a 100% managed, high-performance library of data providers for use in .NET environments. The library is written entirely in C# and currently supports MySQL versions 3.23x and 4.0x. Support for PostgreSQL and SAPdb are in the works. And best of all, it's free!! more ......

Auto-Generating Wrapper Classes for Stored Procedures

The AutoSproc tool uses reflection to auto-generate wrapper classes for calling stored procedures. This saves the developer from having to work with ADO.NET classes such as SqlCommand, SqlParameter, SqlDataAdapter, etc. more ...

Part 6: Efficiently Representing Sets

The must-read series continues with another excellent article. This time Scott Mitchell discusses data structures for implementing general and disjoint sets. A set is an unordered collection of unique items that can be enumerated and compared to other sets in a variety of ways. more ...

The Secret Source of Google's Power

This is a facinating story about Google's power. It also explains how Google will face the challenge of storing 1 GB (!!!) of email per user for millions of GMail users more ...

WiX: Open Source XML-Based MSI Creation

WiX produces production quality MSI files. At Microsoft the Office, SQL Server, BizTalk, Virtual PC and Instant Messenger teams uses it to build their MSI files. more ...

TestRunner for NUnit

TestRunner seamlessly integrates NUnit testing and debugging into a compact Visual Studio .NET 2003 add-in. TestRunner is 100% NUnit compatible, derived directly from the NUnit 2.1 source code. TestRunner extends NUnit without replacing it to work within the Visual Studio .NET environment. As an advance over traditional NUnit testing, TestRunner...

Microsoft SQL Server Best Practices Analyzer

Microsoft SQL Server Best Practices Analyzer is a database management tool that lets you verify the implementation of common Best Practices. These Best Practices typically relate to the usage and administration aspects of SQL Server databases and ensure that your SQL Servers are managed and operated well. more ...

CassiniEx Web Server

Second generation pure .NET web server (written in C#, source available). Based on Cassini Personal Web Server (the one in WebMatrix). New features: Run multiple web applications in a single instance of CassiniEx CassiniEx loads in system tray Supports multiple host headers and ports per web application Supports multiple virtual...

Japanese for Nerds

By rtmyers: "Japanese is the perfect language for nerds. There are just a bunch of standard interfaces to learn, which you string together like so many nested functor objects and voilà: fully-formed correct Japanese sentences!" more ...

From Trees to Graphs

Scott Mitchell / 4GuysFromRolla.com: "A graph, like a tree, is a collection of nodes and edges, but has no rules dictating the connection among the nodes. In this fifth part of the article series, we'll learn all about graphs, one of the most versatile data structures." more ...