MoreRSS

site iconBetter Dev LinkModify

Collects links around the web that aims to help you learn something new.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of Better Dev Link

Issues #286 Jun 8, 2026

2026-06-08 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

Hi all,

We’re back for another issue. I’m still trying my time to make this news letter become a weekly again :(.

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

  • View the latest HubSpot Developer Platform updates in Spring Spotlight

    Spring Spotlight 2026 is live and we’ve rounded up the top updates for developers here. Featuring:

    • AI-Assisted Development: Developer MCP Server lets you build apps faster with AI coding tools like Cursor, Claude Code, and Codex.

    • Modern API Infrastructure: Date-based versioned APIs and versioned docs for predictable releases.

    • MCP: Unlock HubSpot data via the HubSpot MCP Server (remote) to connect any compatible MCP client and create custom workflows and integrations.

    • Projects 2026.03: Includes serverless functions, UI extension support, and migration from 2025.1 and 2023.2.

  • How I Built an SMS Gateway with a $20 Android Phone

    Turn any Android phone into a programmable SMS gateway for your SaaS — no per-message fees, no carrier contracts, no vendor lock-in.

  • Pwnd Blaster: Hacking your PC using your speaker without ever touching it

    A researcher find that the Creative Sound Blaster Katana V2X accept unsigned firmware over Bluetooth without auth. Since the speaker already register itself as a HID device for volume control, an attacker can flash it remotely and turn it into a Rubber Ducky, injecting keystroke into ur PC from ~50 feet away. Vendor refuse to patch.

  • How's Linear so fast? A technical breakdown

    Linear feel fast not because of one trick, but a lot of small one compound together. The big idea: treat the browser DB as the source of truth, and the server is just a sync target. Mutation apply locally first, reconcile async. Add to that aggressive code-split with service worker precaching, granular MobX observables to keep re-render small, and animation only on GPU-composited properties.

  • USB for Software Developers: An introduction to writing userspace USB drivers

    A basic introduction to USB for people that don’t need to know what happens on the wire. If u ever want to talk to a USB device from ur own app without diving into kernel land, this is a nice starting point.

  • Extended Statistics in Postgres

    Postgres planner can make bad estimate when columns are correlated. Extended statistics let u tell the planner about those relationship. The post walk through the three flavor - dependencies, mcv, and ndistinct - with real example showing how each one fix a different kind of wrong row estimate.

  • Everything you need to know about Sourcemaps

    Sourcemaps unlock some observability benefits but might expose your codebase. Check out how they work, and how to protect yourself.

  • Finding a needle in a 4 GB haystack: from 0.75 GB/s to 49 GB/s in Go

    A Go specific article, but it present a methodlogical though of process. We had a 4 GiB file that’s almost entirely zeros, exactly one non-zero int64 is hiding at offset Size - 8 (the last aligned slot). The task: find that offset, as fast as possible, in Go on Linux.

  • Stop the Music app from launching

    Have u ever feel annoying with the useless Music app on macOS, u would love this tool. Typically it will be under Tool, but this is require deep understand on how everything works. Strongly recommend to learn its code, especially about the rcd(short for Remote Control Daemon)

  • HTTP caching, a refresher

    This is a fresh reading of RFC 9111 (2022), the latest iteration of the HTTP Caching standard. The standard defines the Cache-Control HTTP header as a way to prescribe how caches should store and reuse HTTP responses, with regard to not just the browser cache, but to any other intermediary caches, such as proxies and content delivery networks, that may exist between the client and the origin server.

  • How to Use ss as a Replacement for netstat to View IPv4 Sockets

    Use the ss command as a modern, faster replacement for netstat to inspect IPv4 TCP and UDP sockets, listening ports, and connection states.

Code to read

  • tinykeys

    A tiny (~1KB) & modern library for keybindings.

  • muxcard

    A literal credit-card sized computer with E-Paper display, ESP32 and NFC.

  • polycss

    A CSS 3D engine for the DOM. Renders polygon meshes in HTML by leveraging matrix3d transforms.

Tools

  • Can I run AI

    A nice tool to let us know which AI Model can be run locally with a given GPU

  • hocuspocus

    a suite of tools to bring collaboration to your application. It’s based on Y.js (by Kevin Jahns), which is amazing to sync and merge changes from clients in real-time

  • fnox

    A very swift way to encrypt secret, and commit it to the git repository. The sweetness come on how to onboard new team member, simply add their public key, do a re-encrypt and commit the change. Every team member now share the same secrets

  • cloudflare-ddns

    A small, feature-rich, and robust Cloudflare DDNS updater

  • purple

    Open-source terminal SSH manager that keeps ~/.ssh/config in sync with your cloud infra across 16 cloud providers.

  • svgstudio

    Animate your SVGs. Without losing your mind

Issues #285 May 11, 2026

2026-05-11 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

Hi all,

We’re back for another issue. I’m still trying my time to make this news letter become a weekly again :(.

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

  • View the latest HubSpot Developer Platform updates in Spring Spotlight

    Spring Spotlight 2026 is live and we’ve rounded up the top updates for developers here. Featuring:

    • AI-Assisted Development: Developer MCP Server lets you build apps faster with AI coding tools like Cursor, Claude Code, and Codex.

    • Modern API Infrastructure: Date-based versioned APIs and versioned docs for predictable releases.

    • MCP: Unlock HubSpot data via the HubSpot MCP Server (remote) to connect any compatible MCP client and create custom workflows and integrations.

    • Projects 2026.03: Includes serverless functions, UI extension support, and migration from 2025.1 and 2023.2.

  • Understanding Wi-Fi 4/5/6/6E/7/8 (802.11 n/ac/ax/be/bn)

    decode and understand all the thing behind these cryptic number.

  • How an HTTP header caused time.gov to skew from UTC

    In the United States, the National Institute of Standards and Technology (NIST) maintains the official U.S. time reference. On a recent project I needed a trustworthy clock and time.gov was a convenient option. To validate that the provided reference was accurate, I opened time.gov in two browser windows side-by-side, but found that the provided clock offset estimates disagreed by a margin larger than I could tolerate. When I compared to another source, an NTP client, I found even more disagreement.

  • Floating point from scratch: Hard Mode

    In famous problem. 0.1 + 0.2 is equal 0.30000000000000004. Best way to to understand is to re-implement them from the first principle, the hard way.

  • Virtual Memory: A Deep Dive into Page Tables, TLBs, and Linux Internals

    From page faults to NUMA topology: how the Linux kernel manages memory, and what that means for the performance of data-intensive systems

  • Let's Build a Regex Engine

    Ever wondered how regex works under the hood? How does it understand an incantation like “<\/?[\w\s]*>|<.+[\W]>” and magically produces a desired result? This series is going to describe exactly how it works and how to implement a feature-rich regex engine.

  • Native Secure Enclave backed ssh keys on MacOS

    that MacOS Tahoe can generate and use secure-enclave backed SSH keys! This replaces projects like secretive

  • Making your own programming language is easier than you think

    Most programmers dream of their own perfect programming language.

  • My queries to monitor autovacuum

    Without vacuum, deadtuple (dead row) are accumulate in Postgres, the engine needs to scan them and exclude them, vacuum suppose to delete them. Here are many tip and tricks to monitor that process

  • PGKeeper: Building the bouncer we needed for Postgres

    Figma outgrow pgbouncer and share experience writing their own Postgres connection pooling.

  • NPM Security best practices

    cheatsheet covers several npm security best practices and productivity tips, useful for JavaScript and Node.js developers. This list was originally based on the 10 npm security best practices from the Snyk blog.

  • High Performance Git

    a book written for engineers who need Git to stay fast as repositories, histories, and teams get larger: build and CI engineers, monorepo owners, devprod teams, and anyone tasked with figuring out Git beyond the usual four commands.

Code to read

  • ywawky

    MacOS Web Server written entirely in ARM64 assembly

  • honker

    SQLite extension + bindings for Postgres NOTIFY/LISTEN semantics with durable queues, streams, pub/sub, and scheduler

  • boring

    A simple command line SSH tunnel manager that just works.

  • backpressure

    Prioritized semaphore/rate-limiter/adaptive throttle for load management.

Tools

  • plow

    A high-performance HTTP benchmarking tool that includes a real-time web UI and terminal display

  • pg_column_tetris

    A PostgreSQL extension that can enforce optimal column alignment to minimize row padding waste.

  • pgwrl

    Cloud-native continuous backup for PostgreSQL - WAL/base-backup streaming, compression, encryption, retention, and monitoring in a single binary.

  • leandex

    a pure SQL / PL/pgSQL control plane for conservative autonomous reindexing, in the same extension-avoidance spirit as pg_ash and PgQue. It installs into a separate control database, talks to target databases through postgres_fdw user mappings and dblink, and rebuilds only with reindex index concurrently. No schema is installed into target databases. No C extension, no shared_preload_libraries, no sidecar worker, no restart.

  • hyperframes

    HyperFrames lets AI agents compose videos by writing HTML, CSS & JS.

  • pg-trickle

    Have u ever has to write some cronjob to refresh materialized view? this tool handle all of that, natively inside Postgres

  • remotion

    Create real MP4 videos with React. Parametrize content, render server-side and build applications.

  • trailtool

    aggregates CloudTrail logs to simplify analysis for AI agents

  • redai

    A terminal workbench for AI-driven vulnerability discovery and live validation.

Issues #284 Mar 30, 2026

2026-03-30 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

Hi all,

Trivy is a security scanner to find vulnerabilities, misconfigurations, secrets and very widely used. Imagine, Trivy got under attack itself. Attackers compromised Trivy GitHub Actions by force-updating tags to deliver malware, exposing CI/CD secrets across affected pipelines.

Then last week, two versions of the litellm Python package on PyPI were found to contain malicious code.

All of that just mean we need to be extra triple careful when dealing with any external dependenies. Any external dep is a liability. In this issue we had included 2 tools that hopefully will allow us to run those app in sandbox instead.

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

  • Autonoma — AI Agents That Find Your Bugs Before Your Users Do

    Let’s be honest: your test suite is probably lying to you. You’ve got green checkmarks in CI, 80% coverage, and your last deploy still broke the checkout flow on mobile.

    The problem isn’t that you’re bad at testing. It’s that test maintenance is a full-time job nobody wants, and the coverage you think you have is mostly happy paths you already tested manually. Meanwhile, your users are the ones discovering the real bugs.

    Autonoma takes a different approach. Instead of making you write and maintain test scripts, it runs AI agents that navigate your web and mobile apps like real users: clicking through forms, testing edge cases, handling state transitions, all in parallel across hundreds of browsers and devices.

    The best thing? If after 30 days a bug reaches production, we will refund you the money.

  • My DIY FPGA board can run Quake II (part 4)

    An incredible story of someone dived into electronics design with almost zero prior experience. Their goal was ambitious: build an FPGA-based device capable of booting Linux, connecting to a screen and keyboard, and allowing me to write and compile code directly on the machine itself.

  • EXPLAIN's Other Superpowers

    Most people who work with PostgreSQL eventually learn two commands for query tuning: EXPLAIN and EXPLAIN ANALYZE. In this post we’ll take a look at a few of those lesser-known options.

  • PostgreSQL and Huge Pages: Boosting Database Performance the Right Way

    When you run PostgreSQL on a high-performance server with a lot of RAM, one of the most overlooked performance tunings is Huge Pages. Understanding and configuring Huge Pages correctly can significantly improve performance, especially for databases with large shared memory requirements.

  • PostgreSQL WAL replication and Checkpoints: why they might lag and how we fixed it

    Anyone who operate Postgres with high write will need to handle and optimize WAL and AutoVacuum. We can defer these job to AI, but it’s better to understand all the knowledge.

  • Ctrl-C in psql gives me the heebie-jeebies

    Whatever the reason, if you’re a psql command-line user, Ctrl-C is in your muscle memory. So now you’re looking at the words Cancel request sent, followed shortly after by the not-really-an-error message ERROR: cancelling statement due to user request. But what’s going on behind the scenes?

  • Automating RDS Postgres to Aurora Postgres Migration

    In 2024, the Online Data Stores team at Netflix conducted a comprehensive review of the relational database technologies used across the company, and decide to standardize on Amazon Aurora PostgreSQL as the primary relational database offering for Netflix teams.

  • Rewriting our Rust WASM Parser in TypeScript

    Switching from Rust to TypeScript make the code faster. Not because Rust is slow, or TypeScript is fast. But simply the code to serialize/unserialize the object back and forth when passing between both world outweight the performance gain.

  • Two React Design Choices Developers Don’t Like—But Can’t Avoid

    Developers have never been shy about disliking certain React APIs. They feel awkward, restrictive, or just plain counterintuitive. But the reality is that the two most complained‑about design choices in React weren’t arbitrary at all — they were early signs of deeper constraints that every UI model eventually runs into

  • A Complete Guide to Bookmarklets

    Imagine the ability to inject the JS code, and run it on any webpage whenever you click a bookmark, and it acts on the urrent page? That’s what Bookmarklet is

Code to read

  • diff

    A difference algorithm module for Go

  • defuddle

    Get the main content of any page as Markdown.

  • nokolexbor

    drop-in replacement for Nokogiri. It’s 4.7x faster at parsing HTML and up to 1352x faster at CSS selectors.

Tools

  • agent-safehouse

    Sandbox your local AI agents so they can read/write only what they need

  • edgejs

    Running Node apps inside a WebAssembly Sandbox

  • gnata

    Pure-Go implementation of JSONata 2.x for high-throughput streaming evaluation. And the story of re-impelment it in Go with AI saves the compnay $500k USD per year

  • secretlint

    Pluggable linting tool to prevent committing credential.

  • pgtui

    A Postgres TUI client that utilizes your terminal text editor for inserts & updates

  • slowql

    SQL static analyzer for performance, security, compliance and cost. 272 rules. Completely offline. Works in CI pipelines.

  • pg_stat_ch

    A PostgreSQL extension that captures per-query execution telemetry and exports it to ClickHouse in real-time. Unlike pg_stat_statements which aggregates statistics in PostgreSQL, pg_stat_ch exports raw events to ClickHouse where aggregation happens via ClickHouse’s powerful analytical engine.

  • go-lsp

    Go LSP helper library support 3.17 of the LSP specification

Issues #283 Dec 15, 2025

2025-12-15 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

Hi all,

Merry Christmas everyone. It’s the end of years, take sometime off and enjoy the season.

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

  • What Actually Moved the Needle for Engineering Leaders in 2025 — With Salesforce, Snyk, Port & Qodo

    What’s actually working for engineering teams — and what’s not? Hear from Benjamin Stice (Salesforce VP Engineering), Clinton Herget (Snyk Field CTO), Yonatan Boguslavsky (Port CTO), and Dedy Kredo (Qodo Co-Founder) in this candid panel discussion. Three fast, honest segments: What we’re leaving behind: practices, tools, or org habits that no longer serve the team (and how we’re unwinding them without chaos). What we’re doubling down on: the investments that produced real outcomes in quality, delivery, and developer experience, and how we’re scaling them. What we’re betting on next: the experiments and measured risks we’ll run in 2026 to meet reliability, security, and growth goals. No platitudes. Just real lessons from leaders who’ve steered teams through a year of AI transformation.

  • How when AWS was down, we were not

    One of the most massive AWS incidents transpired on October 20th. The long story short is that the DNS for DynamoDB was impacted for us-east-1, which created a health event for the entire region. It’s the worst incident we’ve seen in a decade. authress shares with us how they maintain a high SLI to match our SLA reliability commitment even when the infrastructure and services we use don’t.

  • How to Think About GPUs

    Part 12 of “How to Scale Your Model”, an free ebook that aim to demystify the science of scaling language models: how TPUs (and GPUs) work and how they communicate with each other, how LLMs run on real hardware, and how to parallelize your models during training and inference so they run efficiently at massive scale.

  • How Memory Maps (mmap) Deliver 25x Faster File Access in Go

    Memory maps are a modern Unix mechanism where you can take a file and make it part of the virtual memory. In Unix context, modern means that it was introduced in the 1980s or later. You have a file, containing data, you mmap it and you’ll get a pointer to where this resides. Now, instead of seeking and reading, you just read from this pointer, adjusting the offset to get to the right data.

  • Bloom filters

    The original motivation for the creation of Bloom filters is efficient set membership, using a probabilistic approach to significantly reduce the time and space required to reject items that are not members in a certain set.

  • What the heck is AEAD again

    It stands for “Authenticated Encryption with Associated Data” but if you are struggling to remember what is it. This post sumarize nicely.

  • sql joins

    There are many SQL JOINs guides and tutorials, but this one takes a different approach. We try to avoid misleading wording and imagery, and we structure the material in a different way. The goal of this article is to clarify your mental model

  • Postgres Scan Types in EXPLAIN Plans

    The secret to unlocking performance gains often lies not just in what you ask in a query, but in how Postgres finds the answer. The Postgres EXPLAIN system is great for understanding how data is being queried. One of secretes to reading EXPLAIN plans is understanding the type of scan done to retrieve the data. The scan type can be the difference between a lightning-fast response or a slow quey

  • 21 Lessons from 14 Years at Google

    Addy Osmani is a legendary engineer. In his own words: “When I joined Google ~14 years ago, I thought the job was about writing great code. I was partly right. But the longer I’ve stayed, the more I’ve realized that the engineers who thrive aren’t necessarily the best programmers - they’re the ones who’ve figured out how to navigate everything around the code: the people, the politics, the alignment, the ambiguity.”

  • The Anatomy of a Web Performance Report

    WebPerformance Report was designed around that principle. Although its underlying data comes from automated performance tests, the report itself is intentionally high-level. It is structured to help anyone, developers, designers, marketers, and executives, understand what happened, why it matters, and where the opportunities lie. This article walks through the anatomy of a Web Performance Report, explaining each section, why it exists, and what decisions it enables.

  • Did you know your browser has two accessibility trees?

    To implement accessibility, Chrome has this pipeline DOM mutation -> AXEvent -> Accessibility tree -> OS accessibility API -> Screen reader. But here’s the strange part: Chrome doesn’t have one accessibility tree, it has two. This article traces the full lifecycle of an accessibility event. From the moment the DOM changes, through Blink’s internal systems, through its internal accessibility tree, and finally back out into the BrowserAccessibility tree that screen readers query.

Code to read

  • fizzy

    37signals release this kanban style app. A good opportunity to dive into the source and see how DHH write user facing code.

  • Heat.js

    A lightweight JavaScript library that generates customizable heat maps, charts, and statistics to visualize date-based activity and trends.

  • tinyauth

    The simplest way to protect your apps with a login screen.

  • tiny-diffusion

    A character-level language diffusion model trained on Tiny Shakespeare

  • uvm32

    Minimalist, dependency-free virtual machine sandbox for microcontrollers and other resource-constrained devices. Single C file, no dynamic memory allocations, asynchronous design, pure C99

Tools

  • rustnet

    A cross-platform network monitoring terminal UI tool built with Rust

  • driverjs

    Lightweight JavaScript library for product tours, highlights, and contextual help to guide users through your product

  • RealtimeVoiceChat

    This project lets you chat with a Large Language Model (LLM) using just your voice, receiving spoken responses in near real-time. Think of it as your own digital conversation partner.

  • Nano-PDF

    Edit PDF files with Nano Banana

  • mkslides

    Use mkslides to easily turn markdown files into beautiful slides using the power of Reveal.js!

  • dbdock

    Enterprise-grade PostgreSQL backup and restore. Beautiful CLI with real-time progress tracking.

  • termboard

    powerful management tool for PostgreSQL. You can use it to monitor, optimize or configure multiple PostgreSQL instances.

  • pg_clickhouse

    Interfaces to query ClickHouse databases from PostgreSQL

  • tiny-rdm

    (Tiny Redis Desktop Manager) - A modern, colorful, super lightweight Redis GUI client for Mac, Windows, and Linux.

Issues #282 Nov 16, 2025

2025-11-16 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

Hi all,

Sometime when my though wandering the world, I just wonder how amazing TCP was design. The world all connect together because of it. Sometime you disconnect your VPN, then re-connect, and your SSH connection just resume. How amazing resilient it is. Today we discover that by learning about TCP protocol.

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

  • Build automation tools for AI agents. Earn passive income and win your share of $1M in prizes

    Developers earned $563K in September alone building automation tools on Apify. Now there’s $1M more in prizes through January 31. Build web scrapers, API wrappers, MCP servers for AI agents. Earn up to $2K per tool based on monthly active users, compete for $30K/$20K/$10K grand prizes, plus $2K weekly spotlight prizes. Ongoing marketplace revenue continues after the challenge ends.

  • The Internet is Cool. Thank you, TCP

    The internet is incredible. It’s nearly impossible to keep people away from. But it can also be unreliable: packets drop, links congest, bits mangle, and data corrupts. Oh, it’s dangerous out there! (I’m writing this in Kramer’s tone)

  • Building a Simple Search Engine That Actually Works

    Sometimes you just want something that: Works with your existing database, Doesn’t require external services, Is easy to understand and debug. That’s what the OP built. A search engine that uses your existing database, respects your current architecture, and gives you full control over how it works.

  • Faster Index I/O with NVMe SSDs

    Marginalia is an experimental search engine. The Marginalia Search index has been partially rewritten to perform much better, using new data structures designed to make better use of modern hardware. This post will cover the new design, and will also touch upon some of the unexpected and unintuitive performance characteristics of NVMe SSDs when it comes to read sizes.

  • Myths Programmers Believe about CPU Caches

    As a computer engineer who has spent half a decade working with caches at Intel and Sun, I’ve learnt a thing or two about cache-coherency. This was one of the hardest concepts to learn back in college – but once you’ve truly understood it, it gives you a great appreciation for system design principles.

  • Building blobd: single-machine object store with sub-millisecond reads and 15 GB/s uploads

    I decided to experiment with writing an object store from scratch as a fun learning exercise, and to see how much I could get out of NVMe disks I had on my bare metal machines. Specifically, I wanted to really optimize for random reads and small objects — serving user content where the lower the latency, the better. This would not focus on other features; S3 is bottomless, distributed, and managed for example.

  • Postgres Internals Hiding in Plain Sight

    Postgres has an awesome amount of data collected in its own internal tables. Postgres hackers know all about this - but software developers and folks working with day to day Postgres tasks often miss out the good stuff. Today I want to walk through some of the most important Postgres internal data catalog details. What they are, what is in them, and how they might help you understand more about what is happening inside your database.

  • Listen to Database Changes through the Postgres WAL

    This could be a cheap way to have a Kafka-like consumer out of the box by consuming your Postgres WAL log. WAL log is like a stream of change happen to your database (update/create/delete) and you can decode them to JSON to see the change and act on them

  • The Inner Workings of JavaScript Source Maps

    A deep dive into how JavaScript source maps work under the hood, with examples showing how all the pieces fit together.

  • Importing vs fetching JSON

    Beside the usualy way of await fetch to load JSON API, we now can also use import directly. We had this in NodeJS with build tool already but now it’s natively available in the browser too. Lets see when we should use what.

  • Why NaN !== NaN in JavaScript (and the IEEE 754 story behind it)

Code to read

  • pgFirstAid

    Easy-to-deploy, open source PostgreSQL function that provides a prioritized list of actions to improve database stability and performance.

  • top_secret

    Filter sensitive information from free text before sending it to external services or APIs, such as chatbots and LLMs.

  • pg_easy_replicate

    Easily setup logical replication and switchover to new database with minimal downtime

  • justgage

    a handy JavaScript plugin for generating and animating nice & clean dashboard gauges. It is based on Raphaël library for vector drawing

  • navcat

    javascript navigation mesh construction and querying library for 3D floor-based navigation

  • stormy

    Minimal neofetch-like weather CLI. Just fun code to read.

  • portal

    Public Open Relay To Access Localhost

  • nano-vllm

    A lightweight vLLM implementation built from scratch.

  • zensical

    A modern static site generator by the creators of Material for MkDocs

Tools

  • chandra

    OCR model that handles complex tables, forms, handwriting with full layout.

  • perspective

    Perspective is an interactive analytics and data visualization component, which is especially well-suited for large and/or streaming datasets. Use it to create user-configurable reports, dashboards, notebooks and applications, then deploy stand-alone in the browser, or in concert with Python and/or Jupyterlab.

  • pg_statviz

    A minimalist extension and utility pair for time series analysis and visualization of PostgreSQL internal statistics.

  • check_postgres

    Nagios check_postgres plugin for checking status of PostgreSQL databases. You probably cannot use this as it’s because it’s for Nagios but the script can adopt to any monitoring system.

  • sloggo

    Minimal RFC 5424 syslog collector and viewer based on DuckDB. Runs as a single, resource-friendly process

  • slim-select

    Advanced select dropdown without any dependencies

  • caswaf

    HTTP & OAuth Gateway and Web Application Firewall (WAF) based on ModSecurity

  • stylus

    Lightweight status page for home infrastructure

Issues #281 Oct 20, 2025

2025-10-20 20:19:00

Better Dev Link - Resource around the web on becoming a better programmer

Hi all,

It’s already autumn and we will continue to get more issue moving forward. Hope everyone have a great haloween ahead. I also shared a story about someone almost got hack by being trick into running code for an interview. Remind so stay safe these day, never run untrusted code on your machine.

If you enjoy BetterDev, please spread the word by sharing it with your friends. And if you’d like to support my work, buying me a coffee would be much appreciated.

  • Build your next on HubSpot with the flexibility of an all-new Developer Platform

    The HubSpot Developer Platform gives you the tools to build, extend, and scale with confidence. Create AI-ready apps, integrations, and workflows faster with a unified platform designed to grow alongside your business.

  • How to create an OS from scratch

    May sound overwhelm but it’s very approachable with step by step building from previous foundation. Eg to write the initial boot loader you just need: loop: jmp loop

    times 510-($-$$) db 0 dw 0xaa55

    A very detail setup so you can prepare emulator to start learning these.

  • Caching

    Every time you use a computer, caches work to ensure your experience is fast. Everything a computer does from executing an instruction on the CPU, to requesting your X.com feed, to loading this very webpage, relies heavily on caching. You are about to enjoy a guided, interactive tour of caching: the most elegant, powerful, and pervasive innovation in computing.

  • Big O

    A visual introduction to big O notation.

  • Consistent hashing

    This post is an introduction to consistent hashing, an algorithm for designing a hash table such that only a small portion of keys has to be recomputed when the table’s size changes.

  • Understanding PostgreSQL Tablespaces

    By default all of the Postgres data stay in the same directory, under the same path and therefore the same volume. This limit our scale, many cloud provider has a max volume size, and they all share same IO. What can we do to put the database at different location instead?

  • How I Almost Got Hacked By A 'Job Interview

    Be careful out there with sophisicated phishing attempt nowadays. Bottom line is never ever run untrusted code directly on your machine.

  • Find where a specific object was allocated in JavaScript with DevTools

    Maybe you’re debugging a network request, but the stack trace has been laundered away by a batching mechanism. Maybe you have an enormous React codebase with kilometers of prop drilling, and you can’t be bothered to hit Go To References all morning. In any case, sometimes you just wish you could see where that specific object in the debugger was created.

  • WireGuard topologies for self-hosting at home

  • How to stop Linux threads cleanly

    Once you get into the business of starting threads, you’re probably also in the business of stopping them. However the former is much easier than the latter. With “stopping” I mean stopping the thread while giving it a chance to run some cleanup operations before fully terminating. Or in other words, we want to terminate a thread while ensuring that memory is freed, locks are released, logs are flushed, and so on

  • pqr.sql: Generate QR Codes with Pure SQL in PostgreSQL

Code to read

  • rack-attack

    Rack middleware for blocking & throttling

  • sift

    A lightweight terminal UI for displaying Go tests

  • oto

    ♪ A low-level library to play sound on multiple platforms ♪

Tools

  • pgsync

    keeps PostgreSQL/MySQL/MariaDB as your source of truth and publishes denormalized documents to Elasticsearch/OpenSearch—continuously and transactionally.

  • pgcalendar

    A PostgreSQL extension that provides infinite calendar functionality for recurring schedules with exceptions

  • relay

    Fast & free browser trusted HTTPS certificates

  • builder

    Visual Development for React, Vue, Svelte, Qwik, and more