Programming
The latest Programming headlines, aggregated and deduped from public feeds across the web. See the sources.
The latest Programming headlines, aggregated and deduped from public feeds across the web. See the sources.
The fastest way to build an AI astrology feature is obvious: send chart data to a language model and ask for a profile. The result may read well, but several engineering questions immediately become harder. Can the same input reproduce the same judgment? Can a sentence on screen be traced back to a calculated condition? Can an editor repair an explanation without silently changing the matcher? Can a model update change prose while leaving the product's labels untouched? AETHERCORE operates Genes
Sara Fischer / Axios: Sources: TikTok rejects ads from Meta that call on TikTok and other platforms to join Meta in settling with US state AGs in a landmark child safety lawsuit — TikTok has rejected ads from Meta that call on TikTok and other tech platforms to join Meta in settling with U.S. state attorneys general …
“It breaks sometimes on Windows” may describe a real defect, but it does not give a maintainer a testable starting point. The useful transformation is small: turn the report into one trigger, one command, one literal expected result, and one captured actual result. This article shows a compact workflow that works with a human maintainer or a coding agent. It does not require uploading source code or diagnostic data to a third-party service. Start with facts that another person can rerun: Trigger
In the previous article, I wrote about treating AI development rules as something that needed regression testing too. AIDD Skeleton is my open-source repository template for governing AI-assisted development through repository-level rules. That led to another question: If an external reviewer finds a problem, how much of the response should the implementation agent handle on its own? I did not want every review cycle to become: review ↓ finding ↓ human: "fix this" ↓ review again ↓ human: "check
Tiffany Hsu / New York Times: MIT launches the LLM Election Observatory, a dashboard tracking how nearly a dozen AI models tailor responses to political queries during the 2026 US midterms — Artificial intelligence is quickly becoming a go-to stop for voters looking for information about political races. Researchers are studying the effects.
Cloud platforms distribute workloads across Availability Zones (AZs) by default, for resilience. But cross-AZ traffic, replicated storage, and unnecessary spread of stateless and stateful workloads generate ongoing charges. Cross-AZ charges typically originate from: Application pods talking to a StatefulSet (database, queue, cache, search index) in a different AZ EBS/PD-backed volumes located in a different AZ from the pods that use them Chatty internal APIs crossing AZ boundaries at high volume
T-Mobile: Get iPhone 18 Pro on Us at T-Mobile — America's Best Network — Only T-Mobile customers get the latest iPhone lineup — including iPhone Duo, iPhone 18 Pro and iPhone 18 Pro Max — with the best benefits in wireless, 5G Advanced capabilities for faster speeds and EIP Flex 36, a path to a new iPhone with $0 out-of-pocket upfront
I got tired of the standard RAG demo that only works on one PDF and falls apart the moment you throw anything more complex at it. OmniRAG is what I built to fix that . It handles PDFs, images, codebases, audio, and video — all in the same pipeline. You upload your files, ask questions, and get answers with citations that tell you exactly where each piece of information came from. The part I spent the most time on is the search layer. Most RAG systems use pure vector search, which works okay but
Sales research is mostly reading. You land on a company's website, click around the homepage, the about page, the product pages, and try to answer a few boring but essential questions: what does this company actually do, who is their customer, are they a fit for what I sell, and who should I email. Then you write the email. Then you do it again for the next company, and the next, until the tab count is a personal insult. I built SignalizeAI to collapse that loop. It is a browser extension, shipp
Aditya Kalra / Reuters: Official doc: India's Serious Fraud Office urges the government to probe Xiaomi over alleged business model irregularities and foreign investment law violations — India's Serious Fraud Office has recommended Xiaomi be investigated for alleged irregularities in its business model and compliance …
Writing code is only one part of software development. As developers gain experience, the focus often shifts from simply making something work to understanding why it should be built, how it will be maintained, and what impact it will have. A few things that make a real difference: Understand the problem first Before choosing a framework or writing code, understand the actual problem you're trying to solve. Think beyond the current feature Code that works today may become difficult to maintain s
Jeff Mason / Bloomberg: President Trump rejects warnings of AI-driven human extinction, saying the US leads China by a year and will be “in a very bad position” if it doesn't win in AI — President Donald Trump brushed aside warnings from artificial intelligence researchers that the technology is becoming …
Cypher is easy to read and surprisingly easy to write badly. The syntax is so close to plain English that your first few queries work, and then one of them quietly returns 40,000 rows because you matched two unrelated patterns in the same clause. These are the five patterns I keep coming back to when the graph is backing an agent's memory. Nothing exotic — just the ones that saved me the most time. All of them run on any Bolt/Cypher endpoint. Agents re-observe the same facts constantly. The same
Ann Cao / South China Morning Post: Tencent-backed AI chipmaker Enflame's shares surged 188% in their Shanghai debut, giving Enflame a market cap of $26.3B, after raising ~$910M in an IPO — The Tencent-backed company sees share price surge, highlighting Enflame's role in Beijing's push for domestic chips amid US export restrictions
AI coding tools have made it easy to go from an idea to working code. You describe what you want, send the prompt, and a few moments later you have files, components, logic, and sometimes an entire working app. That speed is great until the prompt leaves something important unsaid. Maybe the requirement is too vague. Maybe nobody mentioned how the feature should be verified. Maybe an existing behavior needs to stay intact. Maybe the change sounds small but has consequences that are easy to miss.
Christian Terry / Click2Houston.com: A US judge finds TikTok liable for lying about its safety standards and exposing minors to inappropriate content, in a 2025 lawsuit filed by Texas AG Ken Paxton — State will now proceed to trial to determine relief and penalties — AUSTIN, Texas - A U.S. District Judge has found TikTok liable …
I was on-call for a service once and got paged at 2am for a Kubernetes cluster that was falling apart in three different ways simultaneously. I spent 45 minutes running kubectl commands to understand what was happening before I could even start fixing it. InfraOS AI is my answer to that problem . It's a DevOps operations platform that connects to your Kubernetes cluster, pulls in everything that's happening — pods, deployments, resource usage, events, Prometheus metrics — and gives you an AI lay
Wall Street Journal: Sources: Kalshi plans to seek US regulatory approval to start offering single-stock perpetual futures; Coinbase filed similar regulatory paperwork last week — Platform known for prediction markets has seen perpetual futures surge in popularity — A risky type of trade that has exploded …
Most retrieval stacks start with a vector index, and for good reason: "find me things that look like this" is the single most common question an agent asks. But a meaningful slice of agent questions aren't about similarity at all. They're about connection — what depends on this, who touched it, how did we get from A to B. Cosine distance has no concept of an edge, so it cannot answer those. A relational store can, but you pay for it with a join per relationship type and a recursive CTE tuned per
Mark Spoonauer / Tom's Guide: An interview with Apple CEO John Ternus and Greg Joswiak on making the iPhone Duo, minimizing the crease, uninspiring Android foldables, the price, and more — 'I was like, yes, that's it...this is what I want' — Apple's first foldable phone is finally coming in the iPhone Duo …
Have you ever wanted a Jarvis? Not a toy demo, but something that actually controls your computer, understands what you're asking, and takes action? That's exactly what I built with NexusOS NexusOS is an AI-powered operating environment that runs locally. You say "Hey Nexus", it wakes up, listens, figures out what you want, and does it. Open Chrome, search for something, move files around, run a script, or control your smart home devices — all through voice or text, without touching the keyboard
Elias Schisgall / Wall Street Journal: Adobe says it hit 1B MAUs, with freemium MAUs surpassing 100M in Q3, up 70%+ YoY, as it increasingly focuses on expanding its freemium AI offerings — The software company's profit and revenue rose in the third quarter — Adobe lifted its full-year guidance and said it hit …
In discussions around AI-assisted programming with LLMs, I often see two opposing camps. And since the release of Astra, it's become even more obvious... On one hand, there's the idea that code is becoming just an implementation detail: you write the specs, add some tests, and let the models do the heavy lifting. On the other hand, some argue we still need to scrutinize every single line, or even avoid these tools entirely to keep true mastery over our software. I might be forcing the trait a bi
A model can advertise a 128K context window and still fail at 40K tokens on a 16 GB GPU. The architecture ceiling never promised that weights, KV cache, compute buffers, and the desktop compositor would fit on your card at the same time. The KV cache is usually where long-context plans meet that physical limit. It grows with every active token and sequence, so a configuration that looks comfortable at startup can slow sharply, spill into system memory, or fail during a large prefill. This guide
Bloomberg: Sources: Sam Altman told OpenAI employees that the company is considering slowing cutting-edge AI development, and he hopes other AI companies will do the same — OpenAI is considering slowing down the development of cutting-edge artificial intelligence, and the ChatGPT maker's Chief Executive …
Meet Responsive Studio — a Chrome extension for testing websites across 50+ real-world device screen sizes instantly. 📱 Phones • Tablets • 💻 Laptops • 🖥️ Desktops Pick a device, preview your website, and spot responsive issues without constantly resizing your browser. 🔗 Open source: https://github.com/Muhammad9985/responsive-studio-extension More devices and features coming soon! 🚀
Maxwell Zeff / Wired: Sources: OpenAI asked members of Congress for guidance on whether orchestrating an industry-wide slowdown in AI development would be legal under antitrust law — Substantive coordination on safety between AI labs may risk running afoul of antitrust law, the people say …
We want to host a nice and secure container registry - to push docker images there and our kubernetes cluster would pull them from this registry. Part of Developer Tools: The Complete Guide to Modern Development Workflows 1) Gitea already has container registry Unfortunately registry in kubernetes cluster created by kubespray doesn't work for me. to push into it we need to create temporary tunnel via kube-proxy after pushing into it mu current version of new cluster could not pull images from th
Il problema: due campi vanno bene, tre iniziano a far male Chi ha scritto anche solo una TUI con Ratatui conosce la progressione. Il primo input è banale: uno String nello stato dell'app, un match sugli eventi tastiera per gestire inserimento e cancellazione, un widget Paragraph per disegnarlo. Forse solo cinque minuti di lavoro. Il secondo campo si scrive praticamente per copia-incolla del primo. Funziona ancora, ma qualcosa inizia a scricchiolare: ora serve anche capire quale dei due campi ha
User bought some stock but the network is slow. There is no immediate feedback, so out of frustration, they tap the Buy button several times. A few seconds later, multiple orders are matched. Have you ever got into this situation? Disabling the button in the UI helps, but it isn't guarantee. UI state changes happen on main thread and depend on when the run loops get a chance to process them. If the main thread is busy, multiple tap events may be handled before the UI visibly transitions into its
For a long time I was annoyed by that watermark. Every KMS tool I tried gave me 185 days, then the "Activate Windows" message came back. I wanted to patch it to be permanent. Then I actually understood how it works. 1. What KMS really is? 2. Why exactly 180/185 days? slmgr /dlv. So any tool giving you 185 days is just emulating a fake KMS server. It's not broken, it's doing exactly what Microsoft designed. 3. The watermark is annoying but not blocking Personalization (wallpaper, colors) Some set
Algolia pricing trips up a lot of Next.js teams the same way: the free tier feels generous until you hit a hidden ceiling and suddenly you're looking at a non-trivial monthly bill. This post breaks down every cost lever in Algolia's current plans — records, searches, replicas, AI features — so you can budget accurately before you're locked in. Algolia bills on three axes: records (the objects you index), search operations (API calls that query the index), and features (NLP, AI re-ranking, person
Believe it or not, it's harder to be a software engineer in 2026 than it was five or ten years ago. I'm not talking about getting a job as a software engineer. I'm talking about being a software engineer. Let's assume you already got the job and you are a programmer. It is harder in 2026 than it was five or ten years ago, and the reason is very simple: the expected throughput of a software engineer is ridiculous. It's actually ridiculous. You are expected to spend less than one day on one ticket
Minutes and tokens per iteration - and why an expensive one is a defect of the text, not of the executor. 👋 I'm Anton - a software engineer working mostly in PHP/Symfony and Go, currently carving a live PHP monolith into Go services. Earlier parts of this series were about how small a unit of work has to get and what has to be written into it; this part is the invoice for that unit - what one iteration actually costs in minutes and in tokens, and how I read those numbers. Notes: github.com/bril
Cold start is where React Native apps feel honest. Users do not care that your feature flag system is elegant if the first screen takes three seconds to paint. This is the checklist I use when a React Native app feels slow on mid-range Android. It is deliberately short. Most “performance programs” die because they measure everything and change nothing. Pick a mid-range Android device (or an emulator profile that matches one). Time the path from process start to first interactive screen — usually
Hi, im new here. I write a Picture Site with NodeJS and ReactJS. I have 2 Nodes. First Server, second Client. On the server, I retrieve the information from the database via the client. Lately, I’ve been having a bit of trouble grasping how to retrieve and process data. module.exports = function (app, db) { const ut = require("./utils"); /* GET PROFILE DATA */ app.get("/account/:userID", async (req, res) => { var userID = req.params.userID; // Get User-Hash from Client db.query( "SELECT * " + "F
A handful of endpoints, all of them read-only by contract, category listings, product lookups, dashboard summaries, were annotated with plain @Transactional, missing the readOnly = true attribute. They worked and they returned the correct data. Nothing about their behavior looked wrong in any functional test. But without that attribute, Hibernate treated every one of those calls as a potential write, It tracked every loaded entity for dirty checking, it ran a flush at the end of the transaction
I wanted a small answer to a practical question: can two topic-specific LoRA adapters improve The experiment used two specialists, guitar and sourdough. The base model and each adapter guitar-ppl sourdough-ppl base 18.2 19.4 lora-guitar 11.3 15.4 lora-sourdough 13.7 12.2 The intended effect is visible: each adapter is best on its own topic. The cross-topic numbers lora-guitar improves sourdough over base, but not nearly as much lora-sourdough behaves symmetrically. That is a narrower claim than
I train a lot, and with AI's help I built a small app that pulls my Garmin and Strava data and helps me structure my training around it. Made me curious what else people are building. What's something you've put together recently with AI's help, big or small?
Building an AI-Powered Multiplayer Quiz Platform Without a Traditional Backend How I built MindArena using React, Supabase, n8n, and AI workflows. When I started building MindArena, I thought I was creating a simple AI quiz generator. The idea was straightforward. Users choose a topic, difficulty, and number of questions, and AI generates a quiz. But then I thought: What if quizzes could be competitive too? That small idea slowly turned into something much bigger. MindArena became an AI-powered
Starting a business alone looks exciting from the outside. You have an idea, you build something, launch it, and imagine that the hardest part is behind you. You do not have a boss, you can choose what to work on, and you can move as quickly as you want. Then a few weeks pass. The excitement of starting something new disappears, and the real work begins. There is no team waiting for you to finish a feature. There is no manager asking about progress. There may not even be customers yet. You have
Travel logistics look simple until one missing field breaks the plan. A destination such as “Shenzhen” is not enough for a driver, dispatcher, or booking form. The useful design problem is to turn a human request into structured data that can be validated before a vehicle is assigned. This post uses a Hong Kong Airport to Shenzhen or Dongguan transfer as a practical example. CrossBorderHK operates the referenced service; this is an engineering-oriented adaptation, not a neutral price comparison.
CVE ID CVE-2026-12243 Affects NLTK (Natural Language Toolkit) ≤ 3.9.4 Weakness CWE-22 (Path Traversal) CVSS 3.1 7.5 High — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N Root cause Percent-encoding bypasses path validation — a classic decode-after-check bug Impact Arbitrary file read Fixed in 3.10.0 Backstory An earlier fix for GitHub Issue #3504 turned out to be incomplete NLTK is one of the most widely used NLP libraries in the Python ecosystem, and nltk.data.load() / nltk.data.find() sit on the hot path
What is a Content Delivery Network? A Content Delivery Network (CDN) is a globally distributed group of servers strategically positioned to deliver internet content quickly and securely. By storing duplicate copies of a website's static assets—such as images, video files, stylesheets, and JavaScript scripts—on servers located closer to end-users, it minimizes the physical distance data must travel. This specialized infrastructure acts as an intermediate courier network, handling user requests lo
I deleted a working function today. It ran. It was clean. It was better written than the version in my head. I deleted it because it solved the problem the way that problem is usually solved, and I am not building a usual thing. That sounds arrogant. AI knows more than me about almost everything you could name out loud. Syntax I’ve never touched. Tests I’d forget to write. The name of the algorithm I keep reinventing badly at one in the morning. Ask it anything with a documented answer and it be
A site owner posted on the WordPress forums that their CF7 to Google Sheets integration was dropping about a third of submissions. Email notifications were being sent. The submission was saved in the form plugin's database. But one in three never made it to the spreadsheet. Another user confirmed the same pattern. A third user said it had worked perfectly for months and then started failing. The GSheetConnector support team's reply: "There is a Google API limit of 300 requests per minute, and ou
Have you ever wanted to just talk to a PDF instead of reading through 50 pages? I built a full PDF Chat API in one day — upload any PDF, ask questions in natural language, and get AI-powered answers. Here's how I did it. Upload any PDF document Ask questions about its content in natural language Get accurate answers powered by RAG (Retrieval Augmented Generation) Clean web UI included — no frontend framework needed REST API with authentication for easy integration FastAPI — REST API backend Goog
Who's Liable When an Agent Signs the Contract? An agent negotiates terms, accepts a vendor's quote, and commits its principal to a purchase order, all without a human reading the final wording before it went out. Ask "who's liable if that contract turns out to be bad" and the instinctive answer — "well, the agent did it" — isn't actually an answer, because an agent isn't a legal person and can't hold liability in the first place. Every jurisdiction that's looked at this so far agrees on that muc
I collect tools the way some people collect keyboards, and image compressors have been a long-running category in that collection. This is not a benchmark of ratios, because on the same JPEG the popular tools land within a few percent of each other and the differences drown in the quality slider. It is a feature-by-feature walk through five of them, written for the moment when you already know you need to compress something and want to know which one will not stop you halfway. Where it runs. Tin
Last week I made the case for measuring whether your routing actually works — comparing output distributions per route, computing cost per successful task instead of per token, versioning the harness. If you did that, you've already beaten most teams. But even teams that route correctly are usually routing at the wrong granularity. The decision they make is "is this request hard?" — and then the whole request goes to frontier or to cheap. The request is the wrong unit. A recent write-up describe
Valkey 9.0 added the ability to put a TTL on a single field inside a hash, rather than on the whole key. Valkey 9.1 followed up with HSETEX, which sets a field and its expiry in one round trip. The example in Valkey's own blog post is a per-user auth token: HSETEX user:123 EX 900 FIELDS 1 auth_token "eyJhbGciOiJ..." That reads like a drop-in replacement for SET user:123:auth_token "..." EX 900. I ran both patterns against 20,000 keys and measured memory with INFO memory. The hash version used th
Why AI gets export paperwork wrong (and how I fixed it) If you've ever tried using Claude or any AI tool to generate an export invoice or help with international tax rules, you've probably noticed it almost always defaults to US Customs, CBP forms, and EIN numbers. If you're exporting goods or software services from India, the UK, Europe, or the UAE, that's practically useless. In India especially, small mistakes with GST export rules (like LUT filings, ICEGATE shipping bills, or Rule 96(10) dut
🚀 Nimmake — The Blazing-Fast Build Tool Built for Embedded Development Say goodbye to complex Makefiles. Embrace a modern MCU build experience. Nimmake is a lightweight, cross-platform build tool deeply optimized for ARM and RISC-V architectures. A Python-powered build system for MCU firmware development, it lets you effortlessly compile C/C++ source code for ARM, RISC-V, and a wide range of mainstream microcontrollers. Built-in extensive MCU and toolchain configurations automatically generate
“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” — Brian Kernighan We’ve all been there. You open a pull request, high on caffeine, and drop a 4-line nested ternary operation wrapped in an array reduce function that performs an O(n) lookup in milliseconds. It works. It's performant. It looks like black magic. And three months later, you stare at it at 3:00 AM during
I ship client sites fast on a simple free-tier stack: Next.js for the app, Supabase for database/auth/storage (a real Postgres database with a generous free tier — 500MB DB, 1GB storage, 50K monthly active users — instead of hand-rolling my own server and auth system), and Vercel for git-push deploys with automatic preview URLs I send straight to clients for review; the one thing most "free-tier stack" posts skip is that Vercel's Hobby plan is licensed for non-commercial use only, so I build and
A throwaway address shows up in your signup form. Someone wants the free tier, the download, or the trial, and they have no intention of reading a single email you send. You only find out later, when your open rates sink and your bounce complaints climb. The fix most teams reach for first is manual review. A human scans the address, guesses whether it looks temporary, and decides. That approach does not survive contact with real traffic. This is the disposable email domain problem. A disposable
Two terms get used as if they mean the same thing: MX lookup and SMTP verification. They do not. Picking the wrong one, or expecting one to do the job of the other, is how teams end up rejecting good customers or trusting bad addresses. The distinction is narrower than the marketing copy suggests. An MX (mail exchanger) record tells the world which mail servers accept mail for a domain. Looking it up is a DNS query. If a domain has MX records, mail can, in principle, be delivered to it. If it ha
A catch-all domain is one whose mail server accepts messages for every address at the domain, whether or not the local part was ever created. Send to [email protected], [email protected], or [email protected], and the server takes the mail. The mailbox may or may not be read by anyone. The server does not say. This is a legitimate configuration. Small companies turn it on so they never miss a typo'd address, and it is common among firms that route everything to one inbox or to a ticketing
The user types their address, hits submit, and walks away. They meant [email protected]. What they submitted was [email protected]. The form accepts it, because gmail.co is a syntactically valid domain. The confirmation email sails off to an address no one owns. The user never arrives, never complains, and you never learn why. This is the quiet leak in most signup flows. It is not a bounce you can measure later. It is a silence you never see. The useful case is narrow. The local part, the bit before
Hosted email verification APIs are convenient, but there are reasons to run your own. You might need SMTP probing, which a Cloudflare Worker cannot do because it has no raw TCP. You might have volume that makes per-call pricing awkward, or data rules that keep address checking on your side of the network. The good news is that a basic verifier needs nothing but Node and its standard library. This walkthrough builds one. It checks syntax, flags disposable and free and role addresses, and resolves
The essays on this blog argue, at some length, that a tool's success message is not evidence. The revised your draft and posted a . That is the disclosure and the subject at once. The byline on this account is not a person: the the repo — scripts/mesh-devto-publish, scripts/mesh-devto-comments, scripts/mesh-browse — and the markdown source for six of the docs/, under the title it shipped with. ~/.mesh/chat.log ┐ ┌─ POST → new article git log + commit bodies├─► pub ──► docs/devto-*-draft.md ─┤ (1
Introduction: The Ingestion Layer Is the Real Bottleneck Most teams building Retrieval-Augmented Generation (RAG) systems invest their engineering effort in two places: the LLM and the retrieval layer. They tune prompts, experiment with embedding models, compare vector databases, and benchmark retrieval precision. When the system underperforms in production, they go back to those same two layers and tune again. The failure, in the majority of enterprise RAG deployments, is not there. It is at th
I recently wanted to build a simple business website that looked professional on desktop and mobile without making the project unnecessarily complicated. So I decided to build one from scratch using HTML and Tailwind CSS and deploy it with GitHub Pages. The main goal wasn't to build something revolutionary. I wanted to create something practical that I could reuse as a starting point for future business websites and landing pages. What I wanted to build I wanted the page to have the basic sectio
🚀 Exploring an idea — would love to hear your thoughts! I’ve been thinking about building a platform that can help businesses provide AI-powered customer support using their own business data, documents, policies, product information, and more. But one question I’m currently exploring is not the AI model itself — it’s the architecture and delivery. For a platform that may serve multiple businesses: 🔹 Should we maintain completely separate vector databases for each business? 🔹 Or would a share
I'm building [mongopg-migrate], a tool that migrates MongoDB collections onto an existing Postgres schema you already designed. It's alpha pip install mongopg-migrate, currently v0.2.0. This is a bug from it, the worst one I've hit so far, because every safeguard the tool has fired correctly, and the migration still came out wrong. The tool supports nested arrays (explode:): a Mongo array becomes a child table, and an array inside that array becomes a grandchild table. A field at any level can a
Apple announced the iPhone Duo, its first foldable, on September 10th. Most of the coverage is about the hinge and the $1,999 price tag. I want to talk about something narrower: what the two displays actually measure, and what that does to CSS you have already written. Short version: Folded and unfolded, both displays sit at roughly 1 : 1.42. Not 9 : 19.5. Not close to it. Logical resolution works out to about 466 x 678pt folded and 890 x 626pt unfolded. The web standard for foldables, CSS Viewp
Git's default revert message is useful, but it does not fit nicely into a Conventional Commits history. Given this commit: feat(email): add send tool git revert generates: Revert "feat(email): add send tool" I wanted: revert(email): add send tool So I built conventional-revert-hook. The hook uses Git's prepare-commit-msg hook. It runs after Git prepares a revert message and before the editor opens. Revert "feat(email): add send tool" becomes: revert(email): add send tool It only changes Git-gene
Many All of us are coding with AI these days. There is a lot of momentum; code is being produced at lightning-speed, and at immense scale. While many people get quite excited about the prospect of seemingly endless possibilities this development seems to hold, there’s a lot to unpack here: As much as we’d like to think of coding agents or AI assistants in general as smart, eloquent problem solvers - in the end, they are probability machines. They return the statistically most likely response to
Five silent bottlenecks that turned a 400ms API into a 4.2s crawl No deploys. No schema changes. No new integrations. Just a scheduling and resource-planning SaaS with 40k users watching its p95 response time climb from 400ms to 4.2 seconds over six months. Nobody could point to a cause, because there wasn't one big cause, there were five small ones stacked on top of each other. This is the writeup of how we found and fixed them, without a rearchitecture. Support tickets called the dashboard "la
The problem Small businesses in India often juggle dozens of customer conversations across WhatsApp Business, Instagram Direct, SMS, web‑chat widgets, and email. Each channel has its own interface, notification settings, and sometimes even different formatting rules. When a customer sends a query on one channel, the owner or a team member must switch contexts, log into a new app, and search for the same customer in another system. The result is duplicated effort, delayed responses, and a fractur
I’m currently learning PHP and working on a PHP project. I want to properly manage my source code, track changes, and keep my project backed up online. For a beginner, would you recommend using Git + GitHub, or are there better tools for managing PHP projects? What tools and workflow should I learn first?
When running containerized workloads, every engineering team eventually faces the scaling dilemma: Vanilla Docker / Docker Compose is lightweight, fast, and wonderfully simple to maintain—but it has zero native autoscaling. If your API traffic triples during a flash sale or your AI inference queue spikes, you must manually run docker compose up --scale api=5. Kubernetes (K8s) provides Horizontal Pod Autoscaler (HPA)—but it introduces an overwhelming operational tax: metrics-server, complex CRDs,
Smart Routing: AI-Driven Conversation Flow for India SMBs The Problem Small businesses in India often juggle customer messages across WhatsApp, Instagram, SMS, Web Chat, and Email. Without a single view, agents miss replies, response times balloon, and customers feel ignored. Managing each channel in isolation also forces teams to duplicate effort, leading to inconsistent follow‑ups and revenue leakage. GoSumo’s smart routing feature consolidates all inbound conversations into one AI‑driven inte
A previous post covered building an agentic RAG router over **LLM Zoomcamp* capstone submissions. This series is about moving it off a single EC2 box and onto AWS serverless, where nearly every obvious choice turned out to be wrong, and the most valuable decision was deleting a database rather than migrating it. This part covers the starting point and the resulting architecture; The course on designing and creating a RAG project has concluded. The final project is working as expected. Now it's t
A user of my Safari MCP server — the user was me, from a scheduled run — hit a failure I could not talk my way out of. Right after the background daemon restarted, the server opened a browser tab and handed back a capability token for it. The token is how every later command proves it is allowed to touch that tab, because the whole point of the ownership system is that the server must never act on a tab you opened. Thirty-three seconds later, the very next command was refused: Tab safety: receip
As a beginner in CSS, I was confused between Flexbox and Grid. Both are powerful layout tools, but they solve different problems. Flexbox = One Direction Use Flexbox when you want to arrange items in a row or a column. Example: Navigation bar, buttons, or a row of cards. Grid = Two Dimensions Use Grid when you need both rows and columns. Example: Image gallery, dashboard, or product layout. .container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; } css #webdev #beginners #fr
Introduction: The Problem Before Interceptors Imagine you're building a real-world application. Your API calls need authentication headers on every single request. Your error responses need to refresh expired tokens. Failed requests should retry. Loading states should show spinners. Response times should be logged for debugging. And oh, some requests need to cache their results to avoid hammering the server. Now imagine doing all of that inside every component that makes an API call. You'd be co
Getting 12 testers to opt in for 14 consecutive days is the primary obstacle every personal Android developer account faces when preparing for a production release. Since Google updated the closed testing requirement in December 2024—reducing the required tester count from 20 down to 12—the entry barrier feels more accessible. However, simply getting opt-ins and passive downloads leaves a massive blind spot in your release pipeline. Personal accounts created on or after November 13, 2023 must me
You built the system the way everyone tells you to. Three API servers instead of one, so a crash doesn't take you down. A load balancer in front of them spreading traffic around. Your domain points at the load balancer, the load balancer health-checks the backends, and when one server dies the other two pick up the slack. Textbook. Then at 2 AM the load balancer itself dies. Not a backend. The balancer. Maybe the box lost power, maybe the kernel panicked, maybe HAProxy hit an out-of-memory kill.
Imagine a travel agent answering: Tokyo is rainy today. Choose indoor sightseeing. Did it check the weather first? Or did it return that sentence without calling the weather tool? The final answer looks the same, but the execution paths are different. Checking that path matters. If a prompt should trigger a particular tool and the tool never runs, something has gone wrong before we even judge the answer. Seeing that failure helps identify where the application needs fixing. An agent's trajectory
Originally published on robatdasorvi.com The agent you are about to build should be a for-loop with four if-statements, and the only reason it isn't one is that nobody has ever been given a budget line item for a for-loop. I know your situation. You have a task that involves a language model somewhere in the middle. You have read that agents are the future. You have a diagram with boxes labeled planner, executor, and critic, and the boxes have arrows that loop back on themselves, and it looks li
While learning technology, I often come across two common ways of building a profile: Certifications and projects. Certifications can show that we completed a course or learned a particular technology. Projects are different. They give us an opportunity to actually apply what we learned. For example, learning Python is one thing. Building something with Python is another. Learning about IoT is one thing. Connecting sensors, writing the code, debugging the hardware, and making the system work is
Working with dates and timestamps in JavaScript can be slightly confusing because JS handles time in milliseconds, whereas standard Unix timestamps use seconds. Get Current Timestamp in Milliseconds By default, JavaScript's Date.now() returns the current timestamp in milliseconds:const timestampMs = Date.now(); console.log(timestampMs); // Output: 1726053000000 Get Current Timestamp in Seconds (Standard Unix) To convert it to standard Unix seconds, divide by 1000 and use Math.floor():const times
This post is my submission for DEV Education Track: Build Apps with Google AI Studio. Existing pet lost-and-found groups can move very quickly. Important posts often get buried, making it difficult to keep track of previous records or connect a lost pet with a found one. This gave me the idea to build PetFinder, an AI-powered lost-and-found pet app that helps identify potential matches between lost and found pets by analyzing their photos and information. The main prompt I used to get started wa
The 2026 "developer crisis" is mostly a product of filter bubbles — and the data is the first to contradict it. Getting into the profession as a junior is louder in the warnings, and job boards look emptier at the bottom of the market. Stanford's analysis of US payroll data found entry-level tech postings down by roughly two thirds in one year. But that is the wrong way to look at the numbers. The profile of the entry-level role has changed, not the demand for fresh talent. Tasks that juniors us
Every tutorial about LLM pricing counts calls. You send a request, you get an answer, you multiply. The arithmetic is clean because it assumes something that isn't true: that a call returns an answer. Between 28 June and 10 September 2026 our gateway logged 5,087 chat completions. 622 of them — 12.2% — ended with no answer for the caller. That is not an outage. That is the normal weather of a production LLM client, and nobody puts it in the cost model. Two words before the numbers. A token is ro
Platform Engineering: Die stille Revolution, die DevOps erwachsen werden lässt In der schnelllebigen Welt der Softwareentwicklung ist die Komplexität der größte Feind der Geschwindigkeit. Cloud-native Architekturen, Microservices, Container und eine schier unendliche Auswahl an Tools haben zwar immense Möglichkeiten eröffnet, aber auch eine neue Last auf die Schultern der Entwickler gelegt. Plötzlich müssen sie nicht nur Code schreiben, sondern auch Experten für Kubernetes, Terraform, CI/CD-Pipe
The Quest Begins (The "Why") I was knee‑deep in building a URL shortener for a side‑project. Every time someone clicked a link, the service hit the database with a simple SELECT original_url FROM urls WHERE short_code = ?. At first it felt snappy—sub‑millisecond replies, coffee in hand, victory vibes. Then traffic crept up. A few hundred requests per second turned into a few thousand, and the response time started to look like a loading spinner on a dial‑up modem. I opened the query plan and saw
Determining your website security audit cost is a critical risk-management step for UK enterprises aiming to protect customer databases in 2026. Data breaches expose companies to hefty fines under compliance rules, alongside severe damage to brand reputation. Regular security audits guard your business against automated botnets and malicious exploit attempts. This guide reviews the budgeting layers, scanning methodologies, and consultant rates that make up such an audit. Audit Frequency Tip: For
SQL Joins, Simply Join combines rows from two tables, matched on shared column, usually an id. Example tables: customers orders customer_id | name order_id | customer_id | item Note: customer_id 5 has no match in customers. Carla has no orders. These gaps show what each join does differently. _Inner Join _— only matching rows on both sides. sql Result: Amina's two orders only. Carla and order 103 drop out, no match. Left Join — keeps all rows from left table, matched or not. sql Result: Amina's
After fixing these 2 issues for Focus browser & Firefox iOS, I decided to ask Codex to make me a small demo for these 2 layout guide: blue = safe area layout (safeAreaLayoutGuide) orange = layoutGuide(for: .margins(cornerAdaptation: .horizontal)) (introduced in iOS 26 SDKs) What if we use layoutGuide(for: .margins(cornerAdaptation: .vertical))? It goes right underneath the traffic light. As we can see, safe area layout can help with the notch or home bar but won't help us avoid UI components get
I rented three servers this afternoon, one in Frankfurt, one in New York, one in Singapore. I gave the addresses to nobody. They are not in DNS, not in a certificate, not committed anywhere, not pasted into a chat. The only systems that knew these machines existed were the ones I rented them from. Frankfurt got its first uninvited connection 107 seconds after it booted. Singapore took 48. Over the next three quarters of an hour the three of them logged 3,480 connection attempts from 860 differen
Liquid syntax error: Unknown tag 'endraw'
On our architecture diagram, two systems exchanged data through an integration. In reality there was a third component between them, and it was a workbook on a finance analyst's drive. Her part of the process took about forty minutes each month. Export a file from the first system, open the workbook, refresh a set of lookups, apply a rate, correct a category mapping that the source system had never been configured to produce, and upload the result into the second. She had built it eleven years a
Over one weekend we marked one thousand four hundred orders as paid that had not been paid. Nothing in our logs looked wrong. The gateway responded quickly, our error rate was zero, and the first anyone knew was on Monday when finance reconciled the settlement report against our order table and found a gap with five figures in it. The gateway returns HTTP 200 for a declined card. The body says so, in a field called result with the value REJECTED and a response code of 51 for insufficient funds.
_ DDL and DML, the basics_ I keep seeing these two terms thrown around whenever people talk SQL, so here's what I've picked up about them so far. DDL DDL stands for Data Definition Language. Basically, these are the commands that deal with the structure of a database — the tables themselves, not what's sitting inside them. If you're creating a table, changing its columns, or getting rid of it completely, that's DDL. Say I'm building a small table to track books at a library: sql That's CREATE —
Windows function VS Group by window functions and GROUP BY help you summarize data. But they do it in different ways, and mixing them up leads to confusing results. - GROUP BY squishes many rows into one row per group. - A window function keeps every row, and just adds an extra column next to it. Once you see that difference, it's easy to know which one to reach for. We'll use one simple table the whole way through, so the examples stay easy to follow: students --------------------------- name |
Most status updates answer a question nobody asked. They report what somebody has been busy with. What everyone actually wants to know is whether the thing is going to land, and what has changed since last time. Busy is not a status. It is an alibi. Here is the shape that works, in three lines. Where it stands against the expected finish. What changed since the last update. What you need, from whom, by when. The difference is easy to see. The old version: worked on the reporting export, had some
When integrating n8n-io/n8n (v2.38+) into modern web frontends, a common architecture is using n8n as an autonomous agent orchestrator while serving UI over React 19 and @ai-sdk/react. However, connecting n8n's Webhook streaming node directly to a client typewriter interface exposes subtle protocol mismatches. By default, n8n emits chunked HTTP or standard Server-Sent Events (SSE). If consumed naively in useChat, reverse proxies (Nginx/Cloudflare) buffer chunks until a 4KB boundary is reached, d
Support kept forwarding the same complaint: the site hangs for half a minute, several times a day, usually mid-morning. Every graph we opened was flat. Latency looked fine, error rate looked fine, saturation looked fine, and we spent two weeks quietly suspecting the customers' networks. They were right and our instruments were not. Our scrape interval was sixty seconds, the alert expression used rate(...[5m]), and the alert had for: 5m on top of that. A thirty second period of total saturation,
A page that ranks in Google is not necessarily readable by GPTBot or ClaudeBot. Your robots.txt can allow one crawler and reject another, and JavaScript-only copy can leave a fetcher staring at an empty shell. That means an assistant can name a competitor with a worse product simply because it has more retrievable evidence that the competitor exists. When someone asks an assistant for the best tool in a category, the assistant has to construct a shortlist from material it can retrieve: pages it
The technical side of that morning was one of our better performances. An engineer spotted the failing component within four minutes of the first alert, understood it within ten, and had service restored twenty minutes after the page. By any measure we publish, it was a short outage handled well. The business remembers it as a two hour outage, and they are not being unfair. Nobody told them. The people who could have sent an update were the same people holding the problem, and while you are hold
Somewhere in your system A count in a column A status on the order An email in the profile service Today they agree. They will not agree forever. Drift does not need a bug. It needs one write that lands After that the two numbers The report is unhappy. The customer is unhappy. You find out weeks later So decide who owns the fact. One place holds it. Everything else derives it, A field called total is a claim. A field called cached_total_at_midnight Sometimes you cannot avoid the copy. Two servic
Our integration suite had been green for eleven weeks. That is not a boast, it is the symptom. A colleague onboarding to the repo wrote a deliberately broken test to see what a failure looked like, pushed it, and the pipeline went green in the usual four minutes. The stage was a single shell step, npm run test:integration | tee integration.log || true, and it contains two separate mistakes, both added by people trying to be helpful. The pipe was there so the log could be uploaded as an artifact,
I have 23 audit Actors on the Apify Store. They all do a version of the same thing: take a public record, check whether what it still claims is true, and write the verdict into a dataset. Last week I set out to prove they were unsafe for AI agents to chain together. I had a specific accusation in mind, I built the experiment to demonstrate it, and the experiment refused. What I found instead was a one-line schema fix that I have now applied, and a distinction between two input-schema settings th
Originally published at deepu.tech. When the whole AI coding frenzy started, I was still skeptical. Like most tech enthusiasts, I tried it but wasn't that impressed by the models' coding capabilities back then. I still used them, but mostly as an autocomplete tool in VS Code. This all changed for me with Opus 4.6 on Claude Code. That was the first time I felt like the model was actually more efficient and smarter than me at coding most of the time. Of course it still needed some hand holding and
Every morning a script checks my site's health and emails me. One of its lines, for six days running: Fine. Sitemap index lists 54 child sitemaps holding 6,240 URLs in total, robots.txt points at it, and every page earning impressions answers 200. For those six days, this was my robots.txt: User-agent: * Allow: / Sitemap: https://utilorax.com/?sitemapindex.xml Sitemap: https://utilorax.com/?sitemap249.xml Sitemap: https://utilorax.com/?sitemap476.xml Sitemap: https://utilorax.com/?sitemap531.xml
Vue has no shortage of icon sets. Carets and chevrons come in every pack. Geography is the thin part of the shelf: where a set covers countries at all, it usually means flag squares rather than map shapes. GeoIcons ships country, area, and subdivision icons as individual Vue 3 components, 799 of them at the time of writing. Adding one takes three steps: install the package, import the icon by its country name, and render it. npm i @geoicons/vue <script setup lang="ts"> import { UnitedStates, Fra
I built a React app from scratch once. I don't recommend it. A few years ago I started a side project with nothing but create-react-app and a lot of confidence. Two weeks in, I had: Hand-rolled a router using window.history and a switch statement Written my own "smart" fetch wrapper with loading/error states copy-pasted into every component No idea how I was going to make the homepage load fast, because everything rendered on the client None of that is React's fault. React never promised to solv
I Asked My AI Assistant to Automate Our Dev Marketing. Here Are the Mistakes It Made. Over the last 48 hours, while building out automated data scrapers on our cloud servers, I conducted an experiment: I asked my AI coding agent to help design and automate our technical marketing and build-in-public pipeline. If you read LinkedIn or Twitter, you would think AI agents can autonomously run your company's marketing on autopilot. Here is the unvarnished reality of the mistakes my AI made, the blind
I have about thirty Actors on the Apify Store. Making one of them available to an AI agent through the Apify MCP server took me two minutes: add ?actors=lergassy/jobs-api to the server URL and the Actor shows up as a tool. That part is a footnote. The useful part was what came back. I spent an afternoon calling my own Actor the way an agent calls it — raw JSON-RPC over the wire, no client in between — and logging every response. Four things surprised me, and three of them changed how I write inp
Last time I wrote about picking out and reaping only the "orphaned Chrome" processes. This time it's the monitoring script sitting right next to it, mem-hog-guard.sh. It could detect the problem just fine, but had no permission to kill anything, so all it ever did was send a notification. Here's how I handed it that permission in a way that's verified at every step, instead of in a form where one typo locks me out of sudo entirely. The header comment of mem-hog-guard.sh records how this started.
For a gaming voice lobby, the least complex design that still gives operators trustworthy evidence is a small audit stream beside the media path: emit immutable events, attach a monotonic sequence, fan them out to dashboard consumers, and record what each consumer actually received. Treating an audio packet as proof that a lobby event was delivered is a category error. Record state transitions, not every RTP packet. A useful event says that member p-184 joined lobby l-42, that its microphone per
How to Give Claude or GPT Real-Time Product Data via Apify's MCP Server Ask Claude or ChatGPT to check the price of something on a random e-commerce site, and it'll either refuse (no browsing) or guess from stale training data. Even agents with browsing turn up empty-handed more often than you'd expect: Apify's own testing found that Claude browsing five major retailers directly pulled 0 products out of 100 — with Apify's MCP server in the loop, that became 100 out of 100. Same model, same quest
Generating one image in Gemini is easy. Generating 30 or 40 images for the same project is where the repetitive work starts. If you're creating a YouTube story, comic, storyboard, or any other project that needs a sequence of images, the process can quickly become: Paste a prompt. Wait for the image. Download it. Rename the file. Paste the next prompt. Wait again. Download again. By image 20, most of your time isn't being spent creating prompts anymore. It's being spent managing the generation a
Broadly speaking, back then, systems using CPUs like POWER and SPARC, along with commercial UNIX, were the ones that provided the necessary performance and operating environment for HPC in a comprehensive package. Later, systems using mass-produced components and Linux also became capable of delivering the required performance, and offered advantages in terms of price and procurement flexibility. Rather than simply saying that "older systems used specialized components," it's easier to understan
High load average on your Linux server? Learn how to diagnose the real cause and fix it fast — with practical commands and clear steps. top and see a load average of 14 on a 4-core server. Something is wrong — but load average alone doesn't tell you what. It's one of those metrics that looks alarming and yet gives you almost no actionable information on its own. Here's how to actually diagnose what's happening and get your server back to normal. Linux load average is a 1-, 5-, and 15-minute roll
Short answer: choose an asynchronous PDF pipeline with a small synchronous preview path, then make fidelity a measured contract rather than a promise. For HR onboarding packets, the winning endpoint is the one that preserves fonts, signatures, page geometry, and audit evidence at the load your tenants actually create; the fastest response on a quiet laptop is not the decision rule. Measure twice. An onboarding packet is a legal-ish artifact, not a screenshot. It can contain a tax form, a policy
The most expensive technical problem in a growing company is not always infrastructure. Sometimes it is people doing work that software should already be doing. Copying customer data from one system to another. Rebuilding the same weekly report. Updating status fields manually. Chasing approvals in Slack. Fixing mistakes caused by duplicate entry. None of these tasks looks serious in isolation. But repeated across a team, they can consume hundreds or thousands of engineering and operations hours
Short answer: treat a renewal reminder's business deadline as the primary SLO, then make the Node.js consumer's rate limit, acknowledgement boundary, retry policy, and dead-letter path one explicit contract. That rule matters because a B2B SaaS renewal campaign can look healthy at the transport layer while its reminders are already too late. A successful HTTP response is evidence about delivery, not evidence that the downstream action finished. The consumer has to preserve time, capacity, and id
Retries keep distributed systems moving through timeouts and temporary failures. In an access system, though, an old retry can be more dangerous than a failed request. This is Part 2 of Security Infrastructure in Practice, a series about what happens when security design meets production systems. Access had been removed from a deactivated account. The audit trail showed a successful removal. A few minutes later, the membership was back !!! No administrator had restored it. An older provisioning
Most MCP demos look the same. A tool is registered. A client calls it. The tool returns the expected data. Everyone nods. That demo tells you the tool can work. It tells you nothing about what happens when the tool is given the wrong tenant ID, or when it declares scope it should not have, or when it is about to reach users who did not write it. I built a preflight scanner for exactly that gap. This post is about what a bounded preflight can actually check, and what it honestly cannot. An MCP to
API event standardization This post walks through why the naive approaches break down, what a proper edge-gateway pattern looks like, and the concrete protocol details (signature headers, dedup mechanics, event envelopes) you need to get right. Why Direct Ingress Fails API Gateway + Lambda bridges The synchronous SLA problem Shopify enforces a 5-second timeout on webhook responses and will retry failed deliveries for up to 48 hours. The Edge Gateway Pattern Code example Terminate TLS and authent
An MCP server that works locally is not the same as an MCP server that runs behind a gateway other people can reach. Every tutorial shows the local case because the local case is easy. The interesting problems only appear the moment another client, another tenant, or another team needs to talk to it. I built a small local lab to make those problems visible. This post is what I learned building it. On a laptop, an MCP server talks to one client. There is one user, one workspace, and one trust bou
Payment providers retry. That is normal. What is not normal is what most applications do when the retry arrives. A valid Stripe, Midtrans, Tripay, or Xendit webhook can still be dangerous to process twice. The signature checks out. The payload is well formed. The provider is doing exactly what it promised. And the order state gets corrupted anyway. I built a small local lab to reproduce that failure and to test the fixes. This post walks through what actually breaks and how I would approach it i
Your CLI Tool Needs an MCP Server: Shipping One in a Day, Protocol by Hand Published on 2026-09-11 · xbrowser v1.23.1 Every CLI tool built before 2026 is asking itself the same question: how do AI agents discover me? The answer the ecosystem converged on is the Model Context Protocol — MCP. If Claude Desktop, Cursor, or any MCP-capable client can list your tool's capabilities and call them, your tool exists for agents. If not, it doesn't. xbrowser is a browser-automation CLI (57 commands, 130+ s
1.px (Pixels) 2.vw (Viewport Width) Example: If a browser window is 1200px wide, 10vw evaluates to 120px. If the user resizes the browser down to 600px, that same 10vw immediately shrinks to 60px. 3.vh (Viewport Height) Example: If you want a striking hero image to perfectly fill the user's screen right when they land on your site, you can set its height to 100vh. It will fill the screen vertically whether they are on a tall monitor or a landscape tablet
I used to prep for interviews the normal way. Read the job post twice. Practice "tell me about yourself" in the mirror. Show up hoping for the best. Three offers later, I do one thing differently. Five minutes, right before I log in or walk through the door. I write down one sentence about the company's biggest problem right now. Not their mission. Not their "values." Their actual problem. How do I find it? Quick scan. Recent news, a Glassdoor review or two, sometimes just the job post itself. I
This is chapter 8 of my book **Building Autonomous AI Agents with Claude Code* — a field guide to turning Claude Code from a coding assistant into an agent that remembers, verifies its own work, and knows when to stop. Everything below is from a system I actually run every day on one Windows PC.* "Automatically collect contest and grant-program postings every day, filter out risky clauses, and produce The input (posting sites), processing (parsing and filtering), output (digest), and schedule (e
I pulled the WebKit post open in one tab and the smallest possible module graph in another, because a rewrite of the loader is not the kind of note you skim. The short version: per WebKit, Safari 27 now runs top-level await on a fresh module loader that translates the ECMAScript specification's pseudocode directly into C++, replacing the old self-hosted JavaScript implementation. The longer version has some good archaeology in it. Kai Tamkun's write-up on the WebKit blog, dated September 2, 2026
A receipt review console is only trustworthy when every extracted value can be traced to the exact pixels a reviewer is judging. Short answer: store immutable source-image identity, page dimensions, and normalized bounding geometry beside each text field; render that evidence on demand; and treat every human correction as a versioned, idempotent decision rather than an edit to OCR output. Moderation coverage should be explicit: fields outside the review policy remain unapproved, even if extracti
Popular DR Strategies in Cloud: Backup and Restore (Lowest Cost, Slowest Speed) Pilot Light (Low Cost, Moderate Speed) Warm Standby (Higher Cost, Fast Speed) Multi-Site (Highest Cost, Fastest Speed) We planned below Disaster Recovery strategies for our Web applications hosted on AKS , backed up by 50 + ML Services running on On-Prem: Our Infra setup with running hybrid architectures: Many web application layers deployed on Azure Kubernetes Service (AKS) in the cloud, calling back into machine le
O que é um LLM (Large Language Model)? Obs.: Essa é uma explicação simples para começarmos a falar de IA. Um LLM é um programa que gera texto prevendo, a cada passo, qual pedaço de texto (chamado de token) deve vir em seguida. Ele aprendeu isso analisando uma quantidade enorme de textos durante um treinamento. Ao receber uma pergunta, o LLM escolhe um próximo token provável, acrescenta ao texto e repete o processo até formar a resposta completa. Não existe só um LLM, existe uma série de modelos.
Engineering a Resilient CSV Parsing & Normalization Layer for Accounting Integrations Building apps that connect to accounting software often seems simple at first.. Once you get to the data ingestion layer things get complicated. Financial platforms like Xero have unforgiving rules for CSV imports. If your data doesn’t match their expected schema— down to the smallest detail—your ingestion pipeline throws errors.. These errors are usually hard to understand. In this post I want to share how we
Hey. I'm Jake (abnegate). I work on databases at Appwrite. We just shipped managed native PostgreSQL and MySQL, and I wanted a place to talk about what that actually means before people assume it's TablesDB with a SQL coat of paint. It isn't. You pick Postgres or MySQL in the Console, pick a compute tier, and Appwrite provisions a real engine in your project's region. Own hostname, credentials, TLS. Connect with psql / the mysql client / Prisma / Drizzle / TypeORM / Kysely / Knex / Sequelize / w
our pre-push check failed 13 tests. the bigger problem was that some of those tests had changed the repository they were supposed to protect. this happened in Nobulex, the project i maintain. the investigation, fix and this write-up used AI assistance. the tests create temporary Git repositories and run fixture commands inside them. we treated the subprocess working directory as the boundary. that assumption broke when the suite ran from a Git hook in an isolated worktree. Git had exported GIT_D
I approved a prompt on a Tuesday morning and went to make a cup of Irish breakfast tea. By the time I came back the block was done, tested, and more thorough than what I had asked for. I stood there with the mug and realized I had never decided whether that thoroughness belonged in that block. I had not really decided on the block either. Sixty-two public repositories since July 2025. Three hackathon wins, two challenge wins, two talks on AI in the public sector, and a weekday job running court
Modern social media has become exhausting. Between engagement-farming bots, endless algorithmic doom-scrolling, and feeds designed to maximize outrage, finding authentic discussions feels harder than ever. What if we had a calm, community-first space where conversations are chronological, transparent, and free from rage-bait algorithms? FondPeace (fondpeace.com) as a solo developer. What Makes FondPeace Different? Instead of copying mainstream platforms, I wanted to combine the depth of long-for
Your AI-Generated Site Is Live. Now Build the Maintenance Loop. AI can produce a usable website in an afternoon. The harder engineering question starts after launch: who owns the loop that keeps the site accurate, discoverable, and useful? The first version may look good. Two days later, pricing is out of date, a new page is not indexed, and an article has brought traffic that nobody can trace to a next step. The site is live, but the system around it is not. A production website is not a one-ti
My browser arcade at play.dhseadev.online deploys when I push to main. Nothing ships unless verify-all.sh prints ALL GATES PASS. This week I was adding a ninth entry, a card game called Prismwar (not live yet). I built it, the index listed it, dist/ contained it. Three of the gates in that suite had no idea it existed. The arcade is driven by one table, ENTRIES. The build reads it, and so do the index, the sitemap and llms.txt. Three test scripts didn't: the boot/paint/save gate, the stress batt
There was a time when the difficult part of building software was writing the software. Today, that is increasingly not true. We have better frameworks, better libraries, better APIs, better cloud infrastructure, better developer tools, and now AI can generate a significant amount of the code for us. Yet I keep seeing the same pattern: We are getting better at building things, but not necessarily better at deciding what should be built. And I think that is becoming one of the biggest engineering
A green CI job after an agent patch is not evidence that behavior held. The useful signal is whether the same seed corpus still executed, whether fixture hashes stayed put, and whether the flake freeze budget did not grow. If any of those three ledgers moved the wrong way, the patch is not a fix. It is a quieter test suite. This article proposes a merge gate you can run as a script. It does not require a new framework. It requires treating seeds, fixture hashes, and flake slots as inventory the
De qué se trata esto Este es el segundo video del bloque de ciberseguridad. En el primero armé un SIEM gratis con Wazuh y Kibana. Acá le doy la vuelta: simulo un ataque completo contra mi propio lab, con las mismas herramientas que usa un atacante real, y muestro exactamente qué queda invisible y qué queda registrado del otro lado. Nada de esto corre contra infraestructura de terceros — todo el lab vive en una red virtual aislada (Host-only de VMware, 192.168.220.0/24), sin salida a mi red real
An over-the-air update that reaches every user at once is a single point of failure wearing a shipping shortcut as a disguise. You fix a typo in the checkout screen, tap publish, and ten minutes later your crash dashboard is a wall of red — on an update you can roll back, but only after everyone already downloaded it. Staged rollouts fix this. Instead of publishing an EAS Update to your whole production channel in one shot, you release it to a small slice of users first, watch real crash and beh
The first version retrieved everything. Every node reachable from the seed entity, up to four hops. The context window hit 8,000 tokens on a basic query about a mid-size Korean manufacturer. The model started confusing entities. I pulled it back to 50 nodes, which is where it still is. I don't love that number. It's a hard cutoff that causes real problems for large corporate groups — Samsung Electronics has hundreds of subsidiaries and a query about their supply chain exposure hits the limit bef
The title literally means: "I have parallel dataloaders, GPU kernels and a high-performance computing programming language all expressed in a framework with 1400 lines of code". You may run the ResNet-18 benchmark yourself github.com/NoSavedDATA/Neve_benchmarks) I released the Neve programming language a while ago. Now, this is the release of the Frost deep learning framework, alongside with the first benchmark. Other results for Neve: Close to Python/SentencePiece in text processing + Byte-Pair
A new WebAssembly runtime enters the arena... Is it worthy? JairusSW Sep 11 #webassembly #assembly #go #security comments 6 min read
CSVダウンロード機能を実装すると、こんな見慣れないコードが出てきます。 const blob = new Blob([response.data], { type: 'text/csv' }) const objectURL = window.URL.createObjectURL(blob) downloadFile(objectURL, 'データ.csv') 「Blob?」「URLを作る?」「それをダウンロード?どこから?」を、この記事でスッキリさせます。 Blob = 中身が何でもいい「データのかたまり」。ブラウザにとっての"ファイルのようなもの"です。文字・画像・CSV・PDFなど何でも入り、「これはCSVです」といった種類ラベル(MIMEタイプ)を持てます。 ブラウザに「これはファイルだよ、保存してね」と伝えるには、データを"ファイルの形"=Blobにする必要があります。生の文字データのままでは、ただの文字列としか扱われません。 手紙の例え 実際のもの 書類(CSVの中身) response.data 封筒に入れる new Blob(...) 宛名シールを貼る create
So here's the thing. I made a package called UI Tools, and some early versions were flagged for a serious security vulnerability involving its terminal feature. The affected versions were 0.1.0-beta through 0.1.8-beta. The problem was that the terminal functionality did not have adequate authentication controls. I fixed it. The package has since gone through several security changes, and the current 0.2.1-beta release has a much stricter security model. The terminal functionality is also no long
Congrats to the Frontend Challenge: Comfort Food Edition Winners! Pure CSS cat bakery wins top spot Jem for The DEV Team Sep 10 #devchallenge #frontendchallenge #css #javascript 47 reactions comments 2 min read
7 Vulnerability Patterns I Found in AI-Generated Code (and How to Catch Them) If you've used GitHub Copilot, Claude Code, or any AI coding assistant for more than a few weeks, you've probably shipped at least one of the bugs in this post without realizing it. Not because the AI is bad at coding — these tools are remarkably good — but because certain classes of mistake show up disproportionately in AI-generated code, for reasons that have nothing to do with capability and everything to do with wh
Governance Attack Surface Review: ether.fi Stake Target Protocol: ether.fi Stake (TVL: $4526.4M) ether.fi Stake TVL: ≈ $4.53 B (Ethereum + L2) Date of Review: 11 Sept 2026 Prepared by: [Your Name], Senior DeFi Security Researcher & Smart‑Contract Auditor ether.fi Stake is the core staking‑as‑a‑service layer of the ether.fi ecosystem. It aggregates user deposits, issues a liquid staking token (eSTETH), and distributes staking rewards. Governance of the protocol is exercised through the eSTETH‑GOV
An earlier experiment in this series had established something slightly deflating about a small transformer: quantising the whole network to int8 is free, and the bytes you save are better spent on count tables than on network precision. That is a useful result and it invites a sharper question, which is where the bytes actually were. tok.weight (embedding) 1,024,000 params 71.7% everything else 404,992 params 28.3% Nearly three quarters of that "neural network" is a lookup table. So the dial wo
An Odoo CRM implementation is not simply a matter of installing the Odoo CRM app and creating a few pipeline stages. Understand the sales process before configuring Odoo CRM One of the most common mistakes is opening the Odoo CRM app and immediately creating pipeline stages. Configuration should come after process discovery. Before configuring the CRM, document how the organization currently: • Captures enquiries and leads • Assigns leads to salespeople • Qualifies opportunities • Schedules foll
APIs are the backbone of modern software. They power mobile apps, connect microservices, expose data to partners, and drive entire business ecosystems. And yet, APIs are also one of the most commonly exploited attack surfaces in the wild. Whether you're a startup shipping your first REST API or a platform team managing hundreds of internal services, the fundamentals of API security don't change. What does change is how thoroughly they're applied. Here's a breakdown of 12 best practices that shou
When an IoT payload lands in a database, it is tempting to focus on the value first. 72.4 But a value alone is not yet useful time-series data. Before you choose a schema, connector, or query pattern, you need to know: what produced the value; what the value measures; and when that observation happened. This article uses Apache IoTDB terminology to make that model concrete. It is intentionally a modeling guide, not a syntax tutorial: check the current release documentation before writing DDL or
If you run a business and you are thinking about hiring a prompt engineer, stop. The skill you are trying to buy is not writing clever instructions to a chatbot. The skill you need is someone who can take one messy process in your business, own it end to end, and be answerable when it breaks. Prompting is about two weeks of that person's learning curve. The other eleven and a half months is process. I say this as someone who builds automation systems for a living. It would be convenient for me t
The most useful shift in AI tooling this year isn't that any single tool got dramatically better — it's that the stack settled into distinct layers, each with its own job. Once you can see those layers, choosing tools gets easier, because you're picking the right thing for each layer instead of hunting for one product that does everything. If you want the broad lay of the land before the details, G2's emerging AI software overview is a decent snapshot of what teams are actually adopting; what fo
If you are learning IoT (Internet of Things), building an ESP32 project is one of the easiest ways to understand how sensors, microcontrollers, internet connectivity, MQTT, and cloud dashboards work together. In this beginner-friendly tutorial, we'll look at the architecture of a simple ESP32 IoT project using MQTT and learn how sensor data can move from a physical device to a web dashboard. The basic IoT data flow is: Sensor This same architecture can be used for smart agriculture, smart classr
Introduction Data analysis is not just about creating charts; it is about turning raw and imperfect data into useful business insights. This project focuses on building an interactive Excel dashboard to analyze Jumia product data and understand product performance. Because the dataset contained issues such as missing values, inconsistent formatting, and data quality errors, the first step was to clean and organize the information before any analysis could be done. Since sales data was not availa
My Kubernetes application moved from my home server to Amazon EKS without an application code change. The platform around it did not. The EKS control plane took 5 minutes 51 seconds to create. Once the delivery path was working, Argo CD deployed two healthy application replicas and corrected a manual scaling change in 5 seconds. But reaching that result exposed three assumptions about networking, worker size and AWS access that did not exist in my home lab. That was the test I wanted. I started
AI Agent Tool Mastery: How Modern Agents Choose and Use Tools Effectively The Tool Selection Problem When an AI agent receives a complex request like "Find the weather, book a flight, and send a confirmation email," it must do more than just generate text. It needs to: Understand intent — What does the user actually want? Match tools — Which tools can fulfill each part of the request? Chain operations — How do results from one tool feed into the next? Handle failures — What happens when a tool f
On 2026-08-31 our agent announced the same dev.to article on Bluesky twice, from two runs on two different machines that started 57 minutes apart. Both announcements were correct. Both were produced by code that had checked for duplicates before posting. The fix we shipped that evening was a better check. The fix we shipped six days later was to delete one of the machines. This is a comparison of the two approaches we had on the table for the second fix: detect duplicates after the fact and reve
Short answer: Serve a watermarked derivative from a separate object, never rewrite the museum's master image. Keep the master immutable, make derivative creation idempotent, and let the portal publish only a validated, access-controlled thumbnail. That gives visitors responsive images while preserving the archival file byte for byte. I learned to treat this as a scheduling problem after a thumbnail worker was retried during an upload burst. The queue delivered one job twice, and both attempts tr
My coding agents are prolific note-takers. Every non-trivial session leaves a PLAN.md, a SUMMARY.md, a HANDOFF.md, sometimes a FINAL_REPORT_V2.md. Across 36 repos on this machine there are about 1,200 markdown files, and I could not tell you which ones anybody still opens. The obvious cleanup is a glob and a date filter: find . -name 'PLAN*.md' -o -name 'SUMMARY*.md' -mtime +30 -delete I did not run that, because I already knew what it would hit. A PLAN.md from May can still be the file a README
Turning LLM 'Muttering' into Hard Risk Control: The F-072 Risk Word Capture & Dynamic De-risking Mechanism It was 01:19 AM on September 10, 2026. The crypto market was experiencing a violent flash crash, and my algorithmic trading system was scanning for swing trade opportunities. The LLM advisor returned a clear, unambiguous JSON payload: RULING=PROCEED for a SOPHUSDT LONG position. If I had only parsed the final structured output, the system would have executed a full-size market buy. But I di
HarnessDev: How LLMs Are Building Their Own Agent Frameworks ByteDance's Breakthrough in Self-Evolving Agent Systems Published: September 10, 2026 | Reading time: 12 minutes Last week, ByteDance's Seed team, in collaboration with Singapore University of Technology and Design, Georgia Tech, and other institutions, released HarnessDev — a groundbreaking research project that answers a fundamental question in AI agent engineering: Can LLMs create their own Agent Harnesses and continuously improve t
Procedural Graphs: Self-Evolving Execution Structures for LLM Agents When AI Agents Start Writing Their Own "Brain Circuits" Published: September 10, 2026 | Reading time: 12 minutes On September 9, 2026, researchers Yuxing Lu, Yicheng Chen, and Shanchan Wu published a groundbreaking paper on Procedural Graphs — a self-evolving execution structure for LLM agents that can literally rewrite its own "brain circuits." Paper: arXiv:2609.08593 Today's LLM agents (like AutoGPT, LangChain agents) work li
Baloot is a 32-card trick-taking game played in Saudi Arabia by four players in two teams: two contracts (Sun and Hokm), two bidding rounds, declarable melds called projects, doubling up to four times, and a scoring system (qaid) with rounding rules that catch even experienced players out. Building a bot that plays it well turned out to be a much bigger project than the card game itself. This is a write-up of the approach used in Arb3a Baloot (Unity client, Node.js server), which shipped on Andr
PlaidQ: Writing Code in One Step — The Diffusion Model Revolution Duke University and Tsinghua University's Breakthrough in Code Generation Published: September 10, 2026 | Reading time: 10 minutes On September 3, 2026, researchers from Duke University and Tsinghua University published a groundbreaking paper that answers a fundamental question in AI code generation: Can language models write code using diffusion models — and do it in just one step? The answer is yes. PlaidQ is a continuous (Gauss
The first time I saw an AI approve a CAPA closure, I'll admit I paused. Not because the decision was wrong — it wasn't — but because I couldn't find a written record of who decided the AI was allowed to make that call. This was about 18 months ago, back when we were still evaluating eQMS platforms. Both had some AI features in various states of maturity. The question that nagged me then — and keeps nagging me now — is simpler than it sounds: does your tool have an explicit, written list of thing
A few minutes ago, I released my brand-new WebAssembly runtime, Wago. There's one massive problem though. Wasmtime is mature, fast, and backed by the Bytecode Alliance. Wasmer has been around for years, V8 speaks wasm fluently, and if you're writing Go, wazero is already the de-facto answer. So why would I be stupid enough to make a new wasm runtime? Seems like all the bases are already covered, right? ...right..???? Well, kind of. The existing runtimes are really good, don't get me wrong. I don
The State Access Dilemma in Flutter Executive Summary: For more than six years, Flutter developers have wrestled with how to cleanly read state from the widget tree. Teams were forced to choose between the indentation tax of the "Builder Pyramid" (BlocBuilder nesting) and BuildContext extensions (context.watch, context.select) that carried subtle whole-tree rebuild traps or heavy closure boilerplate. By establishing an elegant 1:1 architectural symmetry between state containers and the widget tr
One would think beginner Python is just printing "Hello, World!", copy-pasting a few lines of syntax, and vibing.Until you sit down to actually do the tasks, and suddenly you realize you need to use your entire brain. Going through the initial crash course material, all I could see were blocks upon blocks of code. At first glance, everything looked straightforward. Then things escalated quickly. I was looking at the screen thinking, “Wait, what is this?” I could literally feel my brain expanding
TL;DR Write the rules into AGENTS.md or a skill file and the agent still will not follow them. Six frontier models, 60 runs, zero actually followed. They said they had followed them more than 90% of the time. @ttsc/evidence turns those instructions into compiler rules. Every rule turns into a statement each function has to write, and that is how all of them end up followed. Repository · Guide · Setup · Slides The first thing you do when you hand work to a coding agent is write down the rules. AG
I wanted a simple way to move a file between two devices without installing an app, creating an account, or uploading it somewhere first. So I built Iriszip. Open the site on both devices, scan a QR code or enter the 9-digit pairing code, and send files or text directly from the browser. On the same network, transfers can stay device-to-device and run at LAN speed. Across the internet, Iriszip tries a direct WebRTC connection first and falls back to a relay when a direct connection isn't possibl
I gave four Fable 5 agents hidden roles and asked them to play Werewolf through Hyperagent. The first speaker opened with this accusation: Sable: "Ptolemy. Hasn't said a word yet and that silence is doing a lot of work." Ptolemy had not said a word because it was not his turn. The second speaker immediately did the same thing: Bosch: "Wren has said nothing, which is precisely what a careful operator does when the opening move belongs to someone else." Wren had not received a turn either. The dia
My notes on GNU C Compiler (GCC) Flags It tells GCC to compile the source file into an object file (.o), but do not link it into an executable. gcc -c main.c This produces: main.o Then you can link it separately: gcc main.o -o main It specifies the output filename. gcc main.c -o main We get: main It means "link this library". gcc main.c -lm -o main Here: -l -> link a library m -> library name libm -o main -> output executable named main The library must be present in the standard search paths of
Python is everywhere in AI. So when a new language like Mojo focuses on high-performance computing, GPUs, accelerators, and AI workloads, the obvious question is: Will Mojo replace Python? I think that's the wrong question. The interesting question is whether AI changes what we expect from programming languages. Why Python became so important Python is good at getting ideas into working software. Its syntax is simple. Its ecosystem is huge. And most AI developers don't want to manually manage lo
The Silent Hum of Failure It happened during a Friday prayer service. The room was deathly quiet, filled with the collective focus of hundreds of people. Just as the imam began the sermon, a sharp, upbeat ringtone cut through the silence like a physical blow. I felt the heat crawl up my neck as everyone turned toward me. It was my phone, despite me being certain I had silenced it earlier that morning. That moment of public embarrassment wasn't just a nuisance; it was a clear failure of my own ma
A cloaked link serves a clean page to scanners and malware to real visitors. Every reputation engine that checked one recent case rated it safe for months, because each engine looked from a single datacenter IP. Seeing the real behavior takes loading the same URL from several vantage points at once. By Daniel Jones, Founder, Tuxxin LLC. Most link checks ask one question from one place, then report what came back. That worked when a bad link was bad for everyone. It stopped working when attackers
A genuine Carnival Cruise Line booking confirmation routed customers to malware. The mail was authentic and passed SPF, DKIM and DMARC. The failure was a promotional domain Carnival had let lapse, still linked from live marketing mail, re-registered by someone else and wired into a redirection network. Carnival re-acquired the domain on August 26th, 2026, and I verified the vector dead the next day. The full path. A datacenter scanner only ever reached the clean parking page on the left. Real vi
A README is designed for readers who can pause, search, and run the examples. A technical talk has a different pace. The audience needs an explanation they can follow while someone is speaking. Gamma App includes a Markdown-to-PPT route that accepts a Markdown file and is presented as a way to create an editable presentation. The interesting workflow begins with deciding which parts of the document belong in that talk. The public page and its controls were inspected for this article. No generate