• NetPonto - Como construir software altamente eficiente com CQRS

    19 set 2016

    Esta semana tive a oportunidade de falar um pouco sobre a minha experiência com CQRS na Comunidade NetPonto.

    Se não tiveste a oportunidade de assistir, coloco aqui os slides, o vídeo da sessão, bem como algumas referências sobre o tema.

    Read more

  • Azure WebJobs dependency injection with Unity

    08 ago 2016

    In the early days of Azure WebJobs use Dependency Injection was a little bit tricky because the Triggered methods were only static methods.

    Since the WebJobs SDK 1.0.1 you are no longer limited to static methods and that can change how you approach Dependency Injection on WebJobs.

    In this blog post I will show how you can use Unity to inject dependencies into your WebJobs.

    Read more

  • The shining new C# Scripting API

    03 fev 2016

    Say hello to the new Scripting Language: C#!

    Since the first days the .NET platform lacks scripting capabilities compared to dynamic languages like JavaScript or Ruby, but those days are over.

    Why this is awesome?! If you are familiar with the capabilities that VBA brings the Office users and how many "Excel VBA Programming" books were sold to non developers, you will understand why. And it's open source!!!

    Read more

  • Is CQRS too complicated? No!

    09 nov 2015

    How do you feel after reading a few articles about CQRS (Command Query Responsibility Segregation)? Confused?!

    The good news is that's not your problem.

    CQRS is a simple concept, but usually is presented side by side with other patterns creating the perception that CQRS requires a ton of elements to work.

    This post pretends to demonstrate that CQRS can be a simple concept that can evolve according to your needs.

    Read more

  • Use T4 as email template in 6 steps

    23 out 2015

    When you want to send emails from .net applications how do you do it?

    Do you create an instance of StringBuilder and start adding texts?!

    And when you want to format the body as HTML? How do you do it?! A bigger string?!

    And if you could write your templates as plain text and still be capable to inject values like names, dates or other values?

    The good news is that you can and you have a good old friend to help you: T4 Templates.

    Let's see how to do it.

    Read more

  • Using Trello to manage your Wine Cellar

    09 out 2015

    Do you have a wine cellar at home?!

    Nothing too big, but the sufficient number of bottles to lose control?!

    Do you really know what you have in your cellar?

    This post wants to help you solve those problems, and manage your home cellar with an amazing and free tool.

    Read more

  • 7th Meeting of NetPonto Community in Oporto

    18 set 2015

    We are bringing to Oporto the 7th Meeting of NetPonto Community. The meeting will take place at Instituto Superior de Engenharia do Porto (ISEP) at 26 September 2015.


    09:45 - Check-in

    10:00 - SOLR in .NET - Super Solid solution for a Super Fast Search - Pedro Neves Rosa

    12:00 - The Future of Web Applications - ECMAScript vNext and others - Ricardo Brandão

    13:30 - Closing Panel

    Read more

  • Are you sure that Android is better than Windows Phone?

    23 jul 2015

    SPOILER ALERT: This text contains opinions from the author about smartphones.


    I'm a huge fan of Windows Phone since the early days and I have been using it since 2011. I followed the growing and I struggled with all the limitations in past years.

    Until the last month I'd never used an Android Phone or an iPhone as my personal phones. I've been playing with them in work or with family phones, and I have to honestly say that I never fall in love for them. But I need to refer that I'm not a hater of them, I respect both Operating Systems.

    I can see their pros and cons and I try to stay away from those fanboy discussions (usually I'm the guy that they will make fun because for my friends I'm the only person in the country with a Windows Phone).


    In the last month, I noticed that the camera button of my Nokia Lumia was a little loose and I decided that was time to send it to repair. I needed a substitution phone and I decided to give a try to Android because I'm a kind of disappointed with the Nokia hardware quality and I was really curious to try a different operating system. I've faced the experience with an open heart and really expecting to be surprised.


    I managed to get a Vodafone Prime 6, it's not a flagship product but it's a cool phone and I used it during a month. Here I will explain what I loved in Android and what I missed from my Windows Phone.

    *I want to point out that I won't compare hardware features. *

    Read more

  • Reduce the path length of a Node.js project

    09 jul 2015

    Are you fighting with the path length of your Node.js projects?

    If you are using Microsoft Visual Studio to development, I bet you do. If you don't, you will (this isn't any curse that I'm throwing at you)!

    Windows has the "Maximum Path Length Limitation" that is terrible for Node.JS projects.

    "The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters."

    As you know, when you install a package in Node.js, the npm will place the dependencies under the package folder. This process is recursive for each package, so you can easily overcome the path length.

    Unfortunately, there's no silver bullet to fix it (I'm not a Node.js guru, so please let me know if I'm wrong), but we can follow some tips to deal with it.

    Read more

  • 6th Meeting of NetPonto Community in Oporto

    29 jun 2015

    We are bringing to Oporto the 6th Meeting of NetPonto Community. The meeting will take place at Instituto Superior de Engenharia do Porto (ISEP) at 11 July 2015.


    09:45 - Check-in

    10:00 - ASP.NET VNext, now in Mac! - Bruno Lopes

    12:00 - Building applications with Xamarin Forms - Rui Marinho

    13:30 - Closing Panel

    Read more