Month summary - May 2024

Posted by Tobiasz Kedzierski on 31.05.2024

May 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 finished the 15 Days of SQL: The Complete SQL Masterclass 2024 course on Udemy 🎉. It provided a comprehensive introduction to SQL concepts and practices. The course helped me solidify my foundational knowledge and equip me with additional tools for effective database interaction.

15 day sql course

Articles

The 20 Essential Principles of Software Development: LoD, SoC, SOLID, and Beyond.

I am sure that before reading this article you have already used some of the principles discussed unconsciously. Now you have a name for them and it makes it easier to communicate.

When Do We Stop Finding New Music? A Statistical Analysis

When does our taste in music stagnate?

4 Software Design Principles I Learned the Hard Way

If there’s two sources of truth, one is probably wrong. And yes, please repeat yourself.

Effective Engineer - Notes

FWIW: I (@rondy) am not the creator of the content shared here, which is an excerpt from Edmond Lau's book. I simply copied and pasted it from another location and saved it as a personal note, before it gained popularity on news.ycombinator.com. Unfortunately, I cannot recall the exact origin of the original source, nor was I able to find the author's name, so I am can't provide the appropriate credits.

This is the story of how Google Search died, and the people responsible for killing it.

My 25-Year Engineering Career Retrospective

A few days ago, as often happens, I found myself lying awake in bed at 4 AM, and I started reflecting on my career and what I might have done differently if I could go back 25 years to when I was 18.

Database Fundamentals.

About a year ago, I tried thinking which database I should choose for my next project, and came to the realization that I don't really know the differences of databases enough. I went to different database websites and saw mostly marketing and words I don't understand.

Load Balancers Decoded: A Technical Exploration of Scalability and Performance

In this article, we will explore the world of load balancing and various load balancing algorithms along with their use cases.

Microservices Design Principles You Really Need To Learn

Welcome to the world of microservices! If you're a programmer, developer, or software engineer looking to navigate the intricate landscape of modern software architecture, you've come to the right place. In this comprehensive guide, we'll delve into the fundamental principles of microservices design, equipping you with the knowledge and insights needed to architect robust, scalable, and resilient systems.

What we learned after running Airflow on Kubernetes for 2 years

Apache Airflow is one of the most important components in our Data Platform, used by different teams inside the business. It powers all of our data transformations, fraud detection mechanisms, data science initiatives, and many housekeeping and internal tasks we run at Teya.

How I stopped worrying and loved Makefiles

There are many creative ways to use Makefiles to automate and simplify daily tasks.

SWE laws of power

It’s not always about how good you are with code; sometimes, it’s about playing the game smartly.

10 lessons from 12 years at Google

Lessons I learned along the way.

Retries

An interactive study of common retry methods.

Productivity

10 Things Software Developers Should Learn about Learning

Understanding how human memory and learning works, the differences between beginners and experts, and practical steps developers can take to improve their learning, training, and recruitment.

Flow state: Why fragmented thinking is worse than any interruption

Almost everyone, as it turns out, is wrong about flow.

Security

Fake job interviews target developers with new Python backdoor

A new campaign tracked as “Dev Popper” is targeting software developers with fake job interviews in an attempt to trick them into installing a Python remote access trojan (RAT).

Python

macieyng/snippets

Maciej Nachtygal snippets

Clean Code in Python

In this article, we'll talk about clean code -- its benefits, different code standards and principles, and general guidelines on how to write clean code.

Write Unit Tests for Your Python Code With ChatGPT

In Python, you can use multiple different tools for writing tests. The most commonly used tools include doctest, unittest, and pytest. ChatGPT can be of great help in writing tests with any of these tools.

How to Use Type Hints for Multiple Return Types in Python

As you write code for applications that require greater flexibility, you may need to specify multiple return types to make your code more robust and adaptable to different situations.

SOLID Principles: Improve Object-Oriented Design in Python

If you’re stuck while designing your Python classes, then the SOLID principles can help you out.

Legally Free Python Books List

Here is my personal list of legally free Python books.

Bulldoggy: The Reminders App

Bulldoggy is a small demo web app for tracking reminders.

Best Python Chart Examples

Every chart here represents the pinnacle of craftsmanship, exhibiting the depths to which matplotlib can be customized. These are not just graphs; they are polished masterpieces, ready for publication.

Python libraries

reflex

Reflex is a library to build full-stack web apps in pure Python.

pyinfra

pyinfra turns Python code into shell commands and runs them on your servers. Execute ad-hoc commands and write declarative operations. Target SSH servers, local machine and Docker containers. Fast and scales from one server to thousands. Think ansible but Python instead of YAML, and a lot faster.

Tools

Learn Vim (the Smart Way)

Learning Vim and Vimscript doesn't have to be hard. This is the guide that you're looking for 📖

kubecolor

Colorize your kubectl output

logdy

Web based real-time log viewer. Stream ANY content to a web UI with autogenerated filters.

huey

a little task queue for python.

Cloud

Landing zone design in Google Cloud: Hands-on Demo with Terraform

In this hands-on demo, we have walked through the process of creating a GCP Landing Zone using Terraform code. We have shown how to create a Folder, Projects and Networks, and create the following resources

Other stuff

Book: Ben Collier - Tor: From the Dark Web to the Future of Privacy

A biography of Tor—a cultural and technological history of power, privacy, and global politics at the internet's core.

Pass the GitHub Actions Certification Exam

This course is ideal for developers, DevOps professionals, and anyone interested in automating software workflows using GitHub’s powerful CI/CD platform, GitHub Actions.

Simple Truths: Clear & Gentle Guidance on the Big Issues in Life

Kindle Highlights from Kent Nerburn’s Simple Truths: Clear & Gentle Guidance on the Big Issues in Life

Videos

Hussein Nasser - They made Kafka 80% faster by switching file systems

A practical guide to using OpenTelemetry in Python by Tom Eastman.

Google Keynote (Google I/O ‘24)

SysOps/DevOps [#493] “Przychodzi DevOps do startupu” - Łukasz Durak