“Deliberately Ignore” pattern

We all strive to be more precise and at the same time more expressive in code. I came across one more thing that we can do to improve code in some places – I call it “Deliberately Ignore” pattern. One good example is having “switch” statement with default clause. This usually looks like this: One good example is having “switch” statement with default clause. This usually looks like this:

What’s the problem then? For me – I still don’t know if developer meant what is out there. What if there were few more links we don’t know if he
New toolchain for .NET – dotnet CLI

A few months ago Scott Hanselman at the Connect() conference announced dotnet CLI and functionality of native compilation of .NET for linux. As this new toolchain is going to be released with RC2 of ASP.NET in mid-February, I feel this is a good moment to gather all information about it and wrap it around my judgement. TLDR – summary of things for those who like concise form. Introduction to dotnet CLI The new tool is now called dotnet and often referred as dotnet CLI to prevent misunderstandings with .NET. This new tool changes the way we handle builds in ASP.NET Core

Project reference in ASP.NET 5

Introduction New type of project for ASP.NET 5 control their references through project.json file. This blurs boundary between NuGet reference, some framework reference, project reference and COM reference that exists in classic projects. It’s very convenient but what if you would like to step through & debug external source code? Project reference Solution is to create or edit global.json file in your solution. The projects value tells DNU where to find your source code. You may add there relative or non relative paths. For example:

Remember – DNU will use only those projects which project.json is one level below folders
ASP.NET 5 on Lego Mindstorms EV3 using ev3dev

Lego Mindstorms EV3 I find Lego Mindstorms EV3 very enjoyable. There are so many great projects that it can awake kid in every geek. If you happen to be a father (or mother) you will probably agree that it is very creative and developing fun. The same goes with Raspberry Pi. I had this idea while playing with my kids that it would be great to see my EV3 running ASP.NET 5. After all Scott Hanselman was able to run DNX on his Raspberry PI long ago. And Lego Mindstorms EV3 is also a ARM based machine. Source code for

Entity Framework 6 with ASP.NET 5

Introduction From business application perspective being up to date with technology is a great challenge. Aging frameworks receive limited support and may become eventually abandoned. This may result in unresolved usability or security bugs. Older frameworks are usually less competitive than their newer versions in terms of costs and speed of development. They also attract less and less people willing to work for the company. This may become a huge problem especially for smaller projects where only one or two developers are required. Eventually effects are similar to having technical debt – important people leave project more often, overall knowledge

DeveloperDays with Scott Hunter and Scott Hanselman

DeveloperDays conference I came back yesterday after two day conference .NET DeveloperDays taking place in Warsaw. This year edition gathered around five hundred developers from all around the Europe. Conference main focus lies in Microsoft development areas including Windows, Visual Studio, Azure, ASP.NET and many other related technologies. Organizers made sure to invite many well known and experienced speakers including “Hi, I’m Scott” Hanselman – a teacher, programmer, blogger and maybe most importantly guardian of community around ASP.NET 5 as a keynote speaker Scott Hutner – Principal Program Manager at Microsoft who gave momentum to latest changes in ASP.NET Clemens

Configuration Providers

NOTE: This article has been edited 16-10-2015 to line up with ASP.NET 5 beta8 latest changes Application configuration so common task that designers of new .NET decided that it will be one of the central components. There are many configuration providers available to use out of the box with DNX. Configuration is loaded as a hierarchy and programmer has control over the sources and the order of loading process. This comes in handy as a standardized way of handling repeatable task. With feature complete 1.0.0-beta8 release I feel that it is the right time to take a closer look at

Gulp tasks and TFS

Having TFS on board can be pleasure and pain in the same time. I like TFS for it’s integration with Visual Studio, great support for Code Review and checkin polices. But on the other hand it sometimes just gets in my way. I have a feeling that integration between newly on-boarded ASP.NET 5 tools like bower or gulp and TFS Visual Studio tooling can be a little better and that it’s designed more to be used with Git or Svn. One of the problems I had with TFS is that every time I started gulp task to clean css and

Hacking DNX. Part two – debugging DNU utility

In part one I described how to prepare for debugging DNX. This part is focused on understanding and debugging DNU – the tool delivered with each DNX used to develop, build, pack and publish .NET projects. This is part two of my series Hacking DNX. Agenda [may change a bit]: Build & first debug session Debugging DNU Utility (this) Overview of DNX projects and architecture DNX internals Understanding DNU First and foremost to understand is that DNU utility is just a wrapper for running various commands from Microsoft.Dnx.Tooling.dll via DNX. For example:

translates to: To understand more about
Hacking DNX. Part one – build & debug

This is part one of my first series Hacking DNX. Agenda [may change a bit]: Build & debug (this) Debugging DNU Utility Overview of DNX projects and architecture DNX internals So you like diving deep into code? Or maybe trying to solve problem with new ASP.NET 5 on your own?. After all code is the source of truth. Read on to see how to compile and run your very own version of DNX. First of download source code of dnx using git client

One thing to remember is to include –recursive flag to include sub projects as well. If