Oliver Lohmann


Design Time WPF XAML Resource Dictionaries

True to the motto “oldie but a goldie” I have a simple solution for a typical problem arising in a modular WPF application: If you have a setup where your Resource Dictionary is located in another project, the designer is very likely to be ignorant about its contents. Merging the dictionary into your App.xaml Resource node will handle the runtime situation correctly, but VS is likely to fail in showing the resource at design time as desired.

Replacing Notepad with your Favorite Editor

We all love our good old Notepad. Don’t we? Especially when other tools have configured notepad.exe as their default “editor”, or file associations link to notepad.exe. For all those whose love is fading, I have a simple solution at hand. I’ve written a little node.js CLI application that allows you to define a replacement for notepad.exe. To get started read the installation guidelines on github. For the impatient (example for Sublime):

A tiny ASP.NET vNext Template

TL;DR: the template on GitHub. Some time ago I released a simple OWIN-based ASP.NET Web API template that was meant as a quick and easy starting point for developing SPA applications. The tempalte was released as Visual Studio template. A reader asked my if I would provide an update for Visual Studio 2015 (RC). The answer is a clear yes and no. With VS2015 and the new ASP.NET version on the doorstep it wouldn’t make sense to release an updated version of the simple SPA starter template based on OWIN components.

Roslyn Diagnostics and Code Fixes

Together with my colleague Ricardo, I put together a set of Roslyn code diagnostics that enforce some best practices when dealing with async code in C#/.NET. To make use of them, you need the latest CTP of Visual Studio 2015. The source code for the diagnostics and fixes is over at GitHub: https://github.com/olohmann/AsyncAwaitAnalyzer You can pull in a NuGet Package to use them directly in a VS2015 project: Install-Package AsyncAwaitAnalyzer -Pre When things have stablized (i.

A very basic OWIN ASP.NET Web API Single Page Application Template

Update 2015-10-22: Since I received a couple of requests to maintain this template for Visual Studio 2015, I’ve published an update to the extension gallery. The source code is now on GitHub Update 2015-05-12: Already on Visual Studio 2015 or Visual Studio Code? Check out my blog post on an updated version of this template for VS2015 that uses Yeoman and ASP.NET vNext. You want to develop a simple Single Page Application (SPA) with ASP.

wget and curl Alias in PowerShell

Today I needed to fetch some data from the network in a PowerShell console. If you have a UNIX background you might be used to things like wget or curl. PowerShell has actually a few default aliases on Invoke-WebRequest that map to these UNIX tools: Sure, these aliases behave a bit differently compared to the original command line API, but the simple download is extremely easy: wget http://www.oliver-lohmann.me/images/2014/Jun/create-vs-project.png -OutFile D:\temp\1.png

AngularJS and WinJS in a Windows Phone 8.1 App

In this post I’ll run you through a sample on how to include AngularJS in a WinJS Windows Phone 8.1 app. I won’t put much emphasis on the actual app code, the integration part is more interesting. One word of caution though: The integration done here is a bit more than the usual quick and dirty sample but still not perfect. More on that later. Getting the basic project ready Create a new JavaScript Blank App for Windows Phone 8.

Little Helper - Random Contact/Name Generator

I am writing a lot of sample code and usually I have to fill my samples with some random data. A typical entity in most scenarios is a person or a contact. Since I am tired with putting in some static names here and there and copy and paste them between samples, I wrote a little library that generates random contact sequences. It takes the most common first and last names of the US and generates random combinations of them.

Øredev 2013

In this post I summarize my highlights from visiting the Øredev 2013 conference. First of all, I really enjoyed the broad scope of the conference! In my opinion, it is always healthy to think outside of your technology/approach box to avoid a certain routine-blindness. Here is my at-a-glance-list of hot topics from Øredev 2013: JavaScript Functional Programming Domain-Driven Design Micro Services Continuous Delivery JavaScript JavaScript is everywhere - with NodeJS even on the server side.

An Rx-Enabled WPF AutoComplete TextBox - Part 2/2

In my last blog post I described the general idea of using Rx to handle typical query situation with all their pitfalls. Let us take the idea one step further in developing a WPF control that directly makes use of Rx. The source code excerpts in this post are simplified and I tried to focus just on the important aspects. The final code looks a bit different and can be downloaded from GitHub.