Fredrik Normén
ASP.NET, AJAX, Silverlight, RIA, Architecture, Clean Code
-
Using Windows Container to isolate builds, useful for CI/CD
When we use a build server to build our projects, we may get in trouble if we build several project on the same build server over time. For example if we have a project that was created and built with a specific compiler version and tools. Then we put that project a side and created a new project that will now target a new version of a compiler and new version of the tools we used before, maybe also install new components that are needed for the new project. Everything is perfect and works great for the new project. But suddenly we need to fix a bug or have a change request for the old project we put aside. Now we open that old project, make some changes we build the project. BANG! Failed! It can fail because of new tools that aren’t compatible with the old version, or some new components installed did some strange thing that break the build.
-
Creating a windows container for a ASP.Net MVC 5 project
In this blog post I will show how we can run our ASP.Net ;VC 5 Web project in a Windows Container using docker-compose.
-
Setting up Gulp and Bower for an Asp.Net MVC project in Visual Studio 2013
In Visual Studio 2015 we can in a really simple way using Bower (for manage client-side packages), Grunt or Gulp (Task runner and build system) in our web projects. You can read about it here.
-
References and Class Library Asp.Net vNext – Alpha 3
This blog post is about how to add references and creating Class Libraries for Asp.Net vNext applications. There are two ways of creating a Class Library, either by adding a new project and select Asp.Net vNext Class Library template or just creating a sub folder and add a project.json file to that folder. We can also reference to a NuGet package that already includes a Class Library. Adding a reference to a NuGet or Class Library is done by using the project’s project.json file.
-
How to create your own custom configuration source in Asp.Net vNext
One of the new feature in Asp.Net vNext is that we can specify one or several configuration sources, a source where our application configuration is located, for example the old web.config (Xml format), JSON, ini or we can create our own custom configuration source, for example reading configurations from a database or other kind of format. In this blog post I will show you how we can create our own configuration source and use it in the Asp.Net vNext.
-
Azure Mobile Service and manual database migrations
In my previous blog post I wrote about my experience with Azure Mobile Service and Database migrations. In this blog post I will explain step by step how to get manual migration in place.
-
Database Migration and Azure Mobile Service adventure
During the last months I have worked with an API backend for a mobile application. Azure Mobile Service with a .Net backend is our infrastructure platform. There was a lot of struggling to get Entity Framework Database Migration work the way I wanted it to work. But the solution was quite easy, but needed some few changes that I think shouldn’t be needed at all.
-
Merge hell and Feature toggle
For about three years ago we use feature branches in our current project. It took about a half to one day to merge those branches before deployment. The reason why feature branches was used was more or less because most team members have worked like that in earlier projects and they thought it was the way to work. At that time some of them also wanted to introduce bug branches! That was the right branch strategies for them, because that was what they have learned.
-
Get started by using ASP.Net Web API and NancyFx with OWIN/Katana
Many of you may have probably already heard about OWIN (Open Web Interface for .Net) and Katana that implements OWIN and use different components for supporting OWIN, for example System.Web and System.Net.HttpListener. If you haven't heard about OWIN or Katana before, please read the following: OWIN and Katana.
-
Stop saying "but it works on my computer"
How did I managed to replace all computers with new better and faster computer?
For several years ago I worked with a large enterprise product. I was frustrated every time I needed to run my code in debug mode. I hated my computer, it was so slow! I often heard team members say the same thing. One day I couldn't just stand it, so I went over to my boss and told him "we need new computers, ours are so slow". The answer was "no!". I tried with several arguments but failed. Then I remember something I read in a book, too many leaders have learned to just watch numbers. So I did the following: I opened the solution we where working on. I measured the time it took to build the solution on the local machine, and the time to start it up. I took an average number of times a team member will do this task every day. I took what I guess was the average developers salary and calculated the cost for just waiting to the project to start up, based on one year. I went home, did the same thing with my computer at home (a much faster one). Took the price of a new computer times number of developers. I went to my boss and showed him how much new computers will cost, and how much we will save with the new computers compared to the current computers during one year. When he notice how much money the current computer cost in waste compared to investment in new computer. He bought us new computers. So sometimes numbers must be included.Summary
By using Virtual Machines, we can setup a development and testing environment for team members fast, and we can make sure everyone uses the correct version of tools for the specific project. By using tools like Vagrant we can make the setup much faster and in an easy way, If you want to know when I post a new blog post, please follow me on twitter: @fredrikn