Raul San Martin / MrAnnix

All blog posts

Saturday, 8th November, 2025

Spark Memory Fundamentals: How Executors Really Allocate Memory

Ever wondered why your Spark jobs run out of memory? Learn how Spark divides executor memory, manages dynamic borrowing between storage and execution, and why some tasks spill to disk while others fly through.

2022

Tuesday, 13th December, 2022

Understanding Apache Spark runtime architecture

The internal working of Apache Spark.

Tuesday, 7th June, 2022

An introduction to queueing theory

The mathematical study of waiting in line.

2021

Sunday, 17th October, 2021

Introduction to support vector machines

An easy introduction to support vector machines (SVMs).

Friday, 1st October, 2021

What is Machine Learning?

What machine learning is, how it works, and what we can do with it.

2019

Thursday, 7th November, 2019

Block ciphers and modes of operation

A look at the modes of operation of block encryption algorithms and their resilience to errors.

Tuesday, 7th May, 2019

dat:// — How to decentralize your website?

Decentralize your website with dat, a P2P protocol that will make the Web more efficient and secure.

Tuesday, 2nd April, 2019

Hello World! (or how I build this site with Jekyll)

About how I built this site on GitHub Pages using Jekyll.