Christian Hollinger

Software Engineering, GNU/Linux, Data, ML, and other things

01 Jun 2022

Functional Programming concepts I actually like: A bit of praise for Scala (for once)

6,030 words, ~24 min read

Types, type classes, implicits, tagless-final, effects, and other things: Not everything in the world of functional programming is bleak and overly academic. A view on FP & scala concepts someone who loves to complain actually likes.
27 Feb 2022

Scala, Spark, Books, and Functional Programming: An Essay

7,451 words, ~29 min read

Reviewing 'Essential Scala' and 'Functional Programming Simplified', while explaining why Spark has nothing to do with Scala, and asking why learning Functional Programming is such a pain. A (maybe) productive rant (or an opinionated essay).
03 Dec 2021

Building a Data Lake with Spark and Iceberg at Home to over-complicate shopping for a House

12,270 words, ~49 min read

How I build what is essentially a self-service Data Lake at home to narrow down the search area for a new house, instead of using Zillow like a normal person, using Spark, Iceberg, and Python.
12 Aug 2021

Writing a Telegram Bot to control a Raspberry Pi from afar (to observe Guinea Pigs)

3,388 words, ~13 min read

A quick project to write a Telegram chat bot that can control a camera, connected to a Raspberry Pi, to take pictures of things; or: Why I refuse to trust IoT vendors and do everything myself
03 Jul 2021

Raspberry Pi Gardening: Monitoring a Vegetable Garden using a Raspberry Pi - Part 2: 3D Printing

9,110 words, ~36 min read

Part 2 of throwing Raspberry Pis at the pepper plants in my garden: On the topics of 3D printing, more bad solder jobs, I2C, SPI, Python, go, SQL, and failures in CAD.
25 Apr 2021

Raspberry Pi Gardening: Monitoring a Vegetable Garden using a Raspberry Pi - Part 1

7,051 words, ~28 min read

On how growing vegetables is more complicated than it looks, why bad soldering still works, on moving individual bits around, and what I learned about using technology where one probably does not need technology.
28 Feb 2021

Bad Data and Data Engineering: Dissecting Google Play Music Takeout Data using Beam, go, Python, and SQL

6,706 words, ~26 min read

On the joy of inheriting a rather bad dataset - dissecting ~120GB of terrible Google Takeout data to make it usable, using Dataflow/Beam, go, Python, and SQL.
21 Dec 2020

Why I use Linux

3,624 words, ~14 min read

One question I do get in earnest quite frequently is why I put up with running GNU/Linux distributions for development work. An attempt at a simple response.
26 Sep 2020

RE: Throw Away Code? Use go, not Python or Rust!

3,138 words, ~12 min read

Responding to an article on using Rust for throw away code and prototyping: Making a case for go over Rust, Python, and perl.
06 Jul 2020

A Data Engineering Perspective on Go vs. Python (Part 2 - Dataflow)

9,104 words, ~36 min read

In Part 2 of our comparison of Python and go from a Data Engineering perspective, we'll finally take a look at Apache Beam and Google Dataflow and how the go SDK and the Python SDK differ, what drawbacks we're dealing with, how fast it is by running extensive benchmarks, and how feasible it is to make the switch