# Saturday, August 01, 2015

Since a couple of years I like to play the game Ingress. It's been a great ride so far, I got to know many new and interesting people, got to visit a lot of new places and (re)discovering places in my own little town. It's been awesome!

Saturday, August 01, 2015 8:07:52 PM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Sunday, May 03, 2015

While looking through some documentation about Microsoft Azure App Insights I noticed a typo in the documentation. In the past that would mean trying to get into contact with the author by email, convincing her/him to update the article, ... Nowadays Microsoft provides an easy link to update the content via Github and markdown and that's what I did. Once you updated the documentation and are satisfied with it you can make a pull request so that the owner of the original repro can either accept it or deny it. Mine got accepted pretty quickly and is already online. It's great to see this kind of potential involvement by the community from Microsoft. So..., what are you waiting for? Go check out the documentation and improve it where possible.

The pull request that got accepted itself is: https://github.com/Azure/azure-content/pull/3463#event-295012378

The documentation that got updated: http://azure.microsoft.com/en-us/documentation/articles/app-insights-javascript/

Grz, Kris.

Sunday, May 03, 2015 9:12:16 AM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, May 01, 2015

It's great to see that one of your own workarounds is getting obsolete. This morning I checked social media and noticed that Github put a new extension on the market that integrates nicely with Visual Studio 2015.

Be sure to check it out at https://aka.ms/ghfvs. Also be sure to check out the following post GitHub Inside Your Visual Studio and video: video I recorded for Microsoft's Channel 9 site

Grz, Kris

Friday, May 01, 2015 6:34:25 AM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, April 22, 2015

Recently Microsoft showed us something new to the world which I think is very interesting: Azure App Service.

 appservicesuite

This new offering makes it a snap to create, deploy, manage your applications and APIs and integrate third party APIs as well.

First of all the two parts that stayed the same but got a rebranding:

Two newcomers in the arena are

  • Logic apps to automate access and use of data
  • API apps to easily build and consume Cloud APIs

There are several great videos available that show you a quick introduction:

Grz, Kris.

Wednesday, April 22, 2015 8:10:33 PM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, April 01, 2015

I got renewed as an MVP for ASP.NET. I’ve been renewed every year since 2007 when I first got the award.

I’ll keep doing my best for the community for the next year(s) to come as well. Being an MVP is all about community work and interaction and I really love that community. Thanks to that I got to know a lot of interesting people, became a better developer and person. It’s been an awesome ride so far.

Grz, Kris.

