PD#618 Distributed Locking: A Practical Guide

͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­

March 23, 2025 | Read Online

Distributed Locking: A Practical Guide
21 minutes by Oskar Dudycz

Oskar dives deep into how distributed locks prevent data corruption when multiple services access shared resources simultaneously. He explores implementation options including Redis, ZooKeeper/etcd, database locks, and Kubernetes single-instance deployments. Each approach offers different trade-offs in terms of complexity, consistency guarantees, and operational overhead. The author advises choosing the simplest solution for your infrastructure, locking only critical sections, planning for failure scenarios, and understanding that no distributed lock can be 100% guaranteed under network partitions.

The intelligent terminal with AI built for Mac, Linux, and now Windows
sponsored by Warp

Never forget a command or struggle with syntax again. Warps Agent Mode allows you to type in natural language to accomplish any task right in the terminal. Store and share resources, from repeatable runbooks to templatized commands with Warp Drive.

Life Altering Postgresql Patterns
13 minutes by Ethan McCue

In this article Ethan outlines 11 best practices for working with PostgreSQL databases that can significantly improve developer experience. These include using UUID primary keys, adding created_at and updated_at timestamps to all tables, using restrict constraints for foreign keys, leveraging schemas for organization, implementing enum tables, naming tables in singular form, properly naming join tables, implementing soft deletes, tracking statuses as logs, marking special rows with system_id, using views sparingly, and utilizing JSON for query results to avoid N+1 problems.

Unspoken git secrets that save you mountains of time as an engineer
6 minutes by Jordan Cutler

Jordan shares advanced git commands that experienced developers use to save time and boost productivity. Key highlights include: using `git checkout -` to quickly switch between branches, leveraging `git bisect` to find the exact commit that introduced a bug through binary search, tracking code changes with `git log -G` and `-S` to find specific modifications, managing merge conflicts with `-X theirs` or `-X ours` options, and several performance-enhancing git configurations like `core.fsmonitor` and `push.autosetupremote`.

How Long Should Functions Be?
3 minutes by Kent Beck

Kent discusses the concept that software is grown rather than made, arguing against prescriptive function length limits. Analyzing JUnit 5 code, Kent found function lengths follow a power law distribution where most functions are short while a few are quite long. This distribution suggests that as projects grow, longer functions naturally emerge, and while we can't escape this power law relationship, practices like Test-Driven Development may help increase the proportion of shorter functions.

No Longer My Favorite Git Commit
10 minutes by Michael Lynch

Michael explains why they no longer view the commit message as a model example despite its engaging storytelling and thoroughness. He identifies key flaws: it buries critical information instead of using an "inverted pyramid" structure, fails to clearly explain the actual problem, and references code without proper links. He concludes with his improved rewrite of the commit message and reflects on the importance of defining one's own software engineering principles.

And the most popular article from the last issue was:

newsletters


Would you like to advertise in the newsletter? Check out our media kit and get in touch.


Older messages

PD#617 What Makes Code Hard To Read

Tuesday, March 18, 2025

Visual Patterns of Complexity ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌

PD#616 Bloom Filter: A Deep Dive

Sunday, March 9, 2025

How Bloom filters are useful in scenarios with memory constraints ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌

PD#615 How Core Git Developers Configure Git

Sunday, March 2, 2025

What git config settings should be defaults by now? ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏

PD#614 A calculator app?

Thursday, February 27, 2025

Anyone could make that ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏

PD#608 Mistakes engineers make in large established codebases

Sunday, January 12, 2025

You can't practice it beforehand ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌

You Might Also Like

LW 175 - Shopify uses AI to Prepare Stores for Script Editor Deprecation

Tuesday, March 25, 2025

Shopify uses AI to Prepare Stores for Script Editor Deprecation ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ Shopify Development news and

Reminder: Microservices rules #7: Design loosely design-time coupled services - part 1

Tuesday, March 25, 2025

You are receiving this email because you subscribed to microservices.io. Considering migrating a monolith to microservices? Struggling with the microservice architecture? I can help: architecture

Delete your 23andMe data ASAP 🧬

Tuesday, March 25, 2025

95+ Amazon tech deals; 10 devs on vibe coding pros and cons -- ZDNET ZDNET Tech Today - US March 25, 2025 dnacodegettyimages-155360625 How to delete your 23andMe data and why you should do it now With

Post from Syncfusion Blogs on 03/25/2025

Tuesday, March 25, 2025

New blogs from Syncfusion ® Create AI-Powered Smart .NET MAUI Data Forms for Effortless Data Collection By Jeyasri Murugan This blog explains how to create an AI-powered smart data form using our .NET

ALERT: Critical Ingress NGINX Controller Vulnerability Allows RCE Without Authentication

Tuesday, March 25, 2025

THN Daily Updates Newsletter cover ⚡ LIVE WEBINAR ➟ How to Eliminate Identity-Based Threats From Phishing to Device Risks: Learn to Remove Entire Threat Classes Effortlessly Download Now Sponsored

🍏 Hey Apple, Give Me a Cellular MacBook — Tips For Building a Period Retro Gaming PC

Tuesday, March 25, 2025

Also: Google Pixel 9a vs. iPhone 16e, and More! How-To Geek Logo March 25, 2025 Did You Know 3 Musketeers candy bars used to have three flavored pieces in each bar: vanilla, chocolate, and strawberry.

⚙️ Altman moves around

Tuesday, March 25, 2025

Plus: AI powers massive surge in cyber attacks ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

The Sequence Knowledge #517: A Summary of our Series About RAG

Tuesday, March 25, 2025

10 editions that covered the fundamental RAG methods in generative AI. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Why blocking spammers doesn't work

Tuesday, March 25, 2025

Hey there, Right now, your personal information is sitting in massive databases, waiting to be sold. Data brokers have your name, phone number, email—even your medical records and SSN. They sell it to

Greenlandia 🇬🇱

Tuesday, March 25, 2025

What passes for popular culture in Greenland. Here's a version for your browser. Hunting for the end of the long tail • March 24, 2025 Hey all, Ernie here with a pretty significant refresh of a