Blog

Layered architecture

Creating maintainable and testable services.


Simple model service

How I built a simple embedding model service using open-source tools.


Data projects

Practical projects for building data and software skills.


Career options in data

Discovering roles and possibilities for newcomers to the world of data and ML.


Removing the cable lock on Sennheiser headphones

The HD 5XX series of Sennheiser headphones has a cable lock mechanism which requires compatible cables. Here's how to remove the lock.


Two is better than one

An introduction to pair programming.


Sending emails with Unicode address headers

Unicode characters in address headers can cause email send failures. Here's how to fix it.


Adventures in code performance

Why your code is slow and how to make it faster.


Git under the hood

Foundations, structures, and useful features of Git.