Month summary - November 2023

Posted by Tobiasz Kedzierski on 30.11.2023

November 2023

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.

Articles

From Chaos to Cohesion: Architecting Your Own Monorepo

Build a simple monorepo using GitHub Actions as a CI/CD tool.

How Netflix does failovers in 7 minutes flat

Netflix decreased the time it takes to respond to an outage from 45 minutes to seven with no additional cost.

The IBM mainframe: How it runs and why it survives

In this deep-dive explainer, we look at a big-business mainstay.

Why are Cloud Development Environments Spiking in Popularity, Now?

Will most developers at large and mid-sized tech companies build software on a remote machine in 2-3 years time? And will they do this in a way that’s indistinguishable from doing it locally?

You Don't Need a Dedicated Cache Service - PostgreSQL as a Cache

While being an SQL database, Postgres also includes a lot of features that make it suitable for other uses, e.g. using it as NoSQL database (JSON and HStore datatypes) or vector database.

Another - more unusual and possibly unexpected use-case for Postgres - is using it as a cache!

Death by a thousand microservices

The software industry is learning once again that complexity kills.

12 Microservices Patterns I Wish I Knew Before the System Design Interview

Mastering the Art of Scalable and Resilient Systems with Essential Microservices Design Patterns.

An Excruciatingly Detailed Guide To SSH (But Only The Things I Actually Find Useful)

Oh you like SSH? Name every flag.

Explaining The Postgres Meme

I spend a significant amount of my time online, and on a regular day, I am either learning about STEM topics, indulging in memes, or both. On one such day, I came across a meme that truly caught my attention.

10 hard-to-swallow truths they won't tell you about software engineer job

After reading this article, some people will say I am talking overly negatively about it. but my opinion is that these things go together with the job and you have to accept it.

Julia Evans: git rebase: what can go wrong?

I’ve been seeing a comment over and over to the effect of “I hate rebase”. People seemed to feel pretty strongly about this, and I was really surprised because I don’t run into a lot of problems with rebase and I use it all the time.

What I learned after one year of building a Data Platform from scratch

Building a data platform from scratch is an amazing experience and I wanted to share the lessons that I learned along the way.

How moving from AWS to Bare-Metal saved us $230,000 /yr.

Thanks to advancements in technologies like Docker, Kubernetes, Helm, Microk8s, and more, transitioning to bare-metal infrastructure is now significantly easier than it was just a few years ago.

Architectural Decisions — The Making Of

Architectural Decisions (ADs) have been answering “why” questions about design options since the inception of software architecture in the 1990s. Ways to capture them should be part of each architect’s toolbox. Less is more — only the key ADs justify the effort, and only crisp and sound justifications will convince the reader. Let’s see how to get there.

Mastering Multiple GitHub Accounts

In this blog post, we'll explore how to leverage this configuration file to set up seamless access to multiple GitHub accounts simultaneously.

Productivity

The looming demise of the 10x developer

Why an era of enthusiast programmers is coming to an end.

How to find time to learn after work

My software developer colleagues often ask me where I do get all the time for reading all the tech books or articles, watching conference talks and listening to podcasts.

Your daily standup should be asynchronous. Here’s why

Daily standups are from the early 2000s. It’s time we brought them up to speed for a remote-working, distributed, tech-assisted world.

AI

GitHub Copilot Isn't Worth the Risk

On November 3rd programmer and lawyer Matthew Butterick, along with the Joseph Saveri Law Firm, filed a class action lawsuit against GitHub, Microsoft (its parent company), and OpenAI.

Python

RealPython: How to Catch Multiple Exceptions in Python

You now know how to use some of the more subtle features of Python’s exception handling mechanism. You can handle exceptions in more powerful ways than you may have thought possible. You also understand that sometimes ignoring exceptions is necessary to make sure your code does what you want it to.

Python 3.12: Cool New Features for You to Try

The new version comes with several new features and improvements that you’ll explore in this tutorial. You can also dive into the documentation to see a complete list of all changes.

Software Design by Example

a tool-based introduction with Python

Python libraries

gcsfs

Pythonic file-system interface for Google Cloud Storage

Django libraries

μDjango (micro Django)

A single file Django micro project created for demonstration purposes to be used in the same way as other Python frameworks.

Tools

vectorpea

Vectorpea Online Vector Editor lets you edit vector graphics, AI, SVG and PDF files!

pure bash bible

📖 A collection of pure bash alternatives to external processes.

bash-guide

A guide to learn bash.

bash-handbook

This document is written for those who want to learn Bash without diving in too deeply.

The Art of Command Line

Master the command line, in one page.

Shell Style Guide - by Google

Authored, revised and maintained by many Googlers.

Vim Cheat Sheet

This project aims to be one of the most accessible vim guides available.

Mastering curl: interactive text guide

I recently watched the 3.5-hour workshop Mastering the curl command line by Daniel Stenberg, the author of curl. The video was awesome and I learned a ton of things, so I wanted a (shortened) text version for future reference. Here it is.

I've also included some interactive examples, so you can try out different curl commands as you read.

Cloud

Top Mistakes to Avoid When Using Kubernetes in Google Cloud

Are you planning to use Kubernetes in Google Cloud? That's awesome! But before you dive in, make sure you avoid some common mistakes that many teams make. These tips will save you time, headaches, and resources.

Other stuff

Architectural Styles and the Design of Network-based Software Architectures by Roy Thomas Fielding

UNIVERSITY OF CALIFORNIA, IRVINE

DISSERTATION submitted in partial satisfaction of the requirements for the degree of DOCTOR OF PHILOSOPHY in Information and Computer Science by Roy Thomas Fielding 2000

Stack Exchange Performance

1.3 BILLION page views per month

It’s all about performance

Effective Engineer - Notes

FWIW: I (@Rondy) am not the author of the content presented here, which is an outline from Edmond Lau's book. I've just copy-pasted it from somewhere and saved as a personal gist, before it got popular on newsnews.ycombinator.com. I don't remember where exactly the original source is from and neither could find the author's name, so I cannot give him/her the proper credits.

Makefile Tutorial by Example

I've condensed the most critical knowledge into this guide. Each topic has a brief description and a self contained example that you can run yourself.

Videos

Free software, free society: Richard Stallman at TEDxGeneva 2014

Maxime Sanglan-Charlier & Nick Tune — From Domain Boundaries to Software Architecture