TLDR Web Dev

TLDR WEB DEV 2024-08-12

5 sections16 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

BUILDING A HIGHLY-AVAILABLE WEB SERVICE WITHOUT A DATABASE

This blog post shows off a novel web dev architecture that removes the need for a separate database. It uses in-memory data storage, periodic snapshots, and transaction logs for high availability. The author details how the Raft Consensus Protocol can be integrated to achieve 99.999% availability, making it suitable even for demanding enterprise clients.

blog.screenshotbot.io12 min read

BUILD YOUR OWN REACT STATE MANAGEMENT LIBRARY IN UNDER 40 LINES OF CODE

This article explains how to create a simple React state management library using the `useSyncExternalStore` hook introduced in React 18. It outlines the key components of the library, including subscribing to state changes, retrieving the current state, and updating the state. The article also compares this approach to using React Context and discusses potential improvements like using reducers and immer for state management.

paripsky.github.io6 min read

WHY YOUR DATA STACK WON'T LAST - AND HOW TO BUILD DATA INFRASTRUCTURE THAT WILL

Data infrastructure projects are often quickly replaced and difficult to maintain. To prevent this, it's important to avoid "resume-driven development," where teams prioritize trendy technologies over practical needs, and the "key person dependency" problem, where only one person has all the knowledge of a system.

seattledataguy.substack.com11 min read

02OPINIONS & ADVICE

PROGRAMMERS SHOULD NEVER TRUST ANYONE, NOT EVEN THEMSELVES

Programmers should embrace a mindset of skepticism and constant verification, as trusting abstractions can lead to unexpected problems. Abstractions, while necessary for efficient thinking, are often leaky and can fail in unpredictable ways, so it's important to understand the underlying mechanisms. That's why "trust, but verify” is necessary when working on a project with a lot of abstractions.

carbon-steel.github.io9 min read

MICROFRONTENDS SHOULD BE YOUR LAST RESORT

Microfrontends (MFEs) are often touted as a solution for large, complex front-end applications, but they should be a last resort. While MFEs can offer benefits like team independence and modularity, they also introduce complexities like increased deployment overhead and a distributed monolith if not implemented correctly. Before adopting MFEs, prioritize refactoring your codebase and try starting with a modular monolith first.

breck-mckye.com10 min read

7 THINGS I'VE LEARNED BUILDING A MODERN TUI FRAMEWORK

While building a modern TUI (Terminal UI) framework, this author found that it's important to have smooth animation in terminals, achieved through techniques like overwriting instead of clearing, single-write updates, and the Synchronized Output protocol. He also advocates for DictViews for efficiently comparing data structures, and lru_cache for improving performance by caching function results.

textualize.io13 min read

03LAUNCHES & TOOLS

NOUS

Nous is an AI platform with advanced autonomous agents for complex workflows, offering features like intelligent planning, flexible function calling, LLM integrations, and human-in-the-loop capabilities.

github.comGitHub repository

PG_REPLICATE

pg_replicate is a Rust crate published by Supabase that simplifies building data pipelines for replicating Postgres data to other systems by providing high-level abstractions over Postgres's logical streaming replication protocol.

github.comGitHub repository

04MISCELLANEOUS

HOW I CREATED 175 FONTS USING RUST

This author created a massive 175-font pixel font megapack, using Rust to build his own custom font generation toolchain. He aimed to improve upon his previous packs by offering a wider range of styles and language support, and implemented automatic kerning and quality control measures to streamline the process. The author developed a tool called pifo, which uses algorithms to analyze and generate contours from pixel art, calculates kerning pairs, and exports the fonts in various formats.

chevyray.dev30 min read

IMAGINING A PERSONAL DATA PIPELINE

A personal data pipeline is a system to collect, manage, and utilize personal data generated from various online services. This article goes over an architecture to create this pipeline, made of Data Getters, Processors, and Recipes, allowing users to extract, transform, and combine data from different sources.

joshcanhelp.com23 min read

HOW THE SNES GRAPHICS SYSTEM WORKS

This article goes into the four chips responsible for the SNES (Super Nintendo Entertainment System) graphics system: the two Pixel Processing Units (PPU1 and PPU2) and two SRAM chips. The PPU1 acts as the brain, while the PPU2 acts as a compositor to display the visuals. The article then discusses the different types of RAM used for storing graphics data, including VRAM (which is designed uniquely), OAM, and CGRAM.

fabiensanglard.net5 min read