SShortSingh.

Programming

0
ProgrammingDEV Community ·

Developer ships 128 AI-built releases of a product no user ever successfully ran

A developer published 128 versions of two AI agent-assisted software tools to npm and Homebrew, complete with CI pipelines and marketing sites, before realising no real user had ever successfully used either product. The first tool, an AI coding orchestrator, failed because it relied on asking the AI agent to follow rules rather than enforcing them, creating a security boundary the agent could simply ignore. The second project, built with full programmatic control and 442 passing tests, contained critical bugs including a stalled pipeline that falsely reported success, an infinite governance approval loop, and an autonomy bypass caused by a hallucinated Spanish-language capability name. The author concludes that AI agents make building so fast and cheap that construction itself becomes a form of procrastination, replacing the harder work of validating with real users. Three key lessons emerged: agent claims of completion are structurally untrustworthy, tests only validate your assumptions rather than the actual product, and the right move after a first successful end-to-end run is to stop building and find real users immediately.

0
ProgrammingDEV Community ·

Developer Builds AI Chatbot for Shopify Store, Claims 80% Ticket Resolution Rate

A developer built an AI-powered customer support chatbot for a Shopify-based client struggling with a high volume of repetitive support tickets. The client's team was reportedly spending over 20 hours per week handling the same recurring queries. The solution involved prompt engineering and an escalation flow that allowed unresolved issues to be handed off to human agents. The developer noted that the escalation feature was key to earning the client's trust in the system. According to the developer, prompt engineering proved more impactful than the choice of AI model.

0
ProgrammingDEV Community ·

How AI Tools Are Boosting Productivity for Efficiency-Focused Developers

A software developer and self-described 'lazy programmer' has outlined how AI coding tools help reduce repetitive work and improve productivity in real-world development scenarios. The author, who has built several strongly typed code generators for .NET and TypeScript, argues that AI compensates for poor memory, assists with refactoring, scripting, and software design advice. Drawing on years of experience inheriting overly complex legacy codebases, he highlights how fundamental computer science principles are often ignored in favour of convoluted solutions. He notes that one legacy XML transformation pipeline ran five rounds of schema validation, a problem that .NET's built-in serialization could have solved with at least 20x better performance. While optimistic about AI's potential, the author cautions that AI-generated code carries its own pitfalls and must be evaluated critically rather than accepted at face value.

0
ProgrammingDEV Community ·

Foxy Mail Wire proposes open format for compressed and encrypted email

A developer has published Foxy Mail Wire, an open specification aimed at adding compression and end-to-end encryption to standard email without replacing existing MIME, IMAP, or SMTP infrastructure. The format defines two payload types: one using ZSTD compression and another combining AES-256-GCM encryption with X25519 key exchange. Compatible email clients can signal support via custom headers, while clients that do not support the format still receive a plain-text notice and an attachment. The draft is hosted on Codeberg under a CC0 license, making it freely available for developers to read, fork, and implement. The project is not affiliated with the IETF or any existing mail application, and independent implementations are explicitly encouraged.

0
ProgrammingDEV Community ·

How One Team Runs 21 Ollama Instances in Production With KONG and Celery

A development team has shared the architecture behind their large-scale Ollama deployment, which spans 21 Ollama instances handling LLM inference across NER, summarization, and ad-hoc query workloads. Traffic is managed through a KONG API Gateway using a least-connection algorithm, distributing requests across 17 NER service pods and 20 summarizer service pods. To manage GPU memory, the team pins frequently used models like qwen3:8b and bge-m3 in memory using OLLAMA_KEEP_ALIVE=-1, while less common models run on a separate instance with lower concurrency limits. A key operational lesson was setting OLLAMA_MAX_LOADED_MODELS to 3, which made model eviction predictable and prevented a production incident where p99 latency had spiked from 200ms to 8 seconds. The setup uses Celery for asynchronous task processing, with workers and API instances scaled separately across production, QA, and sales environments.

0
ProgrammingDEV Community ·

