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 …

Close the Circle

Some years back my wife introduced a new principle called “Close the Circle” into our house hold. It was something she had read about somewhere on the www (unfortunately, neither of us can find the original reference). Closing the Circle means that you finish your job before moving on to the next. Our interpretation is …

Users are in for a bad experience with the Mojave app restrictions

With the Mojave update to macOS, Apple has introduced a couple of restrictions on what your apps are allowed to do. If you are the developer of apps that are downloadable outside of the Apple App Store you need to be wary of these restrictions. The two new restrictions I will be talking about in …

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 …

Should you Fire a Coworker for Making an Honest Mistake?

A while back my hairdresser accidentally cut my ear. It was just a small cut and I hardly felt it but since cuts in ears have a tendency to bleed a lot my hairdresser felt really bad and almost starting crying. After having driven home with one hand on the steering wheel and the other …

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 …