A Button That Sends Command+Shift+3
🌍 Dev.to

A Button That Sends Command+Shift+3

My iPad lives on a stand most of the day. Videos, presentations, docs, whatever the work needs. That is fine until I want a capture of whatever is on the screen. Taking the tablet off the stand for a few seconds sounds trivial, but it breaks the layout, moves the camera angle if I am recording, and usually means I lose the exact frame I meant to keep. Apple already has a hardware shortcut for this. Power plus volume works. It also means lifting or reaching for the iPad, finding the buttons...
Cloudflare Email Worker inbox: store every message in D1 in 30 lines
🌍 Dev.to

Cloudflare Email Worker inbox: store every message in D1 in 30 lines

Originally published at guushu.com/notes . I keep the original updated, so this copy may lag. Email Routing forwards a message and keeps nothing. If you want a copy you can search later, point the routing rule at a Worker, write the message to D1, and forward it on. That's a Cloudflare Email Worker inbox, about 30 lines of TypeScript. Three self-hosted projects already ship that shape, two open source and one source-available. Below are the handler, the schema, the wrangler side, and tho...
Why 24/7 Markets Need 24/7 Intelligence
🌍 Dev.to

Why 24/7 Markets Need 24/7 Intelligence

Building AI-driven systems for financial markets that never stop Traditional financial infrastructure was designed around trading sessions. Markets opened. Markets closed. Data was analyzed, risk was assessed, portfolios were reviewed, and decisions were made within relatively predictable time windows. Digital assets changed this architecture. Crypto markets operate 24 hours a day, 7 days a week . There is no closing bell. While one region sleeps, another is active. Liquidity...
Your thresholds do not belong in constants
🌍 Dev.to

Your thresholds do not belong in constants

Every tuning change needed a code review, a release, and a week of store rollout. So we stopped tuning, which is the worst possible outcome. Eighteen guesses in a const val Our location pipeline accumulated roughly eighteen numbers that shaped its behaviour: speed band boundaries (walking, cycling, driving) a minimum displacement gate for each band a stationary speed and jitter threshold a rolling history window size and its movement threshold a hard te...
RecallOps: Using Hindsight to Recall Past Production Incidents
🌍 Dev.to

RecallOps: Using Hindsight to Recall Past Production Incidents

Introduction Every on-call engineer has had the same feeling: an alert fires, the symptoms look familiar, and you can't remember where you saw them before. Somebody fixed this months ago, but the fix lives in a closed ticket, a Slack thread, or one person's head. I built RecallOps, an AI incident-response copilot, around that problem. It keeps a persistent record of past incidents (root causes, resolutions, outcomes, and engineer feedback) and retrieves the relevant ones when a new incide...
🌍 Dev.to

Scraping YouTube transcripts at scale for RAG (and the 3 things that break it)

If you are building a RAG or agent pipeline over video, the transcript is the payload. Titles and descriptions are thin; a 40-minute talk is thousands of tokens of dense, quotable prose. The good news is that YouTube already exposes that prose as captions. The bad news is that pulling captions for videos you do not own, at batch scale, is where most naive pipelines fall over. This post walks through the source-of-truth question, the official-API dead end, a working Python path into a vector stor...
Railway database deleted by an AI agent: the PocketOS postmortem
🌍 Dev.to

Railway database deleted by an AI agent: the PocketOS postmortem

On Friday, April 24, 2026, an AI coding agent deleted the production Railway database of PocketOS, a car-rental software company, together with every volume backup, in one API call that took nine seconds. The agent was Cursor running Claude Opus 4.6; nobody asked it to delete anything. If your agent can read a file with an API token in it, this postmortem is about your setup too, because the model was the least interesting cause. TL;DR A Cursor agent on a routine stag...
🌍 Dev.to

Two spreadsheet parsers, and only the richer one is kept

School and employee transport operators do not send you a schema. They send the workbook the school or the factory already had. The column titles are whatever that office typed. Sometimes there is no header row. Sometimes the student list, the school address, and the vehicle list are three different sheets. We used to solve this by asking the operator to rebuild the file into a template. That failed on the morning a shift list arrived half an hour before the buses left. There was no time to r...
🌍 Dev.to

