Month summary - August 2024

Posted by Tobiasz Kedzierski on 31.08.2024

August 2024

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

Articles

Hybrid Hacker: Personal Finance for Engineers 🏦

A practical, no non-sense guide to handle your finances.

Jordan Eldredge: The bizarre secrets I found investigating corrupt Winamp skins

In January of 2021 I was exploring the corpus of Skins I collected for the Winamp Skin Museum and found some that seemed corrupted, so I decided to explore them. Winamp skins are actually just zip files with a different file extension, so I tried extracting their files to see what I could find.

Jordan Eldredge: Hal fixing a light bulb (what software development always feels like to me)

Every task ends up encountering at least one — if not many — annoying and unexpected tooling, configuration, infrastructure, etc. issue that has to be resolved before the actual task can be completed.

A Eulogy for Dark Sky, a Data Visualization Masterpiece

The design of Dark Sky was so wonderful that I could understand the shape of the weather at a glance, even from a zoomed out view of the app.

80% of developers are unhappy. The problem is not AI, nor is coding

According to the new Stack Overflow survey showed that majority of developers hate their jobs. Anecdotally, both plumbers and farmers are happier than them.

Dan Luu: Normalization of deviance

Have you ever mentioned something that seems totally normal to you only to be greeted by surprise?

Jack Danger: Managing Underperformers

Kind managers address underperformance early and accurately.

Top 10 SQL interview questions

And how I would answer them!

Taking notes on a new codebase

let’s just get tactical write away, and talk about note-taking for dependency mapping.

Why you need a "WTF Notebook"

There's a very specific reputation I want to have on a team: "Nat helps me solve my problems. Nat get things I care about done."

Should the daily stand-up die?

The daily stand-up was intended to quickly help developers remove any blockers to commitments before starting their working day. But at many companies, stand-ups have devolved into tedious one-sided status reports.

High Growth Engineer: The 3 Big Mistakes That Almost Cost Me My Promotion (And How You Can Avoid Them)

Guest post by Steve Huynh, ex-Amazon Principal Engineer

Practices of Reliable Software Design

Here are all eight practices I have adopted with experience that I had use for during the exercise of writing a fast, small, in-memory cache.

Panic! at the Job Market

ready for another too-long article about personal failure while blaming the world for our faults?

Make Firefox Private Again – omówienie strony

Lis zwęszył reklamy, ale mam go na smyczy.

One on One Meeting Format Ideas

The way I see it, the main objective of a one on one meeting is to build a good work relationship with my direct reports.

Part II: Derisking 12 common workplace scenarios

How to identify and address risks in situations like: giving constructive feedback, sharing a controversial idea, doing cold outreach, and more.

Getting the Most Out of Your CV

I want to start by saying this is my personal opinion of what a “good” CV looks like and based on my experience, working with developers, reviewing and sending out CV’s to clients as a recruiter.

Modern Git Commands and Features You Should Be Using

All of us - software engineers - use git every day, however most people only ever touch the most basic of commands, such as add, commit, push or pull, like it's still 2005.

Git however, introduced many features since then, and using them can make your life so much easier, so let's explore some of the recently added, modern git commands, that you should know about.

The 3 Motivational Forces of Developers

After 15 years in industry, I've come to realize that the most defining quality of a developer is his source of motivation.

Productivity

Alex Sexton: The Productivity Cycle

I simply want my hard work to be spent most efficiently.

The Due Diligence of Decision-making

It’s not always the actual work that is the hardest part of a job and success—it’s the decisions, compromises and choices that need to be made. -- —Barbara Abrams Mintzer

How to Organize Personal Work 🧺

A small framework for knowledge work and personal productivity.

Security

Container Breakouts: Escape Techniques in Cloud Environments

This article reviews container escape techniques, assesses their possible impact and reveals how to detect these escapes from the perspective of endpoint detection and response (EDR).

Python

Nerderati: Tracing the evolution of a Python function with git log.

Next time you reach for git blame to figure out how some method has changed over time, try the very easy-to-remember and perfectly well named git log -L :<funcname>:<path>!

Production-ready Docker Containers with uv

I’m aware Astral []is working on implementing this feature](https://github.com/astral-sh/uv/issues/5229), so I fully expect this article to be outdated within days or weeks.

Understanding the Template Method Pattern in Python

This is useful when you have a series of steps that need to be executed in a specific order, but the implementation of some steps may vary.

Django

Enhance Your Django REST API with Google Cloud Logging

In this tutorial I will show you how to implement Google Cloud Logging to your Django APP, specifically for a DRF (Django Rest Framwork) project.

Django: create sub-commands within a management command

Using sub-commands could simplify some of Django’s built-in commands.

Python libraries

pypika

PyPika is a python SQL query builder that exposes the full richness of the SQL language using a syntax that reflects the resulting query. PyPika excels at all sorts of SQL queries but is especially useful for data analysis.

LangChain

LangChain is a framework for developing applications powered by large language models (LLMs).

Cloud

Google Cloud deleted a large customer’s infrastructure

An Australian superannuation fund manager, using Google Cloud for an Infrastructure-as-a-Service contract, found it had no disaster recovery (DR) recourse when the entire infrastructure subscription was deleted.

Gemini API: Revolutionizing Content Generation with Direct PDF Input

Gemini API now enables direct PDF processing for content generation, eliminating image conversion and reducing costs.

Package and deploy your machine learning models to Google Cloud with Cog

Cog is an open-source tool that lets you package machine learning models in a standard, production-ready container.

Automatically Deploy Generative AI Go Web Applications from Version Control to Cloud Run

In this lab, you write a web application and configure Cloud Run to automatically deploy your application when a change is made to the source code of your application. Then you modify your application and deploy it again.

Processing arriving GCS files with PubSub triggers

The article describes experiments in processing Google Cloud Storage (GCS) files through BEAM where the content is to be inserted into BigQuery. We are specifically examining the usage of Cloud Storage event triggers through PubSub.

How to prompt Gemini asynchronously using Python on Google Cloud

It would be much more efficient if you could send all questions at once, and then wait for all the answers to come back.

Deploying dbt Projects at Scale on Google Cloud

Containerising and running dbt projects with Artifact Registry, Cloud Composer, GitHub Actions and dbt-airflow.

Other stuff

Firefly Zero

A modern handheld game console with effortless multiplayer. It's fun to play, alone or with friends, and easy to program.

Videos

YouTube Channel: That DevOps Guy

Marcel Dempers: Professional Software Engineer | Container Guru | Azure Expert | All-things Kubernetes | #.NET #Go #Node Developer | DevOps Engineer

Maciej Markiewicz: Software, Security i Efekt motyla | OMH 2023

unknown: Debugowanie kontenerĂłw w 10 minut - Docker/Podman

Paolo Melchiorre: Semantic search with Django, PostgreSQL, & pgvector | POSETTE 2024

Boiling Frogs 2018 - Krzysztof Kędzierski - Dług techniczny – narzędzie profesjonalisty