Month summary - December 2022

Posted by Tobiasz Kedzierski on 31.12.2022

December 2022

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

The Google Cloud Platform journey continues. Ending year with another certificate in my collection.

Google Cloud Platform Professional Cloud Developer certificate.

Google Professional Cloud Developer

Articles

Do they deserve the gift of your keystrokes?

There are a finite number of keystrokes left in your hands before you die. - Scott Hanselman

Moduliths: because we need to scale, but we also cannot afford microservices

So, let's get one thing straight: if you're working in ICT, you're probably not in FAANG. Unless you are, in which case, good job at getting there! But for the rest of us, that's somewhat unlikely.

Build the modular monolith first

Even talking about building a monolith today, is a bit taboo. It is all about microservices at the moment, and has been for a few years. But they aren’t a silver bullet…

CloudFlare: Using Apache Kafka to process 1 trillion inter-service messages

Cloudflare has been using Kafka in production since 2014. We have come a long way since then, and currently run 14 distinct Kafka clusters, across multiple data centers, with roughly 330 nodes. Between them, over a trillion messages have been processed over the last eight years.

Always use [closed, open) intervals

ntervals or ranges pop-up everywhere in the programming world. The classic example is picking a start and end date, like you would when booking an AirBnB or a flight. But that's just one example: from slicing a JS Array, to Java's List#sublist and even SQL's LIMIT operator, ranges are everywhere.

Have you ever wondered why they are always implemented as [closed, open) as opposed to [closed, closed]?

Smart Move, Google

Back home I opened Google Maps again, and noticed that maps.google.com now redirects to google.com/maps. This implies that the permissions I give to Google Maps now apply to all of Googles services hosted under this domain.

The Hidden Cost of High Salaries in Tech

Giving chase sometimes ain’t worth it.

Beginner’s Guide to OpenTelemetry

Every journey in Observability begins with instrumenting an application to emit telemetry data – primarily logs, metrics and traces – from each service as it executes. OpenTelemetry is an open source project under the Cloud Native Computing Foundation (CNCF) that offers a unified framework for generating, collecting and transmitting telemetry data. With OpenTelemetry you can instrument your application in a vendor-agnostic way, and then analyze the telemetry data in your backend tool of choice, whether Prometheus, Jaeger, Zipkin, or others.

Understanding browser cookies 🍪

A cookie is a small plain text file stored in the browser. There isn’t anything executable in there. It simply contains a small amount of data.

Jak wybrać odpowiedni font? Podstawy typografii

Czy wiesz, że często nie ma znaczenia, jak dobre są twoje treści? I tak mogą zostać nieprzeczytane!

Jeśli napiszesz naprawdę świetny tekst, ale przedstawisz go w złej formie, to odbiorca podświadomie pomyśli, że zawartość merytoryczna jest tak samo źle podana, jak forma tekstu.

Awesome macOS Command Line

A curated list of shell commands and tools specific to macOS.

“You don’t have to know everything. You simply need to know where to find it when necessary.” (John Brunner)

Self Hosting a Google Maps Alternative with OpenStreetMap

OpenStreetMap provides crowdsourced mapping data available for free to the world. But this isn't to say I can just use OSM. The organization does provide the data, but its usage policy encourages users to not rely on their servers for personal use, and instead take responsibility for hosting themselves. And based on this project, I can see why. The hardware requirements are not for the faint of heart.

How I Split a Monolith Into Microservices Without Refactoring

My journey to becoming more agile with a just-in-time architectural style.

Stop Copy-Pasting Old Scripts, Use Makefile Instead!

Makefile is a way to group your terminal commands into one group which we usually calls “target”. A target consists of several commands to be executed in order from top to bottom and stops whenever there is an error output from a command.

11 Laws of Software Estimation for Complex Work

Adjust your sails, deal with the unexpected and uncertain, instead of being angry at the winds you will never be able to predict and control.

GitHub Actions – Sharing actions and reusable workflows from private repositories is now GA

See managing the repository settings and managing the enterprise repository settings to allow access to workflows in other repositories.

How to share terminal demos as razor-sharp animated SVG

Productivity

To Be More Disciplined, Stop These 4 Bad Habits

If you’ve struggled for a long time to be more disciplined without much success, working to identify and eliminate these four habits that interfere with discipline might be a much more helpul strategy.

5 Harsh Truths for Success from Linus Torvalds

Before I start, I want to tell you something: I cannot guarantee that you will like these ideas, but I can only tell the truth, the harsh, painful truth.

Python

The Origins of Python

The success of any undertaking can rarely be ascribed to a single factor.30 In addition to those mentioned above, luck also plays a role. While ABC was perhaps too far ahead of its time, Python appeared at just the right time. Whatever the case, I believe that the design philosophy we developed in the process leading to ABC, inasmuch as it was also followed in Python, has had at least some positive influence.

Django

Django Settings Patterns to Avoid

Here are some potential mistakes made with Django settings that you can avoid.

The Essential Django Deployment Guide

Everything you need to know to get your Django app into production.

Django API Domains

This styleguide combines domain-driven design principles and Django's apps pattern to provide a pragmatic guide for developing scalable API services with the Django web framework.

Python libraries

PySnooper

PySnooper - Never use print for debugging again

PySnooper is a poor man's debugger. If you've used Bash, it's like set -x for Python, except it's fancier.

Tools

CRI-O - OCI-based implementation of Kubernetes Container Runtime Interface

CRI-O is meant to provide an integration path between OCI conformant runtimes and the Kubelet. Specifically, it implements the Kubelet Container Runtime Interface (CRI) using OCI conformant runtimes. The scope of CRI-O is tied to the scope of the CRI.

Command Line Interface Guidelines

An open-source guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day.

WTF (aka 'wtfutil')

WTF (aka 'wtfutil') is the personal information dashboard for your terminal, providing at-a-glance access to your very important but infrequently-needed stats and data.

YouTube Transcript

YouTube Transcript

Background Music - macOS audio utility

Background Music, a macOS audio utility: automatically pause your music, set individual apps' volumes and record system audio.

Reactive Resume

A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever.

✨ Star History ✨

The missing GitHub star history graph.

Cloud

CNCF Cloud Native Interactive Landscape

The Cloud Native Landscape organizes all cloud native open source projects and proprietary products into categories, providing an overview of the current ecosystem.

Trail Map

The Cloud Native Trail Map provides an overview for enterprises starting their cloud native journey.

Killer Shell CKAD - Interactive Scenarios for Kubernetes Application Developers

These scenarios can be used standalone for CKAD preparation or learning Kubernetes in general.

The Reference Architecture for Agility

The Reference Architecture for Agility is a technology-neutral logical architecture based on a disaggregated cloud-based model.

Introduction to FinOps on Google Cloud

In this article, we evaluate the increasing importance of Cloud FinOps and why it requires a new way of thinking.

Videos

KubeCon + CloudNativeCon North America 2022

Moving 17 years of old legacy code and websites into the Cloud - Scott Hanselman at NDC Porto 2022

The Forgotten Art of Structured Programming - Kevlin Henney [C++ on Sea 2019]

Advanced API and Integration Problems & Patterns - Udi Dahan - NDC Oslo 2022

The Design of Everyday APIs - presented by Lynn Root

Co dopamina i adrenalina robi z programist(k)ą? - Jakub Pilimon - Beyond Code 2022