Blog Articles
-
Tail Recursive Functions (in Scala)
Turning imperative algorithms to tail-recursive functions isn’t necessarily obvious. In this article (and video) I’m showing you the trick you need, and in doing so, we’ll discover the Zen of Functional Programming.
Read article → -
There are No Acceptable Ads
The attention economy, and targeted advertising, are a first world problem, one that we have to deal with, because it’s affecting our well-being.
Read article → -
Best practice for natural Ordering
Definitions of
Read article →scala.math.Ordering
MUST BE consistent withequals
, an often overlooked law that can lead to problems. -
Managing Database Migrations in Scala
The database schema should be described as code, in your repository. And you should be able to semi-automatically update your database schema on new deployments.
Read article → -
I like Option.get
We should strive to make illegal states unrepresentable.
Read article →Option.get
is a partial function that, according to many, shouldn’t be in the standard library. Yet it doesn’t bother me; the inability of Scala to make it safe is the problem. -
Organize and Index Your Screenshots (OCR) on macOS
Screenshots contain text, text that should be searchable, as finding a screenshot later is the whole point of creating it.
Read article → -
Block comments on the web
Comments on the web can be toxic, and a waste of time. Here’s how to block them…
Read article → -
When My World Vanishes
It’s me, facing a hard to solve problem. It’s a difficult one, and I’m having problems focusing. I make some coffee, I move to another room, and I’m already thinking of running to some coffee shop, forgetting that we’re still in a pandemic.
Read article → -
Privilege
Today it’s my 38ᵗʰ birthday. I was born into privilege. Other people aren’t as lucky.
Read article → -
Retry Failing Tasks with Cats and Scala
Retry actions ending in failure via simple functions and Typelevel Cats type-classes.
Read article → -
Fatal Warnings and Linting in Scala
Strengthen your code via
Read article →-Xfatal-warnings
, linting and piss off your colleagues with useful compiler errors. -
Parallelizing Work via a JavaScript Semaphore
Simple and very effective implementation of a Semaphore, used for easily parallelizing work in JavaScript/TypeScript.
Read article → -
Blog Updates
Dusted off my website, with big plans ahead.
Read article → -
Regexp Replacement via Function in Java/Scala
Replace in strings via regexp, with the replacement being calculated via a function.
Read article → -
Scala's isInstanceOf is an Anti-Pattern
Scala has a much better way of discriminating between types. Scala has implicit parameters, with which you can describe type classes.
Read article → -
On Bifunctor IO and Java's Checked Exceptions
Bifunctor IO is a hot topic in the Scala community. Herein I’m expressing my dislike for it, as it shares the problems of Java’s Checked Exceptions.
Read article → -
In Defense of OOFP
OOP versus Type Classes, exemplified and in defense of the Scala collections redesign.
Read article → -
Minitest: Zero Crap Scala Testing Library
Minitest is my minimal testing library that I’ve been using for developing Monix.
Read article → -
What is Functional Programming?
FP is programming with (mathematical) functions, there’s no room for interpretation.
Read article → -
Scala Days 2017 — Monix Task
My presentation from Scala Days 2017, Chicago (April) and Copenhagen (June), on the design of Monix’s Task.
Read article →