Wednesday, April 01, 2015 11:47:00 PM (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, February 05, 2015

Recently I was at a user group meeting about Xamarin. During the session several Macbooks were used. One of presenters wanted to zoom in on something on screen just like he would on Windows with the built in tooling. Turned out to be nobody in the room actually knew how to do it. To add a little disclaimer: we were all heavily Microsoft .NET users who usually spend 90% of their day in Visual Studio, on Windows.

As I didn’t know the answer either, but since a couple of months also use a Macbook pro at work as my main working machine I wanted to know as it’s a neat little feature while doing presentations. Just to step aside: why a Macbook pro when you’re doing .NET development? Well, turns out to be more and more developers are doing so as I noticed at work and not only there. The hardware is very nice and you can run Windows virtually pretty easily on it. I use Parallels myself at the moment but noticed others are making use of alternatives as well.

So how to do it?

1. Open System Preferences

And click the Accessibility icon.

SystemPreferencesMac

Proceed to step 2.

2. Zoom settings

Click on the Zoom item in the listbox and there you’ll notice different ways of turning on or off for easy zooming. You can either make use of scrolling (with 2 fingers on the trackpad while holding a key) or making use of a keyboard shortcut combination

ZoomKeyboardAndTrackpadSettings

Neat!

Grz, Kris.

Thursday, February 05, 2015 3:37:00 AM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, January 21, 2015

Likely somewhere this year ASP.NET 5, or vNext as it’s been called in the past, will launch. From all we hear each time it’s going to be a major shift again, likely as big as the shift from classic ASP to ASP.NET back in 2002. To get to know what’s going to change the people from the ASP.NET team made a series of screencasts available for us. You can watch them at your convenience at Microsoft Virtual Academy.

Go sit in your comfy chair and take some time to watch it at http://www.microsoftvirtualacademy.com/training-courses/what-s-new-with-asp-net-5.

Grz, Kris.

Wednesday, January 21, 2015 5:12:00 PM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, January 14, 2015

I’ve been fiddling around lately with Gulp and Bower. 2 tools that go hand in hand to make compelling web applications and… also integrate nicely in the new Visual Studio.

Gulp is a javascript based task runner and Bower is “package manager for the web”. Why bother you might ask yourself? Well, that’s a good question. In the recent years we’ve been enjoying bunding and minification which can be found in the ASP.NET System.Web.Optimization namespace. That’s going to be gone in ASP.NET 5 (or vNext as we’ve known it up until recently).

Just follow along on how to get started with the new wave.

Create a new project

Start Visual Studio 2015. Create a new project. Opt for ASP.NET Web Application.

01

Give it a meaningful name and press OK and opt in the following screen for ASP.NET 5 Starter Web

02

Again press the OK button and let the project be generated. After that you can open the nodes of wwwroot and Dependencies.

What’s under wwwroot

03

Quick overview of the new template

What’s new in ASP.NET 5.0 is the wwwroot folder. This is going to be the place to put static files like CSS, images, html, javascript files.

Something else which is new is that you don’t have a web.config file anymore. There are also some newcomers in the form of .json files:

  • bower.js: contains the Bower packages
  • config.json: the main configuration file
  • package.json: lists the npm packages
  • project.json: the main project file.

Using npm to install Gulp

Gulp itself is not yet in the template. To get this into it take the following steps:

  1. open package.json
  2. add a new entry under devDependencies: “gulp”: “^3.8.10”. Save the file.
  3. under the NPM node in your Solution Explorer pane you’ll notice that that a new subnode has appeared suffixed with (not installed):
    04
  4. Right click the NPM node and select Restore Packages from the context menu that appears.
  5. Now the package is installed:

    05
  6. Your package.json file will now look like the following:
{
    "version": "0.0.0",
    "name": "GulpTestingInVS2015",
    "devDependencies": {
        "grunt": "^0.4.5",
        "grunt-bower-task": "^0.4.0",
        "gulp": "^3.8.10"
    }
}

In the same fashion add entries for gulp-less and gulp-minify-css. As you can guess from the names these are respectively to transform a .less file to css and to minify a css file.

Gulp it up

Now that we have our ingredients ready we’re going to start to follow the recepy. In the solution, in the root folder of your project add a new file called gulpfile.js. Right click on it. In the context menu you select Task Runner Explorer. A new pane will open and a reference to gulp will appear in it. If you want to get rid of the default Grunt tasks you can simply delete the gruntfile.js file. I noticed that it’s a good habit to frequently refresh the overview in the Task Runner Explorer with the dedicated Refresh button.

Create a subfolder Assets under the root of the application. In there place 2 .less files: Colors.less and Styles.less.

Colors.less:

@color:#b6ff00;
@backcolor:#808080;

Styles.less:

@import "Colors.less";

body {
    background-color: @backcolor;
}

a {
    color: @color;

    &:hover {
        color: @color + @backcolor;
    }
}

06 

 

 gulpfile.js:

"use strict";

var gulp = require('gulp');
var less = require('gulp-less');
var minifyCSS = require('gulp-minify-css');

gulp.task('LessAndMinifyCSS', function () {
    gulp.src('Assets/Styles.less')
        .pipe(less())
        .pipe(gulp.dest('wwwroot/css'));
});

What goes on in this gulp file is that first declarations are made for the packages we’re going to make use of in our function. Then a Gulp task is created with the name LessAndMinifyCSS. We’ll also see, after a refresh, that function name appear in the Task Runner Explorer.

In the Gulp task we first set the source of our less files. Then via pipiing we execute the less package functionality over what was just loaded. Then the transformed result will be written down with destination wwwroot/css.

In the Task Runner Explorer hit the refresh button. Drill down to the node LessAndMinifyCSS. Right click on it and select Run.

In the output window of the Task Runner Explorer we can see that our less transformation was successful:

07

When we take a look in the Solution Explorer pane we’ll also notice that a new file was generated:

08

If it doesn’t show up directly then click the Refresh button, circled in red.

The content of the Styles.css file is as expected:

body {
  background-color: #808080;
}
a {
  color: #b6ff00;
}
a:hover {
  color: #ffff80;
}

So with not too much effort we were able to transform our less file to a css file. Now lets take it one step further. We’ll easily as well add CSS minification to our process. Change the gulpfile.js file as follows:

"use strict";

var gulp = require('gulp');
var less = require('gulp-less');
var minifyCSS = require('gulp-minify-css');

gulp.task('LessAndMinifyCSS', function () {
    gulp.src('Assets/Styles.less')
        .pipe(less())
        .pipe(minifyCSS({keepBreaks:false}))
        .pipe(gulp.dest('wwwroot/css'));
});

The output of the Styles.css file after running the Gulp task again has now become:

body{background-color:grey}a{color:#b6ff00}a:hover{color:#ffff80}

Now in the Task Runner Explorer right click the LessAndMinifyCSS task. Click the Bindings menu item and then select Before Build.

09 

Now each time you build your project the Gulp task will be run resulting in your Styles.css file to be updated. Of course there are a lot more Gulp packages that you can use but that’s a story for another blog post.

Grz, Kris.

Wednesday, January 14, 2015 9:41:56 AM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, October 29, 2014

If yes then take a look at aka.ms/devbesmart.

Grz, Kris.

Wednesday, October 29, 2014 7:38:00 PM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, October 27, 2014

If you like Charles Petzold’s (who doesn’t) books then you’re in for a treat: Get this free eBook by him both as pdf and as Kindle download.

Grz, Kris.

Monday, October 27, 2014 4:14:00 PM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  |