On a couple of occasions I’ve found that students in one of my workshops were confused by the syntax, so here’s a detailed post about the possible combinations of object parameters and default values in JavaScript.

If you’d like to play with the samples yourself, check out this GitHub repo.

Accept a default value for a parameter — basic stuff

To get things started, here’s a function that accepts a parameter, but also defines a default value for that parameter. So if the caller doesn’t …


Basta 2021 is still going on, but I have completed my talks for this event. All went well - to varying degrees, since I’m a critical person - and many thanks to those who attended my talks or my workshop!

Here are the links to access online slides, or to download PDF slide documents and source code samples.

Developers and Architects — Strategies 2021

PDF Download

Functional Code in C# 9

Desktop Apps with React


2020-01-21

Protocol Buffers are Google’s implementation of an improved data serialization format. Improved, that is, in comparison to JSON — which is after all what the world is mostly running on at this time. After reading various hype posts about how cool and efficient the format is, I was curious to find out how much of it is true.

In case you’re not interested in the details, and because I started my little test with a pretty good idea of what the results would be, let me summarize my findings up fr …


Sometimes I don’t fancy debugging a piece of code in the browser. I mean that as in “use the debugger” - I’d much rather see some log output. This can be more useful than step-by-step debugging because the program flow is not interrupted, which can cause strange behavior in its own right, and because log output makes it easier to see how values go in and out of functions as the program runs through its flow.

Since I prefer writing code in a functional style, I often have the problem that it’s …


Yesterday I presented my talk Being Functional to the London .NET User Group. First of all: thanks to Dylan and Ian and whoever else was involved for organizing this event and inviting me, and to Skills Matter for making their fantastic CodeNode venue available to the group! I had a great time and I believe everybody else did, too :)

Feel free to get back to me if you have any questions or comments! Here’s the download of samples and slides I used during the talk.{filename=2016030 …


The online publication Informatik Aktuell has just published a German language article I wrote for them on topics of functional programming in C#. Read it here: Funktionales C# für Fortgeschrittene


I finally got round to something today that has been waiting for a very long time: I published my Functional C# library FCSlib on github and NuGet. I first started working on parts of this back in 2008 and put the library together when I wrote my book Functional Programming in C#.

There are still things I’d like to do for the github project — most importantly, I know I have a set of tests somewhere, but because I was using the library for various purposes over years and I didn’t have source c …


At DevExpress, we frequently hear about issues customers have with our updates. I personally hear about these when I teach our training classes or meet customers at events. I felt like saying a few words about this and I decided to post them here rather than on the DevExpress blogs because they represent my personal opinion and advice — I wouldn’t say (or think) they would conflict with any “official” company line, if there was one on this, but I also didn’t want to risk the impression that my …