Month summary - December 2024

Posted by Tobiasz Kedzierski on 31.12.2024

December 2024

I am aggregating here some more or less interesting stuff of various IT related materials which I came across this month. Some of them are strictly related to the things I did or am currently doing.

Some thoughts

This month, I decided to revisit and validate my knowledge on Terraform, a tool I've been working with for around 5 years. It's always been a great experience, so much so that I wrote an introductory article about it four years ago: Terraform Tutorial: Introduction to Infrastructure as Code. To make sure I'm still up-to-date, I signed up and successfully passed the HashiCorp Certification: Terraform Associate (003).

HashiCorp Certification: Terraform Associate (003)

I also ventured into the neovim (hyperextensible Vim-based text editor) territory, inspired by my workmate Thiago Bellini and his fantastic setup. I took a look at his dotfiles and decided to learn the basics of neovim first, before diving into LazyVim or NvChad. This led me to fork kickstart.nvim, a launch point for personal nvim configuration. I've been slowly exploring the world of neovim in my free time. It hasn't replaced my IDE yet, but who knows what the future holds.

And speaking of time, I've been thinking about how the recent influx of distractions has been impacting my focus. To help manage and improve my focus, I found these resources to be quite helpful:

So, this month has been about Terraform, neovim, and focus. Onward to the next month's adventures!

Articles

The Engineering Manager: Fast-forwarding decision making

Let's go faster.

Dmitry Mazin: Demystifying git submodules

In this article, I’ll explain exactly what I needed to know in order to work with submodules without inflicting self-damage.

Using an 8K TV as a monitor

TLDR: If your job is to write code all day or stare at Excel spreadsheets, buy an 8K TV instead of a multi-monitor setup. You can even use the same TV for 4K 120 Hz gaming or watching movies as a bonus!

Productivity

A guide to context switching

Context switching is when you shift your focus from one task to another. This requires you to disengage from one activity and re-engage with another. If the shifting happens too frequently, it could lead to mental fatigue, lack of productivity, and errors.

AI

aichat

AIChat is an all-in-one LLM CLI tool featuring Shell Assistant, CMD & REPL Mode, RAG, AI Tools & Agents, and More.

Python

Python's pathlib module

Does your Python code need to work with file paths? You should consider using pathlib.

Trey Hunner: Lazy self-installing Python scripts with uv

A few months ago, my friend Jeff Triplett showed me that uv can work within a shebang line and can read a special comment at the top of a Python file that tells uv which Python version to run a script with and which dependencies it needs.

Robert Heaton: PyMyFlySpy: track your flight using its headrest data

I finished PyMyFlySpy the day before we left. The code is available on GitHub and it’s easy to setup and run.

Modern Good Practices for Python Development

Python has a long history, and it has evolved over time. This article describes some agreed modern best practices.

SuperFastPython: Asyncio Event Loop in Separate Thread

We can run an asyncio event loop in a new thread by starting a new thread and configuring it to start or run an event loop.

Django

Single-file Django Apps with nanodjango

Nanodjango is a project to bring that simplicity to Django, without losing any of its power

Creating AI-based Summaries in a Django Websites

In this post, I'll share how I used Simplemind and Gemini to automate this process in my Django-based project.

Python libraries

mypy-baseline

Integrate mypy in seconds with existing codebase. A friendly CLI tool to make mypy report only new type violations and ignore existing ones.

blacklanternsecurity/bbot

The recursive internet scanner for hackers. 🧡

Tools

Pet

Simple command-line snippet manager

NvChad

Blazing fast Neovim config providing solid defaults and a beautiful UI, enhancing your neovim experience.

Codebase Digest

🗜️ Codebase-digest is your AI-friendly codebase packer and analyzer. Features 60+ coding prompts and generates structured overviews with metrics. Ideal for feeding projects to LLMs like GPT-4, Claude, PaLM, and Gemini for code analysis and understanding.

Cloud

Optimize your Cloud Run functions

In my experience, tuning Serverless services always requires actual testing and analysis of results. It’s a bit of trial and error and Cloud Run functions is no different.

Gemini in BigQuery: Unlocking Multimodal Search with Vector Embeddings

This blog post will guide you through using vector search in BigQuery to perform semantic searches using both text and image(or other multimodal) inputs.

Google Cloud: Locking down Cloud Run: Inside Commerzbank's adoption of custom org policies

The granular control possible due to Custom Org Policies has been a game-changer. Commerzbank and customers like it can now tailor their security policies to their exact needs, preventing potential breaches and ensuring regulatory compliance.

Google Cloud: Dataproc Serverless: Now faster, easier and smarter

We are thrilled to announce new capabilities that make running Dataproc Serverless even faster, easier, and more intelligent.

Google Cloud: How to deploy Llama 3.2-1B-Instruct model with Google Cloud Run GPU

As open-source large language models (LLMs) become increasingly popular, developers are looking for better ways to access new models and deploy them on Cloud Run GPU. That’s why Cloud Run now offers fully managed NVIDIA GPUs, which removes the complexity of driver installations and library configurations. This means you’ll benefit from the same on-demand availability and effortless scalability that you love with Cloud Run's CPU and memory, with the added power of NVIDIA GPUs.

Other stuff

1 dataset 100 visualisations

We wanted to show the diversity and complexity of data visualization and how we can tell different stories using limited visual properties and assets.

Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It's like your personal Spotify!

Podcasts

The Bike Shed: 451: Making Time for and Managing Focus

Joël has some more timezone facts to share, while Stephanie reveals her worst enemy when it comes to productivity.

Videos

GoGaRuCo 2010 - The Shell Hater's Handbook by: Ryan Tomayko

Power Use of UNIX • Dan North • GOTO 2013

DEF CON 18 - Jayson E. Street - Deceiving the Heavens to Cross the Sea

This Is IT - Maciej Kawecki: Wojciech Zaremba: Tak będzie wyglądała Nowa Era ludzkości

How to Become a Great Software Developer — Best Advice from Top-Notch Engineers

Piotr Zarzycki, Paweł Srokosz: ScamBook | OMH 2024

Jak podsumować rok i zaplanować kolejny? 🔮 Bezpłatny LIVE Piotra Nabielca #ProductivityByHeart

How to turn Vim into a powerful and beautiful IDE | Jess Archer, Vimconf 2021

TJ DeVries - The Only Video You Need to Get Started with Neovim

Henry Misc - Full Neovim Setup from Scratch in 2025

TheVimeagen - Teaching Neovim From Scratch To A Noob