Impeachment in a functional way

Functional Programming (FP) did not really click with me until I saw how it utilizes composition of functions to model pipelines of tasks. Lots of sources on the internet mention immutability and algebraic types as great advantages of FP but it was composition that won me over. In particular, composition is perfect for describing workflows …

Please don’t use headphones when working

There are lots of good reasons why you’d want to don headphones and listen to music while coding. They block out noise and help you concentrate. There are also a number of compelling reasons why you should not. Disclaimer: Below is based on my own experience and may not be scientifically correct. Here are three …

Using single case union types for entity IDs in F# and make it work with Dapper

In C# it is a common and popular pattern to use strongly typed entity IDs instead of using integers or the likes for IDs on your entities. Strongly typed entity IDs is a great help when trying to prevent you from mixing an Order ID with an OrderLine ID. Andrew Lock recently wrote a series …

Next step Git for those that already know add and commit

When I first started using Git a while back it seemed pretty straight forward although I had to get used to the disconnected nature of Git which is different than how TFS works (or used to work). I mostly used Visual Studio’s Git integration and usually it worked like a charm. But then after a …

Some Advice for Beginners

If you are new at programming, here is some sane advice for you. The list is built from my own experience since we are all newbies at something, right? The list could be a lot longer but I have picked 7 important pieces of advice that recently have had some relevance for me while mentoring. …

Deploying ASP.NET Core Applications from Bitbucket to Azure

Give the most tedioust jobs to your laziest employee and they will automate it. My boss That’s right. I am lazy. I hate repetitive tasks. And as a developer you probably feel the same way. One of those repetitive tasks is deployment There are numerous ways and frameworks to set up automated builds and deployments. …

Creating Your Own Visual Studio Project Template

All code on Github. In previous articles (1 and 2) I walked through how to add Webpack and Typescript to a Visual Studio ASP.NET Core MVC project. It turned out to be quite a cumbersome and error prone process and it is not something you wish for your worst enemy to go through twice (or …

Working Effectively with Windows as a (non-)Developer

There are lots of great articles on how to know your tools to be a better programmer. I thought I’d chip in give and give 10 tricks on how to be a good Windows user and hence also a better developer. These tricks are very simple and have been part of Windows for a while …

Which is better for teaching? C# or F#

Recently I have had the pleasure of training a couple of colleagues in the wonders of programming. At work we use C# for most of our applications so naturally I started preparing my material in C#. I did not get very far before it occurred to me: This is going to be a long haul… …