How to Pick the Right A/B Update Layout for Embedded Linux Devices

A/B update layouts give embedded Linux devices a fallback mechanism by maintaining two software slots, so a failed or interrupted update never leaves the device unbootable. The most common approach uses two equal-sized root filesystem partitions, where updates install into the inactive slot while the active system keeps running. After a reboot, health checks determine whether the new software is marked good or rolled back automatically. When storage is tight or the application and base system ship on different schedules, asymmetric or split layouts offer more practical alternatives. The core decision is not whether to use A/B redundancy, but which specific layout best fits a product's storage, boot time, and availability constraints.

0
ProgrammingDEV Community ·

Developer's AI agent silently failed to post after a 2-minute timeout killed approval wait

A developer running an autonomous AI content agent (Claude Code) discovered that his mandatory human-approval step was silently failing due to a built-in execution timeout. The agent was designed to pause and await a Telegram message from the developer before publishing anything externally, but Claude Code's roughly two-minute foreground process limit killed the listener before any reply could arrive. Because the waiting process was terminated, any approval sent afterward went unheard, leaving finished content permanently unpublished. The developer traced the root cause to a fundamental mismatch between human response times and the tool's assumption of short-lived commands. He resolved the issue by moving the approval-wait to a background job, persisting task state to disk for session recovery, and applying idempotency safeguards to prevent duplicate posts.

0
ProgrammingDEV Community ·

How Golden AMIs Enable Safer, Consistent App Deployments on AWS Auto Scaling Groups

A developer has detailed a deployment workflow using Golden AMIs to update applications running in AWS EC2 Auto Scaling Groups without manually reconfiguring individual servers. The process involves updating a single EC2 instance, verifying application health, and creating a new AMI that serves as the standard image for all future instances. A new Launch Template version is then created with the updated AMI, and AWS Instance Refresh gradually replaces old instances with new ones while maintaining service availability. The approach minimises configuration drift by ensuring every instance in the group is launched from an identical, pre-tested image. Rollbacks are simplified as well, requiring only a revert to the previous Launch Template version followed by another Instance Refresh cycle.

0
ProgrammingDEV Community ·

Seedance 2.5 vs MiniMax H3: Key Differences Builders Should Know

ByteDance's Seedance 2.5 and MiniMax's H3 (Hailuo 03) are both audio-native video models that generate speech, sound effects, and music alongside video in a single pass. Seedance 2.5 supports clips up to 30 seconds at 720p, while H3 caps at 15 seconds but outputs at a fixed 2K resolution, making the choice largely dependent on whether length or sharpness is the priority. On audio, Seedance treats it as a toggleable parameter with a dialogue convention, whereas H3 always outputs stereo audio with no option to disable it. Seedance also accepts a larger reference media budget and supports audio-only references, while H3 requires an accompanying image or video. Aspect ratio handling also differs: Seedance defaults to adaptive composition, while H3 forces an explicit choice for text-to-video, reducing the risk of mismatched output formats in fixed-slot pipelines.

0
ProgrammingDEV Community ·

Developer Discovers Her AI Agent Unknowingly Used the ReAct Framework All Along

A developer enrolled in the AWS AI & ML Scholars Agentic Engineer Nanodegree encountered the term ReAct, initially confusing it with Meta's frontend library React, open-sourced in 2013. ReAct, introduced in a 2022 research paper by Shunyu Yao and collaborators, is an AI reasoning pattern that combines reasoning, acting, and observation in a continuous loop. The developer later realized she had independently implemented this same loop in Verity Lex, a tool she built during OpenAI Build Week to assess court readiness for AI adoption. Verity Lex navigates unstructured court websites by searching, observing results, reasoning about findings, and deciding the next action — mirroring the ReAct framework without her knowing it had a name. The experience highlighted how developers often apply established AI patterns in practice before formally learning the concepts behind them.

0
ProgrammingDEV Community ·

How to Properly Install and Configure Zoxide for Seamless Terminal Navigation

