Kotlin Algorithm Challenge No. 3

January 20, 2020

The following problem is the Reverse Integer problem on LeetCode. Problem Given a 32-bit signed integer, reverse its digits. Solution This…

The Role of Change Data Capture and Kafka Connect in Event Driven Architectures

January 16, 2020

Today I want to talk about something I've been thinking a lot about lately—change data capture. Change data capture is a method of capturing…

What do data classes give you?

January 13, 2020

Data classes are a well-known feature in Kotlin, but I struggle myself to remember their all of their benefits, so I wanted to enumerate…

Join the mailing list

Get the latest posts in your inbox. No spam, ever.


Kafka Hello World

January 05, 2020

Apache Kafka is one of the most groundbreaking technologies we software developers get to work with these days. It's used for streaming…

Kotlin Basics: Lambda Syntax

January 01, 2020

Happy New Year! 🎉 I intend to start writing about some more complex Kotlin concepts, but I'd like to lay a bit of groundwork first. Lambda…

Kotlin Algorithm Challenge No. 2

December 24, 2019

The following problem is the Longest Substring Without Repeating Characters problem on LeetCode. Problem Given a string, find the length…

Kotlin Algorithm Challenge No. 1

December 15, 2019

The following problem is the Add Two Numbers problem on LeetCode. Problem You are given two non-empty linked lists representing two non…

Exactly Once

November 20, 2019

In most messaging systems (RabbitMQ, for example) they deal in at-least once delivery. We (should) handle with this by making our systems…

Introduction to Celery

October 16, 2019

Celery is a distributed task queue, which means it spreads work across a bunch of threads and machines. If you go through the work of…

How the Node.js Event Loop Polls

August 21, 2019

Say we are a Node.js client, and we've made a request to some server. What happens as we're waiting for that response? How does the event…

Information Theory with Monica from Friends

August 09, 2019

I put Netflix on while I wrote this. Can't remember what show I was watching though... 🤔 Information theory sits comfortably in between…

Asynchronous I/O

July 26, 2019

This is more a record of notes for my own understanding. I'm not contributing anything novel here, although a lot of the cited sources are…

Eenie Meenie Miney Mo

July 10, 2019

Let's write a function that let's us take an n-sized subset of some iterator. Cycling Imagine you have an array, and you want to cycle…

Is "new" still considered harmful? Reflections on classes in JavaScript

July 08, 2019

Here are some random thoughts / notes about a way in which I don't like to code in JavaScript. Prototypal Inheritance Before we continue…

Modules in Node.js

June 24, 2019

I’ve found this to be a point of confusion for developers coming from other languages, so I thought I’d jot down some notes. Scope Every…

Data Structures and Database Indexes

June 21, 2019

A database index is an extra data structure in a storage engine w/ the goal of faster retrieval. It’s not the primary storing entity for the…

HTTP Persistent Connections

June 14, 2019

This was always a point of confusion for me, so I imagine there are others out there who could use some clarification on this too. Sockets A…

Git's DAG

June 03, 2019

Git is my personal favorite application of a directed acyclic graph. Git, while incredibly powerful, can be confusing because it is abstract…

Gradle is a DAG

May 29, 2019

Recently I wrote about directed acyclic graphs , and how you can derive topological orderings from them. Now let’s look at a more practical…

What is a topological ordering?

May 09, 2019

Now that we know the basics of directed acyclic graphs , we’re going to move to a more specialized data structure, one that is wholly…

What is a DAG?

May 06, 2019

A graph is a data structure, defined by its vertices and edges. Oftentimes you’ll see it defined as G = (V, E) . That just means, “G is the…

Dijkstra’s Algorithm in Kotlin

April 27, 2019

A while ago I wrote Dijkstra’s algorithm in Python, and I figured I’d convert it to Kotlin to test my Kotlin skills, since it’s a language I…

How similar is the execution of Java and JavaScript?

April 14, 2019

In this article, I will compare the execution of Java and JavaScript. I am intentionally avoiding a lot of details about memory, as that is…

Introduction to Monte Carlo Methods

July 25, 2015

I’m going to keep this tutorial light on math, because the goal is just to give a general understanding. Monte Carlo methods originated from…