2026-08-03 20:19:00
Hi everyone,
In 2013, I was a PHP Dev, MySQL with its replication features and percona backup and mysql proxy are my bread and butter. In 2017, I starts to use Postres and in last 9 years I used it for everything. I operated db up to 20TB, use many optimizations and Postgres never failed me and open many uses cases. That’s reason this newsletter has a focus on Postgres too.
In 2018, I started to use Vault, love it. But these day I recommend Infisical, they are also a sponsor of BetterDev. It’s more user-friendly and more practical than Vault, not locking too many thing behind enterprise feature.
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.
AI agents need access to GitHub, Stripe, Linear, and other services to do useful work. But handing an agent a real API key creates credential exfiltration risk through prompt injection, a compromised runtime, or exposure to the LLM provider.
Infisical Agent Proxy lets agents use those services without ever seeing the underlying secret. The agent receives a placeholder, and the proxy swaps in the real credential only when the outbound request crosses the network boundary.
The result: developers can keep building and deploying agents without putting real credentials inside unpredictable workloads. Existing API calls, SDKs, CLIs, and MCP connections continue to work, and 30+ pre-built integrations reduce the configuration required.
See how Infisical Agent Proxy helps teams give AI agents access to the services they need without handing over the secrets behind them. Explore how it works, review the supported integrations, and start building for free with less credential risk.
Kimi is a model developed outside of US and has surpass even Fable, gain immensively amount of traction. If you had a Mac with 64GB RAM, you can try running Kimi K3 (2.8T parameters) on one Apple Silicon Mac
There are just so many Postgres setting, and we do not want to wait till the shit hit the fan to debug them.
Giving an external team access to your PostgreSQL database is one of those decisions that deserves a little thought. The easiest option is to hand over a superuser account, but it’s rarely the right one. A better approach is to create a dedicated role with only the privileges they actually need, and it takes just a few minutes to set up.
Domenic Denicola is the author behind jsdom. He shared with us how he setup his agentic coding. The biggest take a way is usage of tailnet and a linux vm to run thing and make accessible across devices with tailnet.
GGUF is the file format that llama.cpp uses for language models. The safetensors are a bunch of json files. GGUF is a single file. What makes it work?
Largest Contentful Paint gives us a useful high-level signal for the point at which the largest thing in the viewport was rendered. It is much less good at telling us when our things looked ready. Enter the Container Timing API: an experimental performance API that allows us to annotate a whole region of the DOM and receive entries as new, contentful parts of it are painted.
Managing sessions for hundreds of millions of users is a tricky problem because every backend request needs to know which logged-in user made it. At Canva’s scale, this means answering this question hundreds of thousands of times every second. We keep session revocations directly in memory for the best possible performance and reliability, but as we grew, loading this cache during deploys became a bottleneck.
Optimizing WAL Mode, Concurrency, and VFS Layers for Low-Latency App Servers”
At some point you’ve probably had to unplug and plug back in an electronic device to get it to work again! System freezes and hangs are not only frustrating to an end user, but they can also be quite challenging to debug and fix. or some classes of devices, such as a satellite1, a manual reset is not even possible, making a wedged device a multi-million dollar “brick”.
When we turn on the coffee machine, when an oven run, a bridge report its temperature, embedded system is everywhere around us, in our daily life.
28.9 million parameter language model that generates text on an ESP32-S3, a microcontroller that costs about $8. It runs on the chip itself, with nothing sent to a server, and it writes each word to a small screen wired to the chip at roughly 9 tokens per second.
Tower defense game that teaches cloud architecture. Build infrastructure, survive traffic, learn scaling.
Build and run a datacenter: power chains, heat, cooling, PUE. Sister game of Server Survival — the physical layer of the cloud.
An ultra-fast and customizable Python plotting library
offline-first SQL sync you can operate. Clients keep a real local SQLite database (OPFS in the browser, native SQLite elsewhere), writes go through an optimistic outbox, and one ordered commit log on the server stays the source of truth.
MapLibre GL JS is a TypeScript library that uses WebGL to render interactive maps from vector tiles in a browser. The map’s appearance is controlled by a style document whose structure and properties are defined by the MapLibre Style Spec. It is part of the MapLibre ecosystem, with a counterpart for Android, iOS and other platforms called MapLibre Native.
Gemma 4 26B-A4B inference in ~2 GB of RAM on any M-series MacBook
The best notepad for you and your agents
Search WiFi geolocation data by BSSID and SSID on different public databases.
Lightweight & fast OCR models for license plate text recognition.
A Unified Face Analysis Library for Python | Detection, alignment, landmarks, recognition, parsing, gaze, attributes and anti-spoofing under one API.
Free, open source voice dictation for macOS. On-device transcription with Apple’s Speech framework. No cloud, no API keys, no account.
Explore the superpowers of 2,230 PostgreSQL extensions, and the availability of 562 extension artifacts across 16 Linux platforms.
2026-07-27 20:19:00
Hi everyone,
Crazy story this week, North Korean campaign use fake coding interviews to steal credential, discover by ElasticSearch. Level up your guard and akways run coding interview in a sandbox. Quick and safe enough is to run inside a non root docker image. Stronger way is to use VM such as container or FireCrakcer or qemu vm.
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.
For most teams the first CI bottleneck is the test suite. This post covers parallelism, sharding, prebuilt images, and a job-density rule that keeps wider sharding from wrecking your bill.
Elastic Security Labs found a new Contagious Interview campaign, tracked as REF9403, hiding malware inside SVG image files using steganography. To our knowledge, this specific infection chain has not been previously documented. We found it after the DPRK-aligned group targeted our own community Slack workspace with a fake job posting and a “coding challenge” project. Another similar I Inspected My Take-Home Interview Project. It Was a Whole Operation.
What should we implement lock mechanism across tab? Local storage, cookie?
Have you feel overwhelm with 3d model? how does that work? How the code look like
Whether you are trying to learn OpenGL for academic purposes, to pursue a career or simply looking for a hobby, this book will teach you the basics, the intermediate, and all the advanced knowledge using modern (core-profile) OpenGL. The aim of LearnOpenGL is to show you all there is to modern OpenGL in an easy-to-understand fashion with clear examples, while also providing a useful reference for later studies.
Welcome to “WebGPU Unleashed” - your gateway to the dynamic world of graphics programming. This free book will teach you graphics programming in JavaScript using WebGPU, drawing from my own learning journey.
This documentation walks you through the use of the WebGPU graphics API to create native 3D applications in C++ from scratch, for Windows, Linux and macOS.
SIMD has a reputation for being complex. Many very good software engineers who dismiss it as something too complex to learn or a niche optimization meant for only the highest-performance software. SIMD can be simple to understand1, and common “process N values at a time” SIMD code to speed up a naive for loop almost always follows the same general shape. Another one to follow up SIMD for Collision
This post is a walkthrough of how LLMs work. Modern LLMs are mostly built by stacking transformer blocks over and over, so understanding the transformer machinery gets you most of the way there.
Have you ever has to deal with a tool-tip on the top got cut-off and have to re-position to bottom? JavaScript used to be solve this problem, but it’s awaful. Fortunately, a shiny new browser API handles all of the tough stuff for us: the Anchor Positioning API.
Plane radar is a neat little project that turns an ESP32-C3 and a 1.28-inch round display into a live aircraft radar. It pulls nearby ADS-B traffic, plots each aircraft by distance and bearing, and shows the details directly on the screen.
An opinionated, zero-config cross-shell prompt written in Zig.
Processor cores can issue multiple memory requests. How many concurrent memory requests can your processor cores support? How to test that with code. lets learn. It’s C and unfamiliar with web dev, but if I myself can read it, you can too.
A Visualization Language for the AI Era
Open-source credential gateway with a built-in vault. give your AI agents access to services without exposing keys.
A HTTP credential proxy and vault for AI agents like Claude Code, OpenClaw, Hermes, custom agents + harnesses, and more.
Keep Postgres entities synced with turbopuffer using logical replication
Postgres replication with DDL changes
2026-07-20 20:19:00
Hi everyone,
With the rise of AI, there are spreading trend that SaaS doomed. This week there is an article address that. For me, SaaS is here to stay and will spread even faster.
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.
AI agents write code fast, but they're working blind. They never see real API responses, real database state, or real queue payloads, so bugs surface only after the fact.
mirrord connects your AI agents to actual staging conditions as they code. Every change gets tested against real data instantly, so agents catch broken assumptions before you do, not after.
monday.com cut dev cycle time by 70% running this way. 5k GitHub stars and growing.
Try mirrord free.
No, you’re not going to code your own Jira
what actually happens when a program opens a file? file operations work identically on an ext4 file (the disk filesystem most Linux distributions use by default), a file in /proc that exists only as kernel memory, and a file on an NFS share on another machine. Same calls, same file descriptor semantics, same close() at the end.
Text editors can be an interesting challenge to program. The types of problems that text editors need to solve can range from trivial to mind-bogglingly difficult. Recently, I have been on something of a spiritual journey to rework some internal data structures in an editor I have been building, specifically the most fundamental data structure to any text editor: the text.
modal.com rebuilt their core sandbox platform from ground up to support run millions of sandboxes concurrently and create ten of thoudsands of sandboxes per second.
This guide is for homelab admins who understand IPv4s well but find setting up IPv6 hard or annoying because things work differently. In some ways, managing an IPv6 network can be simpler than IPv4, one just needs to learn some new concepts and discard some old ones
Database sharding is the best way to scale a Postgres or MySQL database for anything beyond a few terabytes of data. Let’s look at how we go from a small single-node database, to one with a few terabytes spread across four shards, all the way up to one that is sharded across 768 servers and storing a petabyte of data
People kept telling OP that Linux could perform way better than Windows when it comes to FPS, frame pacing and input latency. So he came up with an idea to actuallly measure that.
One of the most valuable things about partitioned tables is pruning - the database’s ability to eliminate entire partitions based on a query predicate. Under conventional wisdom, pruning can only be achieved when querying by the partition key - this makes choosing the right key extremely difficult. However, if your data follows certain patterns, using some clever tricks you can achieve pruning even when filtering by non-partition key columns.
This isn’t about building a production system but more about a PoC and learning. The idea is we de-couple storage from compute, leverage the power of storage, especially CoW(Copy on write) to branching and do cool thing with database similar to PlanetScale.
Border Gateway Protocol (BGP) lacks built-in trust. Resource Public Key Infrastructure (RPKI) addresses that problem by letting address space holders cryptographically authorize which Autonomous System (AS) may originate their prefixes, via Route Origin Authorizations (ROAs) published through a chain of trust anchored at the five Regional Internet Registries (RIRs). But there are also independent operators contributes to this RPKI. In this post, we investigate who operates those small servers and why.
With modern CPUs, avoiding branch mispredictions is a key method for speeding up programs. One of the most effective ways to reduce mispredictions is to simply avoid branches.
Curious exactly what happens when you run a program on your computer? Read this article to learn how multiprocessing works, what system calls really are, how computers manage memory with hardware interrupts, and how Linux loads executables.
It just fun to read Honey pot result to see whats the scan or the threat actors do.
Color conversion & manipulation library by the editors of the CSS Color specifications
High-performance JSX UI outside the browser, with native rendering, standard Vue Vapor and Solid support, a Tailwind design system, and 60 FPS animation under an 8 MB memory budget.
an open-source, battery-powered temperature and humidity data logger with an always-on e-paper display. It records ambient conditions over time, stores readings in non-volatile memory, and displays current data along with a history graph. The device is designed for low power consumption, over 1 week of operation on a small Li‑Po battery.
Golang connection multiplexing library
A WiFi security auditing software mainly based on aircrack-ng tools suite
The Visual JSON Editor. Schema-aware, embeddable, extensible.
a modeling language for describing software architecture and tools to generate diagrams from the model.
A Docker-powered microservice for intelligent PDF document layout analysis, OCR, and content extraction
Privacy-first API platform built with Tauri v2. No login, no cloud, ~60 MB RAM. A lightweight Postman alternative.
2026-07-14 20:19:00
Hi everyone,
This is a really good issue IMHO with lot of link on fundamental of web dev and computer deep knowledge(syscall, cpu).
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.
Six months in, p_future holds 800M rows because the growth projection didn’t survive the workload, and every ALTER to fix it needs a maintenance window nobody wants to schedule. The boundary management is two lines of DDL; the harder part is picking a partition key that doesn’t leak into application code.
is CORS a browser security measure or a server security measure?
Given an array of data, what is the slowest way to sum up the integers? Is it adding the numbers from left to right, adding them randomly, or doing something else? In this post, we are going to build a data access pattern from the ground up that sums numbers as slowly as possible by exploiting memory pitfalls.
In this video we learn the basics of I/O devices, and how the interact with the the CPU in general purpose systems.
A look at how Linux handles system calls on x86-64, why crossing into the kernel has a cost, and why that cost shows up in performance profiles.
How Zalando built an in-process client-side load balancer for a million requests per second of internal fan-out traffic, what we layered on top (N-ring fade-in, occupancy-based bounded load, and AZ-aware routing with a latency health factor), and how hardening that path cut cost and made the service resilient to the infrastructure underneath it.
Have you ever come into some awaful situation where you run kill on a postgres process that handle a connection and then suddenly the whole Postgres restart, even though you just kill a single process that handle one connection. This post explains that.
Let’s be clear. It’s going to be a long time before running a local LLM will produce the type of results that you can get from querying ChatGPT or Claude. However, self hosted is useful when privacy is critical or when response time is not important.
A Go implementation of Radsort — a stable LSD radix sort with O(√n) space overhead, from “Parallel O(√n) Overhead LSD Radix Sort” by Robert Clausecker and Florian Schintke
Easy to use, yet comprehensive library for sending mails with Go.
Display images in the terminal
Give Claude the ability to watch any video. /watch downloads, extracts frames, transcribes, hands it all to Claude.
Open-source JavaScript library implementing an in-browser rich-text editor. I especially like the Collaborative Editing with their client/server example.
IP lists full of bad IPs - Updated every 2H
Send email from anywhere your code runs.
Create beautiful code screenshots with customizable styles
Distribute and run LLMs with a single file.
Resource monitor that shows usage and stats for processor, memory, disks, network and processes. Similar to htop but better.
is a lightweight network scanner with persistent device labeling, multi-network support, and Tailscale integration. Built by 291 Group.”
a production-ready API that delivers instant REST and Model Context Protocol (MCP) APIs on top of your existing or new Postgres database—CRUD, custom SQL routes, auth, ACL, and a read-only MCP endpoint—without hand-writing a backend.
2026-06-30 20:19:00
Hi everyone,
With the rise of LLM, it’s now become even more important to know the fundamental of tech, no longer just to be able to whipe up some quick script, but understanding technical merit at a deeer level. We will include more links about these in future issue.
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.
Connect 80+ databases (Postgres, MongoDB, Snowflake, and more) from VS Code, Cursor, or any fork. Browse and edit data, write schema-aware SQL, generate ERDs, run SQL notebooks, and turn plain English into queries with Copilot.
TPUs is Google’s ASIC that focuses on two factors: extreme matmul throughput + energy efficiency. TPUs power the majority of Google’s AI services. Of course, that includes training and inference of Gemini or Veo, but also deploying their recommendation models (DLRMs).
One of the most famous file formats in computer history probably is the Portable Executable, popularly known as .exe. There is more to it than just being the binary file format of choice for Windows systems. In this chapter, we will deep-dive into what are portable executables? Where they live? What they eat?
SIMD means single instruction multiple data, also sometimes called vectorization. Instead of this
a[0] + b[0] a[1] + b[1] a[2] + b[2] a[3] + b[3]
and doing them sequentially, we can do
[a0 a1 a2 a3] + [b0 b1 b2 b3]
Kind of like JavaScript Promise.all in term of syntax.
Designing a good, fast, portable SIMD algorithm is not a simple matter and requires thinking a little bit like a circuit designer.
Author Wirewiki.com, a website to inspect internet infrastructure like domain names. It helps people check (historic) DNS records, DNS delegation, email deliverability config, etc. And it’s super fast. He want the autocomplete to be instant.
The worst way to store and manipulate text is to use an array. The good way is a binary tree structure called a rope. And the best way is a Gap Buffer.
A parser is usually taught as a problem of grammars, but once the grammar is correct, almost all of the performance and most of the engineering difficulty live somewhere else, in how the resulting tree is represented in memory.
An alignment quirk on Intel and AMD CPUs: keeping a Go array 8-byte aligned (vs offset 4) makes clearing it up to 49% faster, thanks to how REP STOSQ works.
pg_hardstorage is an open-source PostgreSQL backup tool — built so something as fundamental as your recovery story stays code you can read, run, and rely on.
Stateless Postgres Query Router.
Re-usable, easy interface JavaScript chart library based on D3.js, with SVG and Canvas rendering support
Want to learn more about DNS Resoltuon, MX record, DNS Trace. This tool has all, even including a DNS Hisory change
2026-06-22 20:19:00
Hi everyone,
We’re back for another issue. We’re become more regular now. 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.
Every new API key means tracking down which services need it, then updating each one by hand. At OpenRouter, that happened one to two times a week.
OpenRouter runs the largest AI gateway for developers, with infrastructure spanning Vercel, GCP, and Cloudflare and 70+ model providers. Each one ships its own keys, propagated manually with custom scripts, and no audit trail. A leaked production credential meant downtime and an SLA breach.
The team adopted Cursor, Claude Code, Devin, and Codex, and each needed scoped access to run services end to end without reaching credentials it shouldn't.
OpenRouter centralized everything on Infisical:
→ Dynamic folder sync replaced the scripts: one folder for all provider keys, imported into the services that need them
→ Role-based access separates dev, admin, and break-glass production: A dedicated agent tier issues session-scoped credentials, so tools like Cursor and Claude Code pull dev secrets directly and run read-only cron jobs against production, scoped to exactly what they need.
→ Audit logging: It closed the visibility gap on when and why a secret changed.
The payoff: spinning up a new service dropped from a multi-service manual chore to about 10 minutes. 21 services now sync through Infisical and 50+ engineering hours are saved per month.
As founding engineer Shashank Goyal put it: "With Infisical, you get the security benefit along with improved developer experience, it becomes a no-brainer."
Pair it with this video to learn how fast we can read a file? are we limited by disk or cpu?
Fraud detection in transaction data is mostly SQL. Not machine learning, not graph databases, not whatever Gartner is hyping this year. SQL, run against the right tables, with the right joins, looking for the right shapes.
Shopify needs no introduction of their scale. They have an oversell protection to track inventory buld on Redis, using DECR and INCR. But data now is lived on 2 system, and this cannot be done in an atomic manner because state is persisted outside of MySQL. Operating and scaling Redis in region awareness also not easy. So they moved this to MySQL with SKIP LOCKED.
The American Express core payments ecosystem is a global platform relied on by Card Members and partners around the world. Every day, it processes live payment transactions that require high availability, low latency, and predictable performance. To achieve this, the platform is built around a cell-based architecture that isolates failures, maintains low-latency processing, and scales capacity without expanding the failure domain
DataDog regularly run a variety of gamedays to intentionally stress our platforms and learn how our systems and teams respond under real-world conditions. During that they discover when network latency increase, replica lag, primary failed and failover is no longer safe.
On Xmas 2024, Aura Frames API had problems under peak load, being unavailable for three hours. They implement multiple strategy to help improve Postgres performance significantly. We will learn all of that here: high cpu during vacum, increase latency, lag replica, index bloat due to high write. One of interested thing is they split heavy write tables to its own dedicated db, we cannot always do this, but if we can it reduce and isolated high load to that db only.
I’ve been using Git for so long and I just realized you can ignore files at three different levels and not just with .gitignore. The three files you can use to ignore files are: .gitignore, .git/info/exclude, ~/.config/git/ignore
How hard it’s to build a home made CPU? hard if you had to do the hardware component yourself. But assume if you can get the part. TD4 is a little 4bit CPU: 2 registers, 16 bytes ROM.Quite limited but still very cool and teaches a lot of principles of computer architecture.
Modern concurrency primitives and building blocks for high performance applications, all in C99+
Your website, but inhabited. Very hard to explain, like convert visitor into real character can interact in a widget on your site. very fund interestint to check
A high-performance, concurrent bytecode virtual machine and language written in Go. Tiny combines the development speed of dynamic coding with a robust, multi-threaded runtime engine
The end of web parsing. The beginning of scalable pixel-native search.
A high-performance Ractor web server for Ruby 4.0+: Rack 3-based, with a Rust Tokio/Hyper front-end and Ractor-parallel Ruby workers and threaded fallback mode.
Makes PDFs look scanned (CLI or in the browser via WASM)
is a Postgres-native durable workflow system. It moves the complexity of durable execution into the database layer via stored procedures, keeping SDKs lightweight and language-agnostic. The core principle is to handle tasks that may run for minutes, days, or years without losing state.
A multithreaded PostgreSQL connection pooler in Rust (MSRV 1.87). Alternative to PgBouncer, Odyssey, and PgCat. In production at Ozon for over three years across Go (pgx), .NET (Npgsql), Python (asyncpg, SQLAlchemy), and Node.js workloads.