Blog Articles
-
Tolerance
I just refactored a piece of code. I deleted 6 source code files, and rebuilt the functionality with a bunch of dirty OOP classes shoved in a single file 😱
Read article → -
Atom/RSS Feeds are the Best Way to Consume the Web
I stay connected to websites I care about via an RSS/Atom feed reader. It’s better than social media for finding out what’s new because it’s clutter-free. By following RSS/Atom feeds, I discover wonderful gems that otherwise would be lost in the noise.
Read article → -
ING Scala Meetup on Scala 3 (live coding session)
Online meetup on Scala 3’s newly introduced types and features for encoding type classes.
Read article → -
Implementing a CountDownLatch (async and dirty)
Yo dawg, I heard you liked concurrency primitives. Let’s implement our own asynchronous, dirty CountDownLatch.
Read article → -
Scala's List has a Secret
OOP couples the data with the methods operating on it, and this is considered bad in FP circles. But is it?
Read article → -
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
Retracted article
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 →