Two years ago Phil Haack created a tool called SeeGit. The tool visualizes the history of a GIT repository.
I decided to create a similar tool which uses yUML diagrams to render the history graph.
My tool has the ability to merge linear commits into a single node, which makes it easier to get a quick overview of a large history.
Most web applications are using username and password for authentication. ASP.NET supports this concept since the very beginning.
With MVC 4 Microsoft also introduced the SimpleMembership, which makes authentication and user management more flexible.
In this post I show the various options for authentication for ASP.NET MVC applications, including a demo that implements Two-Factor authentication.
It's time to update my blog engine which I published some time ago. The updated version is now based on ASP MVC 4 and uses Twitter Bootstrap 3 instead of a custom CSS file. In this post I will give a short overview over the things that were changed.
Recently I was asked to implement a reusable filtering mechanism in an ASP.NET MVC application. To be more concrete: A website shows a grid containing arbitrary data. The user should be able to enter a filter for each grid column.
The filters should be generated based on the type of the displayed objects. With that functionality, it is possible to filter every grid in the application with very little effort. Moreover I added a possibility to add custom search criteria.
I'm currently working on an application which uses reflection to create a generic UI. Therefore I was interested in the performance impact of reflection. In this post I will do a comparison between the various possibilities to access a property.
This week Daniel Lang published an interesting article about unnecessary overhead in simple applications.
In a nutshell he proposes an architecture called "Poor-mans CQRS". In his sample he uses an ASP.NET MVC application. The controllers retrieve their required data directly from the database (Query), and updates are performed in service layer (Command).
In this post I will provide a (simple) application, which is based on the Entity Framework. It shows the principle and explains how unit tests can be written without querying a real database.
In this post I will do a performance comparison of the most popular IoC containers.
Of course performance is not the only criteria when choosing a container for a project. Perhaps you need features like interception or you develop for a specific platform, then not all containers are suited. But especially in high-load scenarios like a web application, a fast container can help you to serve more requests in the same time, so why not choose the fastest one?
Four years ago I wrote one of my first WPF applications. It was named 'BackUp' and enabled you to keep directories in sync (similiar to Microsoft's SyncToy).
Actually I learned a lot of the WPF stack by creating this application, but since I did use code behind instead of the MVVM pattern, it was a good occasion for refactoring the code and applying a new UI.
In this post I will present the new Metro UI and describe my experience in using event-based components for the synchronization workflow.
For a long time I have been using Outlook to manage my contacts and appointments. I always synchronized my mobile phone with Outlook. After buying an Android device things have changed.
Now I use Google Contacts and Google Calendar to manage my contacts and appointments. Since I still use Outlook I need an easy way to synchronize Google with Outlook. Google provides GoogleCalendarSync to synchronize your calendar, but synchronizing contacts is only available for business customers.
In this post I will provide an Outlook addin which imports your Google contacts to Outlook.