• Versioning .net Core applications using Cake

    27 jun 2018

    If you are moving to .net Core and you want to implement a versioning strategy in your application, now you have an awesome alternative to the good old fellow "AssemblyInfo".

    The alternative is the Directory.build.props file. If you place these file in the root folder that contains your source code, when MSBuild runs will add to every project the properties defined in the Directory.build.props.

    In this post, we will see how to quickly setup a solution with multiple projects and use Directory.build.props with Cake to build and increment the version number.

    Read more


  • Exploring the Docker Container metaphor

    05 mar 2018

    This post is my interpretation of the Container metaphor and how I use it to understand the concepts and explain containers to others.

    Containers is one of the hot topics in the Software Development world and Docker is the technology that everyone wants to play with.

    Thanks to this hype, everyone has at least a brief idea of what a container is. The problem is that we can easily be confused about what containers really are and the advantages of it.

    I faced the same problem and, in my case, explore the container metaphor helped me to understand it.

    So, why containers?

    Read more


  • JSON Patch Builder Online

    08 jan 2018

    Do you know the JSON Patch format? The RFC6902 defines the structure to express a list of operations to apply over a JSON Document. This format is designed to be the payload of an HTTP PATCH method.

    The format isn't difficult, you can easily understand the rules and build it manually. But, I confess that sometimes I struggle with it, specially when I'm testing a PATCH to a complex object. So... I built a Tool to help me.

    Read more


  • Implementing the HTTP Prefer Header with an ASP.NET Core Filter

    15 nov 2017

    Have you heard about Prefer Header for HTTP? The RFC-7240 defines how this header can be used by a client, in order to request that certain behaviors be employed by a server while processing a request.

    Why does it matter? You probably have consumed API's where you use the HTTP POST or PUT method to modify a resource and the server returns a complete representation of the resource. In other cases the API only returns the Identifier of the resource created, for example.

    What if you want to defer to the client to specify which optional behavior is preferred? That's why you need to know about the HTTP Prefer Header.

    Read more


  • Please don't name it "Utils"!

    12 set 2017

    Imagine that you are working on a code base that you are really proud of. Everything is building up together with great quality and you reach the moment where you need to send a mail. Simple task to you for sure.

    You know that eventually you will need to send emails in other points of your application and because you master the DRY principle you decide to write an "Utils" class.

    Good idea, isn't it? NO!!!! Absolutely no!

    Why not? What's wrong with an "Utils" folder or an Utility class?

    Read more


  • Rebuilding SQL Database indexes using Azure Function

    20 jul 2017

    Do you know that index management is under your responsibility and you need to pay attention to how fragmented they are? If you are reading this post, probably you know that (I hope that you didn't find it in the hard way).

    Azure SQL Database takes care of a lot of maintenance tasks, but keeping your Indexes healthy isn't one of them.

    Indexes get fragmented and fragmented indexes is a performance killer. The good news is that I can help you dealing with that.

    Read more


  • 5 reasons to convince your boss to adopt Cake (C# Make)

    26 jun 2017

    Have you taken a look into Cake Build?! It's awesome, isn't it?

    Probably you are already convinced, but you are having trouble convincing your boss that it's worth to give him a chance.

    To help you I give you here five compelling reasons they can't argue with.

    Read more


  • Tuga IT - Build Automation? It's a piece of Cake

    23 mai 2017

    It was a huge privilege to share my experience with Cake Build at Tuga IT.

    You can find here the slides and demos that have been used, as well as some references related to the theme.

    Read more


  • Adding Custom Arguments to Topshelf

    07 dez 2016

    Topshelf is an amazing framework that let you easily host and build Windows services.

    Topshelf is really extensible, but recently I struggled to find how to configure a custom argument to the service.

    This post is simple tip to help you create custom arguments to a Topshelf service and use it in the command line.

    Read more


  • Create a Web Deployment Package with Cake Build

    04 nov 2016

    This is simple tip to help you create Web Deployment Packages with Cake.

    Read more