2026-09-07 20:19:00
Hi everyone,
This week I was working on code optimization, I asked AI to verified it. Typically, it should only need to verify with its local db. However, to be useful, it tried to SSH into my dev, qa, prod env and run the code against it. Good thing that it doesn’t have credential(it event tried to use my secret cli to load it from my secret server). Remind if you use AI, put something in your docs to ensure it never connect to prod env, or even better, don’t even have some script that can retreiver secret through cli(looking at your, aws and gcp cli).
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.
Add Web Search to Your AI Agents. Ground LLM responses with live, structured search results from Google and other engines, ready for tool calling and RAG pipelines.
Mobile dev has learned to never block main thread for years. For us, web dev, I’m sure we were frustrated with slow scrolling side, click a button and the site seems freeze. And maybe we start make less network call, reduce the bundle size and so on. But it goes beyond that, the code is fine, they aren’t slow but they block the main thread. We learn about it here.
Kevin made a circuit-board business card with an NFC chip and a batteryless LED powered by the phone tapping it. The hardware worked, but ordinary iPhone NFC apps couldn’t format the blank NTAG I²C Plus chip. He wrote a tiny Core NFC app that sends the chip’s native commands directly, and now each tap opens my site and lights Charizard’s tail.
features a randomly generated 8x8 board, lets you open cells with left click, toggle flags with right click, opens cells with zero neighboring mines recursively, and has basic win detection. How is this even possible???
In the day of AI, anything without physical confirmation, can be easily to be a “hack” or “workaround” with the LLM. SSH is the key to the kingdom. Today, we learn how to setup Secure Enclave to authenticate SSH. The nice thing about it is that the key cannot be extracted out. Mean if you migrate to a new laptop, the secure enclave seed won’t follow you. Very secure, but also a rough edge.
Imagine ordered a 100 GbE server, then expected things to just work. Imagine OP’s surprise when the server crashed when serving at just 20 Gigabit.
A custom property answers differently depending on whether you registered it. Unregistered, it stays a raw token stream and its functions evaluate wherever you var() it - so sibling-index() reads the child’s position, not the parent’s. Register it with @property and it computes at the declaration instead. Same trap for em, ch, lh, container query units and relative URLs.
B-Tree is very common in Database like Postgres, MySQL. But there are RocksDB, Cassandra, Pebble which use LSM Trees, and many other key-value storage use it. One simple way to look at them is LSM trees optimize for heavy write, data is written in chunk, immutable, append only.
Nine animated videos from BitLemon: how a cache is organised inside the CPU, the L1/L2/L3 hierarchy, SRAM vs DRAM, replacement and write policies, the four C’s of misses, then two episodes building a cache simulator in C++. A memory round trip costs about a hundred cache hits, so most slow code isn’t doing too much work, it’s laying its data out badly.
It’s always good to know how to do something. Like my wife said, youc an order food, but better if you can cook yourself. In this seris, we learn about many concept of practical PostgreSQL. Practical mean we will facing them every single day and anyone run a PostgresSQL db with modest workload face these sooner or later.
Just as I said above. Let learn system inside out. Alexander Kuleshov’s home for linux-insides, now with a proper reader around it: 64 chapters of kernel internals read straight from the source - boot, interrupt gates, syscall dispatch, timers, spinlocks, memblock, per-CPU variables. Beside it, a seven-part x86-64 assembly series and Field Notes on real performance investigations.
A small transformer trained from scratch in 1.5 hours on one 5090 - beats many LLMs on ARC-AGI-1, matches TRM/HRM, costs 67 cents. The ablations say two choices carry it: 3D RoPE and a per-puzzle embedding, and dropping either turns 44% into 24%. The odd bit the author can’t explain: removing input tokens from the loss makes test loss worse while the score goes up.
In previous issue we mention SIMD. In this we will learn how Debian Code Search ditch cgo, rewrite with Go 1.26’s experimental simd/archsimd. The Go rewrite beat C, helped by AVX512 kernels and a positional popcount trick worth another 2x - though the post is honest that backporting both to C puts Go at about 1.4x slower.
for Rust readers: a trigram-indexed grep with a resident server, up to 52x faster than ripgrep on a 400k-file monorepo and the engine behind grep in GitHub Copilot CLI - read it for the HybridIndex that merges an mmap’d disk index with a live in-memory overlay.
one static Go binary that reads the statistics views Postgres already keeps about itself and prints a graded health report, diffed against the last run so regressions surface as changes rather than numbers you have to remember.
htop for every Postgres you own. show locks, query regressions, unused indexes, vacuum and replication, checked in the background so a tab that goes red gets flagged while you read another.
a desktop AI agent that installs like a normal app, and runs multi-step tasks in the background against any of 15+ providers or a local Ollama, though the repo is distribution only and the app itself is closed source.
llama.cpp inside your Go program in the same process with no cgo - it dlopens the prebuilt library through purego, so you keep a normal go build and can swap in a newer llama.cpp without rebuilding.
we linked to this back in issue #173 as a promising idea; six years on it is a feature-complete open source Burp Suite Pro - MITM proxy, interception, request replay, scopes and per-project storage, in one Go binary.
so we already know about headscale, implement of control server of tailscale. tailcat is an re-implementation of tailscale functionality without relying on tailscale, while still using the backbone of Wireguard, NAT traversal. So no account, no sign-up, no control server. Easy to use for small team or some quick experiement.
snapshots PostgreSQL’s shared memory and opens it in your browser as a physical map
2026-08-31 20:19:00
Hi everyone,
The best way to learn is to implement something. We will understand why a certain concept was used or name. For monthes, I don’t know why they always talk about KV cache, or what is token streaming mean. Now I do, by start reading and working on those inference engine.
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.
Add Web Search to Your AI Agents. Ground LLM responses with live, structured search results from Google and other engines with SerpApi, ready for tool calling and RAG pipelines.
Once some AI lab release an open weight model, we can download and run them. But what is the program that run them? that program is call inference engine. We will build one with less than 2000 lines. Another article that also give good overview is vLLM-Style fast inference engine. We learn why we need KV cache, why it’s call token streaming.
Grep is cheap, agents are smart, so DeepSec uses both: a fast local pattern scan narrows your repo to the security-sensitive files, then Codex or Claude actually follows the data across them and writes up real findings, with a second pass throwing out the noise. Flavio runs it on his own site and watches 504 maybes collapse into a short list worth reading. Vercel’s, open source, and it drops into CI.
The checklist that turns a fresh Ubuntu or Debian box from an open door into something that shrugs off scans - key-only SSH, UFW, pruned setuid binaries, unattended security updates. Every step ships with the exact command and the reason behind it, so you harden a server on purpose instead of out of copy-paste fear.
Four completely different things in your stack are all called “caching”, and confusing them is why your token bill will not go down. Avi Chawla takes apart all four - KV, prefix, prompt, semantic - with runnable code, then lists what silently kills reuse: a timestamp in the system prompt, a reordered tool schema, a summarized history. The kicker is that three of them only cost you money on a miss, while the fourth cheerfully returns a wrong answer with a 200.
Crunchy Data marks up its own years-old advice on loading, storage and indexing with everything Postgres 19 quietly made obsolete. Async I/O rewrites the cost model, JIT is off by default, LZ4 replaces pglz, COPY survives bad rows, and skip scan means that companion index you were about to add may already exist. Read it as a list of benchmarks you need to re-run before trusting an index strategy you settled on in 2021.
Have you ever done a read right after a write, got nothing back, and given up and pointed the whole path at the primary just to be sure? Postgres 19 adds WAIT FOR to fix exactly that: capture the WAL position after the write, hand it to the replica, and the read blocks until replay catches up - so only the queries that need freshness pay for it, and replication stays async for everyone else. Expect your pooler to inject it long before your app does.
When you hold 250 billion cache entries, one wasted byte per entry costs 250 GB - so Cloudflare went hunting through their Rust structs and found 533 of them. Vec becomes Box<[T]> to drop the capacity field, three record sections collapse into one list addressed by u16 offsets instead of pointers, fat enum variants get boxed so the A records that are 80% of traffic stop paying for NAPTR’s padding. 953 bytes down to 420, roughly 100 TB freed fleet-wide, and inserts got 43% faster on the way.
Destructure a counter from an ESM module and it updates; do the identical thing with require() and it stays frozen at the old value forever. ESM links live bindings before anything runs, CommonJS hands you a copy of an object whenever require() gets there - and every weird thing downstream, circular imports, .default wrappers, the same package loaded twice as two instances, falls out of that one difference.
Watching a big company do a live migration is always a good lesson, whatever the stack happens to be. Cloudflare moved this very blog onto a new CMS behind a proxy Worker that routed by cookie, fell back to the old site automatically on a 500, and shifted traffic 1% at a time until it hit 100% the same day - no downtime, no big bang cutover. The load testing they did before touching real traffic is worth a read on its own.
Every “Postgres MVCC is broken” thread lists the same four charges - write amplification, bloat, one idle transaction freezing vacuum everywhere, and XID wraparound - and all four are fair. The good part is what comes after: the same questions get asked of Oracle’s undo logs, SQL Server’s tempdb, WiredTiger’s cache, and CockroachDB’s timestamped keys, and every one of them just moves the bill somewhere else. Postgres makes you pay in maintenance, but it also lets you open the page with pageinspect and see exactly what you owe.
a 2 KB syntax highlighter that never touches your DOM. Instead of wrapping every token in a <span>, Dave Rupert’s tokenizer turns TextMate grammar matches into Range objects and hands them to the CSS Custom Highlight API, so styling happens through ::highlight() and your <pre><code> stays exactly as you wrote it - still editable, still copyable. Worth reading as the clearest small example of that API in a real library, plus how far plain RegExp gets you when you skip Oniguruma and WASM. MIT licensed.
a code counter is a boring problem right up until you want it to chew through the Linux kernel in under a second - and that is what makes this codebase such a good read. Ben Boyter counts lines, comments and cyclomatic complexity with one byte-level state machine and no AST anywhere, then spends the rest of the repo on the parts nobody writes down: keeping allocations off the hot path, sizing worker pools for directory walking versus file processing, and when turning the GC off entirely is the honest answer. Pure Go, MIT licensed.
every Ruby server forks a process per core to get around the GVL, and you pay for that in memory - Kino uses Ractors instead, so one small process runs your Rack app on every core. The network layer is Rust with Tokio and Hyper, the workers are Ruby, and reading it is the fastest way to see what actually changes when your code has to be Ractor-shareable, plus how the two sides hand requests across. Rack 3 compatible, roughly 7x less memory than a Puma cluster on their benchmark, MIT licensed.
one Python library that speaks 100+ notification services - Slack, Discord, Telegram, ntfy, Matrix, plain email - so “tell me when it breaks” is one line instead of an integration per chat app. Every destination is just a URL, which turns your alert routing into config you can version instead of code scattered across repos. Library, CLI you can call from cron, or a Dockerized REST API. BSD-2-Clause.
an entire wardriving kit in one Python GUI: 2.4 and 5 GHz SSID scanning, BLE and Classic Bluetooth discovery, and - if you hang a HackRF or Ubertooth off it - live spectrum overlays that show the interference RSSI alone hides. Hunt mode tracks moving sources on a GPS map, and the same engine runs headless as a REST agent you can strap to a Pi, drone or rover. Ships Elasticsearch/Kibana dashboards and a DroneID app that turns a plain BLE adapter into a drone detector. GPL-3.0.
the certificate chore, automated on your own box: point it at a domain and it applies for the cert, deploys it where it actually has to live, then renews and redeploys on schedule so nothing expires at 2am again. 70+ DNS registrars on the way in, 150+ destinations on the way out - Kubernetes, CDNs, WAFs, load balancers, remote hosts over SSH - and a ping to Slack or email when something needs you. One Go binary or a docker run, ~16 MB of memory, everything stored locally. MIT.
Postgres tells you plenty about itself, but only about right now - this stores periodic snapshots of the stats views inside your own cluster and plots them. Call pgstatviz.snapshot() on a schedule, then draw buffers, cache hit ratio, connections, I/O, WAL, wait events, locks or replication lag over any date range, each with its rate of change beside it, so slow drift finally looks like a slope. No agent, no time-series database, no exporter sidecar. PostgreSQL License.
native Linux desktop apps written in React and TypeScript, without Electron. JSX maps straight onto GTK4 and Adwaita widgets through a Rust backend, types are generated from GObject introspection so the whole tree is checked end to end, and you get hot reload, a Vitest + React Testing Library setup for GTK, and a CLI for create/dev/build. It is a plain Node program underneath, so npm still works. MPL-2.0.
2026-08-24 20:19:00
Hi everyone,
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.
Specs drift. Decisions live in threads. Agents build from whatever's easiest to find, which is usually wrong.
Thor keeps a synced answer across Slack, GitHub, and Linear so agents and humans are working from the same reality.
Git is distributed by design, yet hosting it centrally is a nightmare. Ever wonder how GitHub survives that? This walks from their early attempt at distributing the filesystem, to Spokes and its consensus-based replication, and now Continuity - Cursor’s write-ahead log design that just makes S3 the source of truth. No consensus, no routing table, add as many replicas as you want.
2011, no WebRTC yet, so Facebook signed a contract with Skype and shipped their binary inside the client. Philip Su, the second engineer in the Seattle office, tells how it went: six weeks of 8am to midnight hotfixes, living on junk food, moving his family to Palo Alto. The fun part is the feature ended up exposing how unreliable Facebook’s own message delivery was. He is also on Ryan Peterman’s podcast with more of these stories.
Turns out a compressor and an LLM do the same job: guess what comes next. Once you have seen a q, the odds the next letter is u jump to ~0.999 - that is the whole game. A nice read to build intuition on entropy and arithmetic coding, though please don’t run an LLM to gzip your HTTP response.
You may never type a SAVEPOINT in your life, but every PL/pgSQL exception handler hands you a subtransaction for free. Go past 64 per backend and the snapshot overflows, every lookup falls into the pg_subtrans SLRU under a read lock, and the whole cluster crawls - even queries that have nothing to do with yours. Worse, it blocks a new read replica from entering hot standby, exactly when you are trying to scale out.
I always read work_mem as a per sort/hash limit and left it there. It is not that simple - the memory is only released when the whole operation ends, so the chunks pile up and one badly shaped query can eat all your RAM with a perfectly modest setting. Fix the query and the statistics, not the knob.
How do you get the weekday out of a day number? Modulo 7, right? Turns out 7 is a Mersenne number, so one multiply and a shift will do it - about a multiply plus two cycles. Same trick works for the mod 24 and mod 60 you hit everywhere else in timekeeping.
One LDG.E asks for 128 bytes, and this post follows it all the way down an RTX 4090: L1 first (15ns), then the TLB to turn virtual into physical, across the crossbar to one of 36 L2 slices (127ns), and if that misses too, the memory controller fires an activate plus four column reads at a DRAM bank - 255ns round trip before the warp’s registers finally get their data. This is where all your kernel’s stall cycles actually go.
You pull the same weights everyone raves about, run them at home, and somehow it acts dumber. It is not in your head - the author tests it and the blame lands on the plumbing: different CUDA attention kernels give slightly different logits, KV-cache quantization compounds the error token after token, and simply picking FlashAttention 2 over Flash Inference or Triton is enough to flip the top-1 token. It shows up worst in tool use, where one flipped token means a malformed command. No magic fix, just: benchmark on your own workload and pick your quantization carefully.
Light / Dark / System - we all ship that third button, and Lea Verou argues it is us leaking our implementation onto the user. Nobody hunts for the toggle to plan their future, they click it because their eyes hurt right now, so give them two states and be smart underneath: flip to the opposite of what they are seeing, only store an override when it differs from the system, and never silently drop an explicit choice just because it happens to match. A dedicated settings panel is the one place the three-state control still earns its keep.
Ever tried to pan a map diagonally on the web and felt it snap to one axis? That is the browser deciding your gesture is “mostly horizontal” and locking it. scroll-axis-lock: none turns that off and lets the container follow your input exactly - a small thing that makes maps and zoomed images feel right. Chromium 153+ only for now, Firefox and Safari still to come.
an LLM proxy in Rust that routes requests across providers and translates between the OpenAI and Anthropic APIs, so your app keeps one API while you swap the model behind it. Typed, composable routing algorithms and metrics come built in, handy for A/B testing and cutting the bill. Apache-2.0 licensed.
WSL2, but for your Mac: Linux VMs with file sharing and port forwarding that just work. It ships containerd and nerdctl, and runs Docker, Podman, or a k8s cluster just as happily. Odds are you already use it without knowing - Rancher Desktop, Colima, Finch, and Podman Desktop are all built on it. CNCF incubating, written in Go, Apache-2.0 licensed.
you don’t need an H100. This runs 290B+ parameter MoE models at interactive speed on the GPU you already own - an RTX 30/40/50 card, or even a laptop. The trick is bandwidth-adaptive CPU-GPU co-execution, semantic-aware caching with anchor checkpoints, and shuffling VRAM between expert cache and KV memory on the fly, across MXFP4, NVFP4, FP8, and BF16. Speaks the Anthropic and OpenAI APIs, ships as both a desktop app and a CLI. Apache-2.0 licensed.
how many CEOs still ship C++ on the weekend? This one is from Tobi Lutke, CEO of Shopify - a screenshot and annotation tool for Wayland/Hyprland that grew out of the Omarchy world. Region, window, fullscreen, and scrolling capture, annotations kept as movable vector layers, OCR, pinned always-on-top captures, and a working document that survives a crash with undo intact. C++ with Qt6, MIT licensed.
2026-08-12 20:19:00
Hi everyone,
I’m slow and late this week but better than nothing. I’m keep doing this. I hope I didn’t disappointed anyone with such a late and short 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.
a pushback against the dismissive claim that “code was never the hard part”. Programming is a genuinely difficult, skilled discipline, and the author argues we should embrace both technical excellence and customer empathy while adapting to AI, rather than retreating into denial or extreme positions.
a deep performance investigation into why Envoy’s switch from nghttp2 to oghttp2 caused a ~20% CPU regression on HTTP/2 proxied traffic. The culprit wasn’t the Huffman decoder but string handling in header block processing, with std::string::push_back alone eating 13-20% of CPU. Envoy ended up reverting the default in 1.37.
the humble <img> is a replaced element, meaning its container and its content have separate dimensions - so with object-fit, object-position, and border-radius the image content can actually overflow its own box. The author turns this quirk into neat tricks like animated image reveals and loader effects with zero extra markup.
a fun deep dive into embedding photographs inside QR codes using Floyd-Steinberg dithering and error diffusion, producing codes that look like images while remaining fully scannable.
you don’t need a PhD to understand how LLMs work under the hood. This post shows that high-school vectors and matrices are enough: embeddings, high-dimensional spaces, dot products for similarity, and matrix multiplication as projection between spaces.
with AI removing the friction of writing software, taste - the ability to judge what deserves to exist - becomes the only genuinely scarce skill left. The difficulty of building used to force us to develop discernment through failure; frictionless generation has separated productivity from judgment, leaving us swimming in an ocean of “plausible” mediocrity.
not a programming article, but a great essay on building your own value system instead of chasing external rewards. Chasing arbitrary incentives stunts genuine growth; the author makes the case for doing what’s right regardless, through the story of abolitionist Charles Sumner, who pursued justice despite severe social and physical costs.
lessons from a decade of building EC2’s control plane - the system that reconciles desired infrastructure state with actual state. Fun fact: at the heart of it all was a plain MySQL database (“customer X now has VM Y” was literally a row in a table), and the article walks through the years of failover pain, read replicas, and sharding it took to scale it. Those pains shaped DSQL’s architecture: per-connection micro-VMs, automatic read replicas with strong consistency, and transparent partitioning. DSQL’s control plane even runs on DSQL itself.
a whole site dedicated to Postgres locks, written by a customer reliability engineer as “the documentation I wish existed when I was learning about locks”. It walks from animated concept explainers through runnable table-lock demos, troubleshooting guides, and monitoring tool reviews, and includes an interactive blocking graph showing which SQL operations lock each other out.
autovacuum is getting smarter in Postgres 19: instead of processing tables in catalog order, it scores and prioritizes them by transaction ID age, dead tuples, recent inserts, and analyze needs - with six new tuning knobs to weight those factors. Autovacuum workers can also finally parallelize index vacuuming across multiple workers.
for Go readers: a high-performance packet generator - think “the iPerf of packet generators” - that hits line rate (138M packets per second on 100G NICs) from a single static Go binary using AF_XDP, no DPDK required. Supports UDP, TCP SYN, IMIX, raw Ethernet, and PCAP replay. Apache-2.0 licensed. Don’t miss the amazing companion post Wireblast: a 100Gbs packet generator in Go with AF_XDP where the author walks through how it’s built.
a privacy-focused, accountless web app that encrypts and shares files with passkeys and AES-256, entirely on-device - it even works offline. The code is a great read if you want to see WebAuthn’s PRF extension and HPKE cryptography used in a real product, and how to design a trustworthy offline-first app. GPLv3 licensed.
for Python readers: a library that queries Apple’s FindMy network from any platform - no Mac required. It fetches and decrypts location reports for AirTags and iDevices, handles Apple account auth with 2FA, and scans for nearby devices, with both sync and async APIs. A fascinating read if you want to understand how Apple’s crowd-sourced location network actually works under the hood. MIT licensed.
a zero-dependency spreadsheet engine in pure TypeScript that reads and writes XLSX, CSV, ODS, JSON, NDJSON, and XML, with streaming support and round-trip preservation. A great codebase to study how binary/document format parsing and streaming architectures work without leaning on any external libraries. MIT licensed.
a configurable, fast, and thorough secrets scanner. It is maintained by the folks who made Gitleaks, including the original author.
a native macOS app for managing virtual iPhones - browse, create, and boot iOS research VMs from a single window. Built on Apple’s Virtualization.framework for Apple Silicon.
a pretty and modern terminal file manager written in Go, with customizable themes, plugins, and hotkeys. Works on Linux, macOS, and Windows.
a storage-agnostic, Dropbox-like file manager for your existing storage: FTP, SFTP, S3, SMB, WebDAV, IPFS, and about 20 other protocols. Plugin-driven, so backends, auth, and file viewers are all swappable. Written in Go, AGPL-3.0 licensed.
a free, open-source screenshot and screen recording app for macOS - a native alternative to paid tools like CleanShot X. Area/window/fullscreen capture, video and GIF recording with webcam picture-in-picture, annotations, OCR, and screenshot history, with no paywall. Built with Swift 6 and SwiftUI.
a free macOS menu bar app that tells you what your USB-C cable can actually do - speed, power capability, and display support - based on what your Mac really detects, not what the packaging claims. Great for figuring out why a cable charges slowly or won’t drive your monitor. For Apple Silicon Macs on macOS 14+, with a CLI for scripting.
a GitHub-powered Android app store. It discovers public repositories with installable APK releases and lets you browse, install, and update them through a Play Store-style Material 3 interface.
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