Programmer Weekly - Programmer Weekly - Issue 220

View this email in your browser

Programmer Weekly

Welcome to issue 220 of Programmer Weekly. Let's get straight to the links this week.
Quote of the Week 

“It is far easier to design a class to be thread-safe than to retrofit it for thread safety later.” ― Brian Goetz


Reading List

Build your own SQLite, Part 2: Scanning large tables
In the previous post, we discovered the SQLite file format and implemented a toy version of the .tables command, allowing us to display the list of tables in a database. But our implementation has a jarring limitation: it assumes that all the data fits into the first page of the file. In this post, we'll discover how SQLite represents tables that are too large to fit into a single page, this will make our .tables command more useful, but also lay the groundwork for our query engine.

How we run migrations across 2,800 microservices
Monzo describes their approach to running centrally-driven migrations across their 2,800 microservices, focusing on maintaining up-to-date and consistent libraries with low-effort upgrades. Their strategy involves careful planning, wrapping old and new libraries, automated updates, mass deployments, and controlled rollouts using configuration, all supported by foundational technological choices like a monorepo and consistent technologies.

I sped up serde_json strings by 20%
The article details the author's efforts to optimize string parsing in serde_json, a popular Rust JSON library. Through techniques like using SIMD-within-a-register (SWAR) and careful algorithm design, they achieved significant performance improvements, particularly for longer strings and certain JSON structures.

Understanding pgvector's HNSW Index Storage in Postgres
In this article, we'll explore how pgvector works under the hood, focusing on how the HNSW index is stored in Postgres.

Migrating Mess With DNS to use PowerDNS
Julia Evans describes her process of migrating Mess With DNS, a DNS learning playground, to use PowerDNS instead of a custom DNS implementation. She details various challenges faced during the migration, including intercepting DNS queries, designing a new API, managing frontend state, and improving error messages, while also upgrading the frontend framework and switching to SQLite for the database.

How we built Townie – an app that generates fullstack apps
Townie has been completed redesigned in the past couple weeks. It’s seriously good at writing fullstack apps. This is the post about how I prototyped this new version of Townie a couple weeks ago.

Create an internal CLI 
This article explores creating an internal command-line interface (CLI) for a company using the Just tool. It emphasizes the importance of the CLI being user-friendly, easy to contribute to, and discoverable by users.

Implementing React From Scratch
This post details the author's process of implementing React from scratch, covering core concepts like rendering, state management, and reconciliation. It explains the implementation of key features such as useState, conditional rendering, efficient DOM updates, and various hooks, providing insights into React's internal workings and design decisions.

Continuous reinvention: A brief history of block storage at AWS
The article details the evolution of AWS's Elastic Block Store (EBS) over more than a decade, chronicling its transformation from a simple block storage service using shared hard drives to a massive network storage system capable of delivering over 140 trillion daily operations. It highlights key challenges faced, including performance optimization, noisy neighbor problems, and the shift to SSDs, while emphasizing the importance of continuous improvement, comprehensive instrumentation, and organizational adaptability in driving EBS's development.

Shifting E2E Testing Left at Uber
In this post, we describe how we built a system that gates every code and configuration change to our core backend systems (1,000+ services). We have several thousand E2E tests that have an average pass rate of 90%+ per attempt. Imagine each of these tests going through a real E2E user flow, like going through an Uber Eats group order. We do all this fast enough to run on every diff before it gets landed.


Watch and Listen

Uncomplex: Modern Hardware for Better Software
John O'Hara discusses how recent hardware & software advances can help founders and CTOs succeed.

Automate Everything: How One Manifest Powers Your Entire DevOps Pipeline
The video demonstrates how to create an internal developer platform using Crossplane, GitHub, and Argo CD to automate repository creation, CI pipelines, and infrastructure provisioning. It shows how to set up a system where developers can create new projects with a single manifest, automating everything from repository setup to database provisioning, all managed through GitOps.


Interesting Projects, Tools and Libraries

InstantDB
A client-side database that makes it easy to build real-time and collaborative apps like Notion or Figma.

ChartDB
Free and Open-source database diagrams editor, visualize and design your DB with a single query. 