Building a flight search that checks multiple airports at once

When I started working on Caelvo, one of the first problems I wanted to solve was something I had myself many times. I live in Slovenia. When I search for a flight, Ljubljana is not my only option. I can also drive to Zagreb, Graz, Vienna or Trieste. Depending on the destination, sometimes another airport is much cheaper. The normal way is to open a flight search and try them one by one. GRZ → PMI ZAG → PMI LJU → PMI VIE → PMI Then maybe change the dates and do it again. I...
HackerNews

There is more to code review than (automatable) detection

Article URL: https://www.adaptivecapacitylabs.com/2026/08/24/there-is-more-to-code-review-than-automatable-detection/ Comments URL: https://news.ycombinator.com/item?id=49857281 Points: 123 # Comments: 66
HackerNews

Packing Binary Is Fun

Article URL: https://hereticpleb.vercel.app/blog/packing-binary-is-fun-actually Comments URL: https://news.ycombinator.com/item?id=49872541 Points: 10 # Comments: 2
🌍 Dev.to

Pipelines distribuidos y desacoplados: Registro remoto de workers en wpipe

Pipelines distribuidos y desacoplados: Registro remoto de workers en wpipe Construir pipelines de datos que escalen en múltiples servidores o contenedores efímeros suele generar arquitecturas frágiles y acopladas. Cuando los flujos se ejecutan de forma aislada en nodos edge o workers batch, coordinar y monitorizar su ciclo de vida de forma centralizada requiere un protocolo de registro robusto con tolerancia a desconexión local. Con wpipe , la coordinación distribuida está integrada en e...
🌍 Dev.to

Feeding the OLAP beast: ClickHouse massive bulk ingestion steps.

Feeding the OLAP beast: ClickHouse massive bulk ingestion steps. ClickHouse is a columnar beast, but treating it like MySQL by inserting row-by-row will bring your cluster to its knees. ClickHouseBulkStep packages optimal bulk buffering into a reusable step. Here is how you use ClickHouseBulkStep & OLAP Pipelines in a production pipeline with wpipe-steps : from wpipe import Pipeline from wpipe_steps.database import ClickHouseBulkStep pipeline = Pipelin...
🌍 Dev.to

AI Made Me Write Less Code — and Think More About Engineering

What I learned building and deploying a full-stack application with AI-assisted development, from the first specification to HTTPS on a GCP VM. I had been tracking my workouts in Google Sheets for quite some time. It worked. But eventually I started thinking: why am I still maintaining a spreadsheet for something this simple? I had wanted to build a small workout tracker for a while, but there was one thing holding me back: frontend development isn't my strongest area . So I d...
🌍 Dev.to

Hyper-efficient Cardinality Estimation: Redis HyperLogLog in Production with wredis

Hyper-efficient Cardinality Estimation: Redis HyperLogLog in Production with wredis Counting unique elements across millions of daily active users, IP addresses, or IoT telemetry events in a traditional relational database or standard Redis Set quickly consumes gigabytes of memory. A Redis Set storing 100 million UUIDs requires several gigabytes of RAM. In contrast, Redis HyperLogLog (HLL) uses a probabilistic counting algorithm that bounds memory consumption to a constant ~12 KB per...
🌍 Dev.to

Estimación de cardinalidad hiper-eficiente: Redis HyperLogLog en producción con wredis

Estimación de cardinalidad hiper-eficiente: Redis HyperLogLog en producción con wredis Contar elementos únicos en millones de usuarios activos diarios, direcciones IP o eventos telemétricos IoT en una base de datos relacional tradicional o en un Set estándar de Redis agota rápidamente la memoria RAM disponible. Un Set en Redis almacenando 100 millones de UUIDs requiere varios gigabytes de RAM. En contraste, Redis HyperLogLog (HLL) implementa un algoritmo de estimación probabilística que...
🌍 Dev.to

