Office 365 Saturday 2016 Slides Mar 14, 2016

This saturday I had the opportunity to give a talk at Office 365 Saturday Denmark 2016, on Continuous Deployment with Visual Studio Team Services and Azure. Even though it was a last minute session I put together as a result of another speaker having cancelled due to illness I think it turned out great. Lot’s of good questions and interest!

By request, the slides are available for download. Feel free to reach out if you have any questions!

...
Ten Useful Visual Studio Team Services Features You Might Not Know Jan 19, 2016

In this post I have gathered ten useful features of Visual Studio Team Services. Many of these are not new features, but you had to dig a little to find out they were there. In the recent months the UI has received several improvements and some of these are now more visible, without having to dive deep in the collection administration. There are also a couple of recent additions that should make your life easier!

...
Watch your Visual Studio Team Services Builds in Visual Studio Code! Jan 06, 2016

I am starting to find myself spend more and more time in Visual Studio Code. Instead of going to VSTS project sites to view status of my builds, I decided to put it directly into VS Code as an extension. The extension puts a status icon in the status bar which shows the status of a selected build definition. You can find the “Visual Studio Team Services Build Status” extension directly in VS Code or the market place https://github.com/jlandersen/vscode-vsts-build-status which also shows how to configure the extension with your VSTS account.

...
Let's Make a Visual Studio Team Services Extension Jan 02, 2016

Recently, Visual Studio Team Services (VSTS) opened up the ability to make extensions with distribution through the Visual Studio Marketplace (https://marketplace.visualstudio.com). The marketplace and API is currently in preview, but I will show how easy it is to create an extension with some of the currently available features.

Extensions are made using HTML, CSS and JavaScript. You may also choose to go with TypeScript. The official documentation is also heavy on using TypeScript, so help is available either way. The official tool for packaging and managing extensions is written using Node.js and distributed via NPM. Why is all of this great? It means you can create extensions regardless of what platform you are sitting on (OS X, Windows, Linux).

...
Developing and Distributing Tools with DNX, DNU and NuGet Nov 07, 2015

npm install -g for .NET? it’s here!

There is a (somewhat) hidden gem in the new .NET world with DNVM, DNX and DNU - creating and distributing global tools with ease. Global meaning the application is always available through one or more commands in the command prompt (basically being registered in the PATH system variable). In the Node.js community this has been a central part, allowing you to install useful tools using the Node Package Manager. “Secret Manager”, part of ASP.NET 5, is an example of such a tool in the .NET world - but it is also one of the only examples currently available. Here is how simple it is to get started with it:

...
Visual Studio Online Build - Building and Pushing Docker Images Oct 10, 2015

In this article we will look at an example of how to build docker images and pushing to a Docker registry using the new cross-platform Visual Studio Online Build. As the running example we will take a small Node.js application, push it to a Git repository and have VSO build take over from there.

The goal is to show how to build a docker image and push it to Docker Hub with a Linux build agent. A different machine acting as a web server can then spin up a container from the image a few seconds after.

...
GOTO Copenhagen Slides Oct 06, 2015

Yesterday I had the opportunity to give a talk on the new build system in Visual Studio Online at GOTO Copenhagen. Great conference overall and good questions afterwards! The slides are available for download.

ASP.NET Web API Request Throttling with Redis Cache Aug 16, 2015

When developing API’s for external parties to consume, sometimes the need for request throttling becomes relevant. In this article you’ll see a simple approach to create such a middleware component for Web API in ASP.NET 5, based on Redis.

You can browse or download the complete sample on GitHub at: https://github.com/jlandersen/web-api-redis-request-throttling.

Considerations

The general case usually is that you have identifiable consumers of your API. The consumers are usually identified based on an access key (or something equivalent) supplied with each request. Since you will have to check each incoming request up against a history of previous requests, the mechanism should almost always be implemented using in-memory caching or a dedicated caching system, such as memcached or Redis. Before implementing a request throttling mechanism in your API, that rates each of these consumers individually, you should consider how ambitious the mechanism should be. You can choose from a wide range of different parameters to base the rating on. Some examples are:

...
xUnit or NUnit with Visual Studio Online Build Jun 19, 2015

Running unit tests as part of the build process with Visual Studio Online requires no effort if you use Visual Studio Unit Testing Framework. But really, not a lot use that these days. I have done a few presentations on using the build services in Visual Studio Online for Continuous Integration. Unfortunately it seems common that it is a bit troublesome to run either xUnit or NUnit tests as part of the build process. Here are the few steps that enables either xUnit or NUnit with VSO Build (the new version!).

...
Async Camera Pictures with Xamarin Forms Jun 18, 2015

I have seen different approaches to using the device camera with Xamarin Forms. Here’s an example of how this might be implemented, with an async interface for easy async-await consumption in the shared Xamarin Forms part of the application. I will show the implementation details of the shared code and iOS version. The full example is available on https://github.com/jlandersen/xamarin-forms-camera that includes Windows Phone and Android parts as well. If you are unfamiliar with accessing native features of the different platforms, check out the official documentation.

...