Christian Hollinger

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

03 Dec 2021

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

12287 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)

3422 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

9131 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

7079 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

6829 words, ~27 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

3624 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!

3224 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)

9104 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
11 Jun 2020

A Data Engineering Perspective on Go vs. Python (Part 1)

5340 words, ~21 min read

Exploring golang - can we ditch Python for go? And have we finally found a use case for go? Part 1 explores high-level differences between Python and go and gives specific examples on the two languages, aiming to answer the question based on Apache Beam and Google Dataflow as a real-world example.
21 May 2020

Goodbye, WordPress - Hello, Hugo & nginx

2626 words, ~10 min read

Ditching WordPress for a static site generator