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).
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:
- The Bike Shed: 451: Making Time for and Managing Focus
- How to Stay Focused - 3 Proven Techniques
- Huberman Lab Essentials - How to Focus to Change Your Brain
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 Music Server
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.