About the author

Welcome. Here you´ll find information about my person, my interests and latest activities. My name is Matthias Friedrich. I am working as a professional software developer on a freelance basis since Spring 2005. My main technical skills are .NET Framework, C#, SQL Server, XML and other related technologies and tools. During the last six years I worked in different kind of business areas in position of a developer, software-architect and/or technology trainer. I gained work experience with object-oriented software development, agile practices and I also aquired good social skills and the competence to lead teams of technicians.

Public Projects / My Contributions

Usually, I don´t find the time to write articles and such... but here is a list of my projects and contributions I am sharing with other developers.

Codeplex: Extendable Command Line Handler

In 2009 I published an article about a commandline parser I wrote in C#. This summer I stumbled across the code and decided to refactor this project - just for fun. I did some googling for other commandline parsers written in C# or Visual Basic .NET and I had the feeling that my project could be interesting for other developers as well. The source code, samples and some documentation of the project can be found at codeplex. http://codeplex.com/extconsole. The latetest release can be downloaded via NuGet: http://nuget.org/List/Packages/ExtConsole 

Visual Studio Gallery: Code Metrics Viewer

The Code Metrics Viewer is an extension for Visual Studio 2010 Professional. It integrates the Code Metrics Power Tool 10.0 into the development environment and allows calculation of code metrics whenever you want. The tool is completly free and can be downloaded from the Visual Studio Gallery at: http://bit.ly/iipJuw. I created a separate blog, which highlights some of the features; the blog can be found at: http://codemetricsviewer.wordpress.com/

Codeplex: Device Management

In 2006 I wrote an article about how changes of removable media and mass storage devices can be detected by a .NET application. The main focus of the article are change notifications and device management functions of the Windows API and how they can utitlized in C#. The article and source code is a little bit dated, so I decided to do a makeover and transform the project into a reusable library, which can be used in any kind of .NET application. You can find the project and sample code at codeplex: http://devicemgr.codeplex.com/

Random stuff

MSBuild: Benutzerdefinierte Build-Aufgaben entwickeln

Monday, February 22, 2010

Schon vor langer Zeit habe ich mich erfolgreich vom F5-Build befreit :-) In den letzten beiden Wochen habe ich wieder verstärkt an der Anpassung verschiedener Build-Prozesse gewerkelt und auch meine lieben Kollegen in Sachen MSBuild gepimpt. Was mich heute dazu veranlasst hat, einige Informationen zum Thema benutzerdefinierte Build-Tasks aufzuschreiben und hier zu veröffentlichen... More...

Option Strict Off = Option Shit On

Thursday, November 12, 2009

Visual Basic ermöglicht die Konvertierung vieler Datentypen in andere Datentypen – dabei bleibt allerdings die starke Typisierung auf der Strecke. In der Zusammenarbeit mit Entwicklern im Projekt, oder bei Trainings habe ich immer wieder festgestellt, dass dieses "tolle" Feature, eher hinderlich als nützlich ist, da es negative Auswirkungen auf die Code-Qualität haben kann. More...

Dependency Injection: Microkernel selbst gebaut

Wednesday, May 20, 2009

Ich interessiere mich bereits seit längerer Zeit für CCD. Eine der CCD-Praktiken stellt Dependency Injection dar, wobei es im Wesentlichen um nichts anderes, als das späte Binden von Abhängigkeiten geht, sodass ein Austauschen von Komponenten ohne ein erneutes Übersetzen der Anwendung möglich wird. Hier stelle ich meine persönliche Microkernel-Implementierung zur Verfügung, mit der Komponenten per Konfiguration in eine Anwendung integriert werden können. More...

Commandline-Parser

Wednesday, April 15, 2009

Da ich derzeit wieder verstärkt Tools schreibe, die sich bequem über die Konsole nutzbar sein sollen, habe ich mir eine winzige Library geschrieben, die mir das Handling von Befehlen und Parametern erleichtert. More...

Tabbed Multi Document Interface (MDI) Control

Wednesday, April 15, 2009

Für ein Kundenprojekt habe ich eine Reihe von GUI-Komponenten entwickelt - eines davon ist ein MDI-Steuerelement, das untergeordnete Fenster in Form einer Reiterdarstellung organisiert, so wie es bekannte moderne Anwendungen erlauben. More...

LIB Viewer - .h-Dateien exportieren

Friday, March 27, 2009

Haben Sie sich schon einmal gefragt, welche Funktionen eine Bibliothek (.lib) exportiert? Manchmal beinhalten Bibliotheken versteckte Methoden, die in einer mitgelieferten Header-Datei nicht enthalten sind, oder Sie möchten einfach die Syntax der Funktionen in der Header-Datei mit der Bibliothek vergleichen. More...

T-SQL Quickies: Arrays an gespeicherte Prozeduren übergeben

Thursday, January 29, 2009

Dieses Beispiel zeigt, wie Sie Array-Parameter an gespeicherte Prozeduren übergeben können. More...

Wechseldatenträger automatisch erkennen

Monday, December 26, 2005

Schnittstellen wie USB oder Firewire ermöglichen es während des laufenden Betriebs Geräte im System hinzuzufügen oder zu entfernen. Dieser Artikel diskutiert eine verwaltete Komponente, mit der sich Hardwareänderungen in Windows Forms Anwendungen verfolgen lassen - um beispielsweise Aktualisierungen der Benutzeroberfläche zu veranlassen. More...