My public development projects:

  • Bouncer
    This is a library to validate input parameter of methods in a configurable and declarative way. The idea behind the library is to declare a “context” at the method level and declare rules for business entities at the type/property level.
  • Sem.Sync
    This is a project for synchronizing entities (currently contacts) between different object stores. It contains connectors to Microsoft Outlook, MS Exchange, XML, vCard, CSV, Google Contacts, Microsoft Access, Wer-Kennt-Wen, StayFriends, StudiVZ, Xing and other social networks.
  • Sem.GenericTools.ProjectSettings
    A tool to process project settings of multiple VS2008 and VS2010 C# projects in Excel. The tool scans the project files and exports some settings into a CSV file which can be edited and written back into the project files. This is usefull in solutions with many project files.
  • Sem.Authentication
    This library provides some "tools" for dealing with authentication like MVC attributes to add another authentication factor when accessing specific MVC actions. Currently an ASP.Net MVC ActionFilterAttribute for using yubikey as additional evidence while perfoming critical actions is implemented. I also started an attribute that should prevent fast repetitive request to the same action from the same client to prevent automated attacks (like sql-injection with Havij).

These projects are just personal coding projects that did solve some private needs (like synchronization of contacts from/to different data stores) or serve as a playground for technology I'm interested in. I really have fun in trying to solve some coding challenges. So don’t expect the code to be “easy” or “hello world like”. There are some fairly complex techniques involved that I might not use in code that I write for customers. To write code that must be “production ready”, you must also take into account that such code need to be maintainable 2 years after you left the project ;-)