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.