🌍 Dev.to

Rotifer v0.9.2: Export an agent to one file, rebuild it on another machine (npm 0.29.0)

v0.9.2 gives an agent a portable form. rotifer genome export writes which genes an agent uses and how they are composed into one .rgenome file. rotifer genome import reads that file on another machine, rebuilds the agent from the Registry, and prints, for every gene, what it installed and why. v0.9.2 is the protocol version. It shipped in two npm releases of @rotifer/playground : 0.28.0 (export and import) and 0.29.0 (the file format fixed at format 1, stricter imports, and four change...
🌍 Dev.to

Logging Aquarium Water Temperature with a Raspberry Pi, a DS18B20 and ~60 Lines of Python

Disclosure: I'm affiliated with aquariumpet.co.uk, a UK shop that sells aquarium heaters. An aquarium heater's display tells you what the water is doing right now , near the rod. It doesn't tell you what happened at 3 a.m., whether the far end of the tank lags behind, or how long the heater actually runs each day. For that you need a log. This tutorial builds a small, independent temperature logger with a Raspberry Pi and a DS18B20 sensor. It writes a CSV and warns you when the temperature ...
🌍 Dev.to

How to build a "safe to spend" formula for freelance income in Google Sheets

Disclosure: I'm the maker of Ponte Sheets. Not tax advice; check your rate with an accountant. Freelance money arrives at random times, so "how much is in my account" is the wrong number. Here's the formula chain I use. The cell references are the real ones from my template: one tab per month (Jan..Dec), with Date in B, Type (Income/Expense) in C, Category in D, Net amount in J and Status (Paid/Pending) in K. Your tax rate goes in a Settings cell named TaxPct . Names like Profit , AfterTa...
🌍 Dev.to

Green proofs, empty promises: when AI agents write their own specifications

I asked AI coding agents to write formally verified code. Every solution passed the verifier. Then I checked what the proofs actually promised. For the smaller model, 5 of 8 specifications barely said anything . One of the methods was wrong, and its proof was green. This post is about that gap, a cheap way to detect it, and a small open-source tool that does it for any Dafny file. The experiment I'm designing a programming language meant to be written by agents and che...
🌍 Dev.to

Five Clients, Five Node Versions: Per-Project Toolchains with .nvmrc, Corepack and Docker Compose

Freelancing for several clients at once means living in several codebases at once. That part is fine. The part that hurts is that every codebase was started at a different time, by a different person, with a different idea of what "current" meant. One client's Next.js app is happy on the latest Node LTS. Another is an older Express API that breaks in subtle ways on anything newer than the version it was built on. One project uses pnpm, one uses Yarn, one uses plain npm and has a package-lock...
🌍 Dev.to

Build a Credit-Weighted GPA Calculator in JavaScript

A GPA calculator looks simple until courses have different credit values. Averaging the grade points directly gives every course the same influence, which is not the calculation we want for a credit-weighted GPA. This tutorial builds a small, framework-independent calculation function for a 4.0 scale. It accepts course credits and grade points, rejects incomplete inputs and keeps rounding separate from the calculation. Start with a worked example Consider these illustrative co...
🌍 Dev.to

The Two Lists I Keep for an Agent That Runs Unattended

Anything that runs while I am not watching needs two lists, and they are not the same list. The first is what it may touch. Directories, accounts, endpoints. Boring, and the only thing standing between a bug and a deleted folder. Mine is shorter than I expected: two working directories, one scratch directory, read-only everywhere else. Everything I have ever regretted came from a task that quietly needed one more permission and I gave it without thinking. The second list is what it may do ...
🌍 Dev.to

Building Clarification Mechanisms Into Healthcare AI Agents

Healthcare AI systems frequently operate with incomplete instructions, ambiguous records, and conflicting information. A robust system should not assume that every request is sufficiently specified for execution. Developers can implement clarification mechanisms that identify missing parameters, detect conflicting values, and assess whether uncertainty materially affects the intended action. The response should be risk-sensitive. Minor ambiguity may be handled through a clearly stated assu...
🌍 Dev.to

th scope row vs col: table headers that sound fine but are wrong (WCAG 1.3.1)

"Jane Doe" on its own is a word in a box. Is she the instructor, a student, a guest? In a properly built table, VoiceOver says Instructor Jane Doe, column 2 of 3 - the header is what turns the word into a fact. Lose that relationship in the code and the table is just a grid of words, no matter how clear it looks on screen. This breakdown uses the Table Headers lab (E09): Case 1 ( <th> without scope ) and Case 2 ( scope="row" on column headers). Both use real header cells an...
🌍 TheVerge

YouTube might be testing hiding the dislike button

YouTube appears to be testing hiding the dislike button on videos, as reported by 9to5Google. At least two users on X have recently shared screenshots of the dislike button now being placed in the three-dots submenu, and a user on Reddit also shared an image of the dislike button being absent for them. Right now, […]
🌍 Dev.to

Node.js Broadcast Polls: Aggregate Votes into a Reconnect-Safe Interval Tally

Short answer: keep vote ingestion separate from interval publication, assign every published tally a monotonic revision, and let a reconnecting viewer request the newest snapshot after the last revision it applied. For a live media poll, the least complex dependable design is one authoritative aggregator per poll, a durable vote log or database behind it, and disposable realtime connections in front of it. The five-second ticker is presentation cadence, not correctness. The page that should f...
🌍 Dev.to

Critical PHP warning: Security updates coming soon

PHP maintainers have announced upcoming security updates for two high-severity vulnerabilities, CVE-2026-109618 and CVE-2026-109619, both rated 9.2 in severity. Research suggests these flaws may impact PHP versions dating back to 2004. Reports have identified a tool, 'PHP2Shell,' purportedly capable of executing code on widely used platforms including Laravel, Drupal, and Joomla. Developers and sysadmins should prepare for an immediate update rollout. Because PHP is used to power ...
🌍 Dev.to

Stale-Plan Protection in Android Action Execution: How We Closed the Confirm-to-Dispatch Gap

When a user confirms an action in an AI agent, they’re approving a plan built from a snapshot of the world at that moment. By the time the action dispatches β€” even seconds later β€” that snapshot may no longer be valid. We call this the stale-plan problem . It’s distinct from stale data (a UI showing old info) and distinct from execution failure (the action tried and errored). It’s the gap between confirmed and still valid at dispatch time. Here’s how we structured the protection layer in S...
🌍 Dev.to

Designing Internal Service Status from Metrics and Logs (For AI Agent Loops)

An uptime page for a media AI agent loop has a stricter constraint than a general monitoring console: an editor needs to know whether a publishing job can finish correctly, while an operator needs enough evidence to reconstruct why it did not. Displaying every metric and log line satisfies neither need. The right first version is a small, read-only projection built from bounded metrics, correlated terminal events, and an explicit freshness rule. TL;DR: model the loop as a state machine, exp...
What Android App Testers Actually See in a Google Play Closed Test
🌍 Dev.to

What Android App Testers Actually See in a Google Play Closed Test

When a closed test stalls, most of us debug it from Play Console. Tester count, release status, the Testers tab. If the number sits below what you expected, it's easy to assume people just didn't bother. Often they did bother. They got stuck on a screen you never see as the developer, usually because of the wrong Google account or a step nobody told them about. So this post is the tester's side of Google Play closed testing: what your Android app testers actually see, the four screens they...
What Building an LLM-Offloaded Query Layer Taught Me
🌍 Dev.to

What Building an LLM-Offloaded Query Layer Taught Me

Last month, we were working on a feature for one of our projects. The requirement was to build a natural-language interface that would allow users to query a fairly large MySQL dataset without having to know anything about the underlying database structure. The idea was simple enough. A user asks a question in plain English, the application understands what information they're looking for, and the corresponding records or analytics are returned. Now, as most crash courses and quick develop...
Flashing STM32 Firmware Directly from VS Code over UART: An Open-Source Extension
🌍 Dev.to

Flashing STM32 Firmware Directly from VS Code over UART: An Open-Source Extension

If you have ever bought one of those small STM32 boards with a USB-C port, there is a good chance that port goes to a USB-UART chip (often a CH340). It does not go to the MCU's native USB, and there is no ST-Link on the board. That is fine for serial logs. It also turns out to be enough for flashing, because every STM32 has a ROM bootloader that speaks UART. I wanted that workflow inside my editor, so I built STM32 Serial Flasher , an open-source VS Code extension. You build your project, pr...
🌍 Dev.to

A free, open-source irrigation controller for Home Assistant

My garden has two kinds of days: the ones where I forget to water, and the ones where it rained all night and I water anyway. So I built an irrigation controller that lives inside Home Assistant. It's free and open source, and it can found from the HACS default list, so installing it is now "search, download, restart". The idea You already have the hardware: a valve, maybe a pump, maybe a rain gauge or a soil probe. ZoneFlow doesn't want you to buy anything new. You tell it wh...
🌍 Dev.to

How to Coordinate Multi-Agent AI Swarms Without Cloud Deadlocks: A Distributed Task Board MCP Server

How to Coordinate Multi-Agent AI Swarms Without Cloud Deadlocks: A Distributed Task Board MCP Server in Python In 2026, single-agent prompts are legacy. Developers and autonomous engineering teams run multi-agent swarms in parallel: one agent refactors legacy code, a second generates unit tests, a third updates architectural documentation, and a fourth audits security vulnerabilities. However, as soon as you spin up multiple LLM agents (Claude Desktop, Cursor, LangGraph, CrewAI) simulta...
We gave our MCP server an undoΒ button
🌍 Dev.to

We gave our MCP server an undoΒ button

Letting an AI agent change your product's settings is only reasonable if you can take it all back. So every change our MCP server makes goes into a run that can be undone in one step. This is how it works, and the decisions that turned out to be hard. In July 2025, Replit's AI agent deleted a company's production database during a code freeze, then told the user the data couldn't be recovered. It could. Replit had a rollback, and the user restored everything from a checkpoint. The agent just...
🌍 Dev.to

Your dependencies will break. Your CI will leak. Probably not today.

Your dependencies will break. Your CI will leak. Probably not today. The day the platform removes the API you depend on, or the tag you pinned to gets moved, is the day you find out. I wanted to find out earlier β€” so I built breakcheck , a zero-dependency Node.js CLI that scans a project for things that will break or leak before they do. Why now? Three things happened in the same week: Chrome and Edge are removing XSLT. Python removed imp and distutils in 3.12. Platforms re...
🌍 Dev.to

πŸ”“ IDOR / BOLA: How to Find the #1 API Vulnerability β€” and Actually Prove It

Broken Object Level Authorization β€” IDOR, to most of us β€” is the single most common serious bug in modern APIs. It sits at #1 on the OWASP API Security Top 10 (2023) , and it's the one I watch sail past a scanner, past a code review, and straight into production, where it lives for years. Not because it's clever. Because it's boring : the application carefully checks who you are , and then forgets to check whether the thing you just asked for is actually yours . This guide walks the wh...