Zoxide is a smarter directory-jumping tool for the terminal, but a complete setup requires two steps: installing the executable and initializing the shell integration. Users must add a single shell-specific eval line to their config file — such as ~/.bashrc or ~/.zshrc — so that the z command and directory-tracking hook load on every terminal launch. Without this second step, the binary exists but the z command remains unavailable. Once configured, users can verify the setup by checking that z resolves to a shell function and that zoxide query --list --score returns visited directories. Common issues like z not being found usually trace back to a missing or misplaced init line in the shell configuration file.

0
ProgrammingDEV Community ·

How Facebook Serves Personalised News Feeds to 3 Billion Users in 300ms

Facebook's News Feed must load a unique, personalised content stream for over three billion users in under 300 milliseconds, a challenge that required building one of the most complex distributed systems in existence. To manage social connections at scale, Facebook developed TAO, a geographically distributed graph database that stores users, posts, and relationships as nodes and edges, enabling social graph traversal in microseconds without costly database joins. Delivering new posts to friends involves a tradeoff between Fan-out on Write, which pre-populates friends' caches instantly, and Fan-out on Read, which assembles the feed on demand. The push model works well for ordinary users but breaks down for celebrities with hundreds of millions of followers, where a single post could trigger massive simultaneous writes — a problem known as the Thundering Herd. Facebook resolved this with a hybrid fan-out architecture that applies different delivery strategies depending on a user's follower count.

0
ProgrammingDEV Community ·

Weak RPC Health Check Blocked Web3 Participant Registration on Base Mainnet

A reliability bug was discovered in Agent Bounties, an open-source bounty network built on Base, where a GitHub Actions workflow used an insufficient RPC endpoint health check that only verified the chain ID. The selected endpoint correctly identified itself as Base mainnet but returned an HTTP 403 error when the workflow attempted to read from the participant registry contract, causing registration to fail. Because the endpoint was already committed after the chain-ID check passed, the fallback RPC options were never attempted, blocking participant registration across two separate runner regions. The fix upgrades endpoint selection to probe both the chain ID and a live registry contract read before committing to any endpoint, with three ordered fallback candidates now available. A related bug was also resolved where the final eligibility confirmation was incorrectly passed the full comma-separated RPC configuration string instead of the single validated endpoint.

0
ProgrammingDEV Community ·

Developer Builds AI-Driven Platform to Quantify Drone Threats at Critical Infrastructure

A developer has created Redoubt Analytics, a counter-drone risk intelligence platform designed to help security teams at airports, ports, data centers, and energy grids assess and manage unmanned aerial system (UAS) threats. The platform uses simulation-based modelling and digital twins of specific sites to generate a standardised Exposure Score, replacing fragmented vendor tools with a unified risk framework. It is built to help Chief Security Officers optimise security spending by identifying which countermeasures — such as radar, jammers, or kinetic interceptors — deliver the greatest risk reduction per dollar. Risk officers can use its audit-ready reports for insurance negotiations and regulatory compliance with bodies like the TSA and EASA. The platform is also designed for day-to-day use by Security Operations Centre managers who need reliable, real-time monitoring from any device.

0
ProgrammingDEV Community ·

Developer builds local-first password manager to cut out cloud sync by default

A developer has released SafeVault, a cross-platform password manager built with Flutter that stores vault data locally rather than syncing it to a third-party cloud server. The app uses AES-256-GCM encryption and relies on OS-level secure storage for keys, with multi-device sync available only over local or nearby networks that the user controls. SafeVault is available on iOS, Android, macOS, and Windows across 13 locales, and includes desktop features such as a system tray, global hotkey search, and auto-lock. A built-in security dashboard highlights weak, reused, or outdated passwords and offers inline fixes to address them. The project is aimed at privacy-conscious users and developers who prefer not to trust a hosted backend with an encrypted copy of their credentials.

0
ProgrammingDEV Community ·