funcy
Simplify writing TypeScript AWS lambda APIs and functions with inferred strong typing and declarative best practices out of the box.

MiniJinja
MiniJinja is a powerful but minimal dependency template engine for Rust compatible with Jinja/Jinja2.

ruroco
ruroco is a tool that lets you execute commands on a server by sending UDP packets.

buffdb
Embedded storage built for multiplexing. Smart machines don't need to read JSON, they only need protocol buffers. The world's first MODMS (Machine-Oriented Database Management System), built to support RocksDB, SQLite, and DuckDB as backends. 

rnote
Sketch and take handwritten notes. 
 
Our Other Newsletters
Python Weekly - A free weekly newsletter featuring the best hand curated news, articles, tools and libraries, new releases, jobs etc related to Python.

Founder Weekly - A free weekly newsletter for entrepreneurs featuring best curated content, must read articles, how to guides, tips and tricks, resources, events and more.
Copyright © 2024 Programmer Weekly, All rights reserved.
You are receiving our weekly newsletter because you signed up at http://www.ProgrammerWeekly.com

Our mailing address is:
Programmer Weekly
Brooklyn
Brooklyn, NY 11228

Add us to your address book


Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list.

Older messages

Programmer Weekly - Issue 219

Thursday, August 22, 2024

View this email in your browser Programmer Weekly Welcome to issue 219 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Be careful to preserve the

Programmer Weekly - Issue 218

Tuesday, August 20, 2024

View this email in your browser Programmer Weekly Welcome to issue 218 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Get out of the way of your developers

Programmer Weekly - Issue 217

Thursday, August 8, 2024

View this email in your browser Programmer Weekly Welcome to issue 217 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Languages that try to disallow idiocy

Programmer Weekly - Issue 216

Thursday, August 1, 2024

View this email in your browser Programmer Weekly Welcome to issue 216 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week “A complex system that works is invariably

Programmer Weekly - Issue 215

Thursday, July 25, 2024

View this email in your browser Programmer Weekly Welcome to issue 215 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "Profanity is the one language all

You Might Also Like

ScienceDaily/Minimalist lamp/Avocado tip

Sunday, December 22, 2024

Recomendo - issue #442 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Laravel VS Code Extension, Laravel 11.36, Wirechat, and more! - №544

Sunday, December 22, 2024

Your Laravel week in review ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Kotlin Weekly #438

Sunday, December 22, 2024

ISSUE #438 22nd of December 2024 Announcements klibs.io JetBrains has introduced the alpha version of klibs.io – a web service that speeds up and simplifies discovering KMP libraries that best meet

Weekend Reading — Happy "That's a January Problem" week

Saturday, December 21, 2024

Can Christmas season start a little earlier this year Tech Stuff Ramsey Nasser fuck it happened i am in a situation where i do actually need to reverse a linked list Atuin I just learned about Atuin

Daily Coding Problem: Problem #1644 [Easy]

Saturday, December 21, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by IBM. Given an integer, find the next permutation of it in absolute order. For example,

🐧 Whatever Happened to Unix Workstations? — My Incredibly Cheap Alternative to a Soundbar

Saturday, December 21, 2024

Also: Here's Why More Games Need Expanded Difficulty Settings How-To Geek Logo December 21, 2024 Did You Know Lake Wendouree, an artificially created and maintained shallow urban lake in Australia,

Supercharge Your Knowledge Capture Workflow with the Obsidian Web Clipper

Saturday, December 21, 2024

Stop juggling multiple tools and supercharge your knowledge capture workflow with Obsidian's powerful Web Clipper browser extension Sébastien Dubois DeveloPassion's Newsletter Supercharge Your

Charted | The World's Most Valuable Automakers 🚙

Saturday, December 21, 2024

Tesla shares reached a record high, setting a new valuation milestone. This graphic highlights the world's most valuable automakers by market cap. View Online | Subscribe | Download Our App

Next Holiday Season, Ignore Everyone Except One Customer

Saturday, December 21, 2024

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, December 21, 2024? The

🐍 New Python tutorials on Real Python

Saturday, December 21, 2024

Hey there, There's always something going on over at Real Python as far as Python tutorials go. Here's what you may have missed this past week: 🎓 Master Python's Core Principles (New Live