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

💻 Issue 437 - Feds: Critical Software Must Drop C/C++ by 2026 or Face Risk

Thursday, November 7, 2024

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 437 Release Date Nov 07, 2024 Your weekly report of the most popular Rust news, articles and projects

💻 Issue 442 - JavaScript's ??= Operator

Thursday, November 7, 2024

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 442 Release Date Nov 07, 2024 Your weekly report of the most popular JavaScript news, articles

📱 Issue 436 - iOS 18.1: Take a Hearing Test with AirPods Pro 2

Thursday, November 7, 2024

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 436 Release Date Nov 07, 2024 Your weekly report of the most popular iOS news, articles and projects Popular

📱 Issue 439 - GitHub Copilot for Xcode is now available! ✈️ Am I late to talk about this ? 😅

Thursday, November 7, 2024

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 439 Release Date Nov 07, 2024 Your weekly report of the most popular Swift news, articles and projects

💻 Issue 360 - Why Virtual DOM: Faster Rendering and Performance

Thursday, November 7, 2024

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 360 Release Date Nov 07, 2024 Your weekly report of the most popular React news, articles and projects

💻 Issue 442 - Node.js Frameworks Roundup 2024 — Elysia / Hono / Nest / Encore — Which should you pick?

Thursday, November 7, 2024

This week's Awesome Node.js Weekly Read this email on the Web The Awesome Node.js Weekly Issue » 442 Release Date Nov 07, 2024 Your weekly report of the most popular Node.js news, articles and

💻 Why I Still Buy Hard Drives for My PC — Avoid Filling Your iPhone Up With Screenshots

Thursday, November 7, 2024

Also: Perfecting Your PlayStation 5 Remote Play Setup, and More! How-To Geek Logo November 7, 2024 Did You Know It's not the coloration or flavor that gives grapefruit its name, but the way that

JSK Daily for Nov 7, 2024

Thursday, November 7, 2024

JSK Daily for Nov 7, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Unveiling the New Angular 3D Circular Charts Component The Angular 3D Circular Charts

Daily Coding Problem: Problem #1601 [Easy]

Thursday, November 7, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This question was asked by Apple. Given a binary tree, find a minimum path sum from root to a leaf. For example,

Mapped | Median Home Sale Price by U.S. State 🏘️

Thursday, November 7, 2024

As of August 2024, the median home sales price for a single-family home in the US is about $385000. Which states have the highest prices? View Online | Subscribe | Download Our App Presented by: