Review: Keyboard UHK2 Mar 27, 2022 TLDR Great keyboard, but maybe not for everybody. Pros: great hardware ergonomic split design very easy re-programmable from any os (win/mac/linux) looks great Cons: very expensive relearn some keys I’ll describe cool default features and some workarounds. ...
Parameterized xUnit Tests with F# Jan 12, 2022 This post showcases different ways of writing parameterized tests with xUnit using F#. I’m assuming you have a basic knowledge of F# are familiar with the concept of parameterized tests are familiar with parameterized tests with C#/xUnit TL/DR type Somebody = { Name : string } let samplesTLDR : obj[] list = [ [| { Name = "Homer" }; "Homer" |] [| { Name = "Marge" }; "Marge" |] ] [<Theory>] [<MemberData(nameof(samplesTLDR))>] let ``test TLDR`` someBody expected = Assert. ...
How to setup Jupyter with dotnet 5 on Arch Linux in 2021 Feb 26, 2021 Jupyter “Notebooks” are an interesting way of documenting / teaching code interactively. Jupyter has extended their plattform for other languages (it was originally conceived for Python). See this microsoft anouncement from 2020-06 for dotnet core integration. ...
TDD Money Step-by-Step in C# Feb 25, 2020 While preparing a TDD workshop, I ported Kent Beck’s Money example from the book “Test-Driven Development by Example” to C# using .NET Core I’ve tried to map each change described in the book to a dedicated git commit with a sensible commit message. ...
F# Smart Constructor Feb 10, 2020 The “Smart Constructor” pattern allows us to create a type with F#. With validation. TL/DR Here is the F# boiler plate needed to implement the Value Object pattern. type UserName = private UserName of string module UserName = let isValid s = // . ...
F#: Function Signature Feb 05, 2020 I always forget how to write Haskell-like function signatures in F#. type AddOne = int -> int let addOne : AddOne = fun i -> i + 1 You can think of AddOne as an interface in OO-languages, for functions. ...
Blog: Update to Hugo Jan 05, 2020 I’ve replaced the static blogging engine of this blog. The previous blogging engine (Octopress) hasn’t been updated in a while, so I switched to Hugo. Old links should still work. ...
Review: Hands-On Domain-Driven Design with .NET Core by Alexey Zimarev Jun 25, 2019 I have updated this post because the author took the time to respond to my review. TL;DR The book Hands-On Domain-Driven-Design with .NET Core by Alexey Zimarev illustrates the pros & cons of different CQRS/ES persistency options in the . ...
F# Linux: mixed feelings Nov 29, 2018 I have been trying to learn F# with .NET Core and Linux for some time. My experience so far are mixed. Let me explain what I mean by “mixed”: First off all: It is great that we can use . ...
IntelliJ and Gnome keyboard shortcut conflict: Ctrl Alt s Aug 21, 2018 I am currenty experimenting with Jetbrains Rider under Linux. Sticking to the default window manager GNOME for my linux distro (Arch Linux), I ran into some problems with conflicting keyboard shortcuts. ...
Rewarding moments during Lunch & Learn... Mar 15, 2018 Today I witnessed a C++ developer explaining the essence of Test-Driven Development (TDD) to a Haskell developer. And a bunch of other developers pitched in! It was over lunch. We don’t talk about TDD everyday while eating. ...
Visual Studio's default path for new projects Feb 20, 2018 Today I took the time to fix something very simple: Visual Studio’s default path. In the past decade there has never been a single project I wanted to save to: ...
F# Test Setup for FizzBuzz Feb 07, 2018 In my previous post we setup a basic F# project in Linux. In this post I would like to show how to setup an idiomatic F# testing environment using FsUnit. ...
F# Setup Linux: FizzBuzz Feb 05, 2018 One of the first things I always struggle with when learning new languages is the environment. Here is a simple setup for playing with F# and Linux. Prerequisite: .NET Core with Linux I won’t go into setting up . ...
Docker and Octopress Apr 04, 2017 This post describes how I created my first customized docker image(s). I have been watching the docker space for a while and finally found a private use-case: This blog uses Octopress, which is a ruby-based convenience-wrapper around Jekyll. ...