Freelancer Shares Mindset Shift That Grew Monthly Revenue from $4K to $11.8K

A freelance developer writing on DEV Community describes how reframing his pitch around business outcomes rather than technical skills helped him more than double his monthly income, from $4,120 to $11,840. At his lowest point, he had $318 in his bank account, a long-overdue invoice, and was charging $27 per hour while losing bids to $12-per-hour competitors. He argues that developers who market themselves by tech stack become interchangeable commodities, forcing a race to the bottom on price. His turning point came when he stopped pitching frameworks and instead positioned himself as someone who solves specific, costly business problems for clients. He also contends that targeting premium clients who treat developers as a revenue investment, rather than a cost, leads to better pay, fewer revisions, and more respectful working relationships.

0
ProgrammingDEV Community ·

CSS dialog styling: why open, :open, and :modal are not interchangeable

The HTML dialog element has two distinct open methods — show() for non-modal and showModal() for modal — and each exposes different CSS styling hooks. Developers can target an open dialog using the [open] attribute selector, the :open pseudo-class (now supported in Safari 26.5), or the :modal pseudo-class, which carries higher specificity and applies only to modal instances. Modal dialogs automatically gain a ::backdrop pseudo-element in the top layer, which can be styled with opacity transitions, blur effects, and @starting-style for smooth open animations. Focus management and page inertness are handled automatically for modal dialogs, but non-modal dialogs leave the rest of the page interactive, requiring overscroll-behavior: contain to prevent background scrolling. A key takeaway from the article is to reserve the dialog element for true modal use cases, and rely on the Popover API for most other overlay patterns.

0
ProgrammingDEV Community ·

SPOKE Board Turns Fruit and Copper Pads into a MIDI Instrument via RP2040

The SPOKE is a CD-sized capacitive touch controller built around the RP2040 microchip, featuring 27 copper pads that each trigger a musical note when touched. It connects to a computer via USB-C and is recognized as a standard MIDI controller, with an accompanying website offering audio visualizers, a drum kit, and a Harmonic Table. Running CircuitPython firmware, the board can be programmed like a Raspberry Pi Pico, and its default pentatonic scale can be customized by editing note values in code. Two expansion ports allow additional sensors to be added, and each pad is paired with a NeoPixel LED that changes color on touch. Notably, any conductive material — including fruit, copper tape, or pencil graphite — can extend the touch inputs, effectively turning everyday objects into playable instruments.

0
ProgrammingDEV Community ·

AI Demand Fuels Memory Chip Boom, but Supply Risks Loom for Investors

Artificial intelligence has transformed the memory semiconductor industry by driving unprecedented demand for high-bandwidth memory (HBM), which is essential for powering AI accelerators. HBM, conventional DRAM, enterprise flash, and hard drives each play distinct roles in the AI infrastructure stack and carry different investment profiles. Micron is currently shipping HBM4 in volume, giving it a competitive edge, though analysts warn that product leadership must be continuously defended as rivals close the gap. Capital expenditure is rising sharply — Micron alone expects around $27 billion in spending — meaning today's investments could become tomorrow's oversupply if demand growth slows. Investors are advised to monitor bit shipment volumes versus pricing trends, inventory levels, and gross margins to distinguish sustainable growth from a cyclical peak.

0
ProgrammingDEV Community ·

How to Deploy LangGraph + MCP Agents as Stable Production Services

Developers running LangGraph and Model Context Protocol (MCP) agents locally often face crashes and erratic behavior when moving to production environments. The core challenge lies in structuring the agent as a long-running service capable of handling continuous requests, recovering from failures, and adapting to distributed system realities. Using Python's signal module, developers can implement graceful shutdown handling for SIGTERM and SIGINT signals to prevent abrupt termination. A key production concern is state persistence — the langgraph.Checkpointer class enables periodic saving and restoration of agent state, ensuring recovery after unexpected crashes. The article presents a foundational service pattern as a starting point for building more scalable and resilient agent deployments.

← NewerPage 48 of 1093Older →