PDF, ZIP and binary files streaming over Kafka with names intact.

PDF, ZIP and binary files streaming over Kafka with names intact. Day 07 of the WKafka Open-Source Engineering Series. Don't provision a cloud bucket when all you need is sending small PDFs and ZIPs down your pipeline. WKafka supports format='file' out of the box. The Pain Points We Faced Building S3/MinIO upload/download pipelines just to move 500KB report files Lost original filenames and mime-types when converting files to raw bytes High latency polling for cl...
🌍 Dev.to

Archivos PDF, ZIP y binarios viajando en Kafka con nombre intacto.

Archivos PDF, ZIP y binarios viajando en Kafka con nombre intacto. Día 07 de la serie técnica WKafka Open Source. No aprovisiones un bucket en la nube cuando lo único que necesitas es enviar PDFs o ZIPs en tu pipeline. WKafka soporta format='file' de forma nativa. Los Problemas Reales Montar pipelines de subida/bajada en S3/MinIO para mover un reporte de 500KB Pérdida de nombres de archivo y extensiones al convertir ficheros a bytes Latencias altas esperando la p...
🌍 Dev.to

Seguridad no bloqueante: Gestión asíncrona de secretos con asyncio.

Seguridad no bloqueante: Gestión asíncrona de secretos con asyncio. Las llamadas síncronas de base de datos y criptografía son los asesinos silenciosos de la concurrencia en FastAPI. wauth ofrece async_set, async_get y async_valid nativos para mantener tu event loop al máximo. Esta es la implementación exacta para producción de Asynchronous API (async_set, async_get, async_valid) : import asyncio from wauth import WAuth auth = WAuth () async def authenti...
🌍 Dev.to

Defend your endorsement nodes: Token-bucket rate limiting for Fabric.

Defend your endorsement nodes: Token-bucket rate limiting for Fabric. Day 07 of the wFabricSecurity Open-Source Engineering Series. ECDSA signature verification is computationally expensive. Flooding an endorsement node will bring it to its knees. wFabricSecurity defends your cluster with token-bucket rate limiting. The Pain Points We Faced A rogue or looping worker overwhelming endorsement peers with thousands of signature requests Cryptographic CPU exhaustion fro...
🌍 Dev.to

Defiende tus nodos de endoso: Rate limiting token-bucket para Fabric.

Defiende tus nodos de endoso: Rate limiting token-bucket para Fabric. Día 07 de la serie técnica wFabricSecurity Open Source. Verificar firmas ECDSA es costoso en CPU. Saturar un peer de endoso tumbará el nodo. wFabricSecurity defiende tu clúster con rate limiting token-bucket. Los Problemas Reales Un worker en bucle saturando peers de endoso con miles de peticiones de firma Agotamiento de CPU en nodos criptográficos al verificar firmas ECDSA sin límite Transacci...
🌍 Dev.to

True upserts in an append-only world: ReplacingMergeTree and FINAL.

True upserts in an append-only world: ReplacingMergeTree and FINAL. Day 07 of the WClickHouse Open-Source Engineering Series. You don't need slow SQL UPDATE statements to maintain current state in ClickHouse. WClickHouse harnesses ReplacingMergeTree for lightning-fast upserts. The Pain Points We Faced Attempting expensive UPDATE mutations on billions of ClickHouse rows Dealing with duplicate state updates in streaming event pipelines Slow analytical queries retur...
🌍 Dev.to

Upserts reales en un mundo append-only: ReplacingMergeTree y FINAL.

Upserts reales en un mundo append-only: ReplacingMergeTree y FINAL. Día 07 de la serie técnica WClickHouse Open Source. No necesitas sentencias UPDATE lentas para mantener el estado actual en ClickHouse. WClickHouse aprovecha ReplacingMergeTree para upserts ultrarrápidos. Los Problemas Reales Intentar mutaciones UPDATE pesadas en miles de millones de filas Lidiar con estados duplicados en pipelines de eventos en streaming Consultas analíticas lentas que devuelven...