SShortSingh.

Programming

0
ProgrammingDEV Community ·

Why AI Agents Need Stricter Architecture Decision Records Than Humans Do

A senior software engineer and tech lead building toward fully autonomous 'Level 5' AI development has published a detailed framework for writing Architecture Decision Records (ADRs) specifically designed for AI agents. Unlike human-readable ADRs, agent-readable versions require four additional sections: an invariant statement, a list of 'dangerous improvements,' yes/no agent check questions, and a consequence table of observable violations. The need for this stricter format was demonstrated through a real codebase incident, where an AI agent optimizing an order creation endpoint made a locally reasonable change that broke a critical system invariant. The author credits Dan Shapiro's 'Five Levels' framework and AI strategist Nate B. Jones for the conceptual foundation behind the newsletter series. The core argument is that agents cannot infer intent or ask clarifying questions mid-implementation, making explicit, machine-legible constraints essential before violations are embedded in code.

0
ProgrammingDEV Community ·

Developer builds local MCP memory layer to cut AI context costs in coding sessions

A developer has built an open-source tool called zerikai_memory to solve the recurring problem of re-establishing project context at the start of every AI coding session, which wastes tokens and increases API costs. The tool runs as a memory layer behind Claude Desktop via the Model Context Protocol (MCP), storing indexed project knowledge locally rather than relying on the AI's context window. It uses Tree-Sitter to parse source files into Concrete Syntax Trees without any LLM inference, supporting Python, JavaScript, TypeScript, HTML, and Markdown. A multi-stage retrieval pipeline — combining vector search, lexical re-ranking, and source citations — ensures only the most relevant context is surfaced to the IDE or chat session. The system supports fully local operation via Ollama, cloud mode via DeepSeek, or a hybrid setup, and is designed to keep API bills manageable while preserving session continuity.

0
ProgrammingDEV Community ·

How to Diagnose and Fix Next.js Performance Issues the Right Way

Developers often approach Next.js optimization too broadly, making multiple changes at once without knowing which one actually helped. A more effective method involves identifying a specific slow route and symptom before touching any code. Key diagnostic steps include recording baseline metrics such as TTFB, LCP, bundle size, and request count, then determining whether the bottleneck lies on the server or in the browser. Tools like bundle analyzers and simple timing helpers can pinpoint whether the issue stems from a slow CMS, oversized client components, or third-party scripts. The guide also recommends keeping components server-side by default and only using client components where browser interaction is genuinely required.

0
ProgrammingDEV Community ·

How to Refactor a Bloated Next.js Middleware File Using the NEMO Pattern

Next.js middleware files often start simple but grow unwieldy as redirects, locale handling, authentication, and security headers accumulate in a single file. The core problem is mixed responsibility, where unrelated logic coexists without a clear execution order, making changes risky and hard to test. A practical solution involves splitting middleware into discrete rules, each handling one concern, arranged in an explicit priority sequence. The NEMO library formalizes this composition pattern, treating middleware as an ordered set of independent proxy rules rather than a chain of nested conditionals. Keeping internal paths like static assets and health checks at the top of the rule list reduces unnecessary processing and prevents unintended side effects.

0
ProgrammingHacker News ·

One Writer's Personal Strategy to Resist Digital Overload and Distraction

A writer has shared their personal approach to reclaiming mental clarity amid the growing phenomenon of 'enshittification' — the gradual degradation of digital platforms and online experiences. The piece, posted on a personal blog, outlines practical steps the author takes to feel calmer and more in control of their daily life. The article gained modest traction on Hacker News, attracting 12 upvotes and brief discussion. The term 'enshittification,' coined to describe how tech platforms deteriorate over time, has become a widely referenced concept in online discourse. The post reflects a broader public concern about the psychological toll of increasingly manipulative and low-quality digital environments.

0
ProgrammingDEV Community ·

Six Private Dart/Flutter Package Registries Compared: Pricing, Features, and Trade-offs

A detailed comparison of six private package registry providers for Dart and Flutter — Cloudsmith, Inedo ProGet, JFrog Artifactory, OnePub, GLPub.dev, and Publy — has been published, with pricing verified against each provider's own pages as of August 2026. Options range from cloud-hosted general-purpose registries like Cloudsmith (free tier: 500MB storage) to self-hosted solutions like ProGet, which offers unlimited users on its free edition. Dart 3.9's new tag_pattern feature for git dependencies reduces the need for a registry in smaller projects, but limitations around mutable tags, URL-based package identity, and per-repo access management persist. For teams managing a handful of packages, git-based workflows with tag_pattern may suffice, but larger interdependent multi-package setups are likely to benefit from a dedicated registry. Billing models vary significantly, spanning per-seat, flat per-organisation, usage-based, and flat per-server licensing structures.

0
ProgrammingHacker News ·

Efforts to Revive the SuperH CPU Architecture Explored in Linux Community

A 2015 article from LWN.net examined ongoing efforts to resurrect the SuperH (SH) processor architecture within the Linux ecosystem. SuperH, originally developed by Hitachi, had seen declining maintenance and risked being dropped from the Linux kernel. Developers in the open-source community worked to restore and modernize its support to keep the architecture viable. The discussion resurfaced on Hacker News, drawing renewed attention to the historical and technical significance of the SuperH platform.

0
ProgrammingDEV Community ·

Claude, Gemini, and Codex Share CVSS 10.0 Flaw Tied to Classic TOCTOU Bug

A critical security vulnerability rated CVSS 10.0 has been identified in AI coding agents from three major vendors — Claude Code, Gemini CLI, and OpenAI Codex — stemming from a time-of-check-to-time-of-use (TOCTOU) architectural flaw. The agents validate external inputs such as GitHub issues, .env files, and config files once, then act on them later with full privileges, creating a window for malicious content injection. This design pattern could allow attackers to exfiltrate CI secrets through seemingly benign repository inputs. While no in-the-wild exploitation has been publicly confirmed and vendors have issued patches, security researchers warn the fix addresses only one instance of a broader architectural problem. Teams using these tools in CI pipelines are advised to apply least-privilege principles, use scoped tokens, and demand clarity from vendors on where input validation occurs relative to agent execution.

0
ProgrammingDEV Community ·

Browser-Based JPG-to-SVG Conversion Now Possible Entirely via WebAssembly

Developers can now convert raster images to SVG entirely within the browser using WebAssembly, eliminating the need to upload files to a server. The pipeline involves seven stages, including image decoding, downscaling, canvas rendering, and running a WebAssembly vector tracer in short time slices to avoid freezing the browser tab. To keep the initial page lightweight, the WebAssembly tracer module is loaded on demand and cached so subsequent conversions reuse the same initialized instance. Images are downscaled to a bounded resolution before tracing to prevent performance issues and reduce noisy output, while the final SVG retains the original image dimensions. The approach is best suited for flat artwork such as logos, icons, and illustrations rather than complex photographs.

0
ProgrammingDEV Community ·

ASTC Is Not Always the Best Mobile Texture Format for Unity on iOS and Android

A detailed technical guide published on DEV Community in July 2026 challenges the assumption that ASTC is automatically the correct texture compression format for Unity projects targeting iOS and Android. On Apple hardware, the A8 chip marks the boundary for LDR ASTC support, while Android developers are advised to use AAB with ETC2 as the default format and ASTC as a supplemental option via Texture Compression Targeting on Google Play. ASTC block sizes such as 4x4, 6x6, and 8x8 are not quality presets but define how many texels are encoded in a fixed 128-bit block, directly affecting memory footprint. The guide recommends using 6x6 for general textures, 4x4 to 5x5 for text and high-detail UI, and 8x8 for low-frequency backgrounds where visual quality allows. It also clarifies that PNG or JPEG file size has no direct bearing on GPU memory usage, which is determined solely by the runtime GPU texture format.

0
ProgrammingDEV Community ·

How to Build a Browser-Based Ringtone Editor Using the Web Audio API

Developers can build a fully functional audio trimmer that runs entirely in the browser without any server-side processing or file uploads. Using the Web Audio API and a zero-dependency JavaScript module called ringtone-slicer, users can load a local audio file, select a time range, and export a trimmed clip. The process involves decoding the file into an AudioBuffer, converting time values to sample positions, applying short fade-ins and fade-outs, and encoding the result as a 16-bit PCM WAV file. The final output is packaged as a Blob and made available for in-browser preview or direct download via an object URL. The tutorial covers key implementation details including sample-accurate slicing, multi-channel support, and proper memory cleanup with URL.revokeObjectURL().

0
ProgrammingDEV Community ·

Developer builds Rust and Tauri-based network analyzer focused on privacy and usability

A developer has created NetPulse, a local-first network observability tool built with Rust and React/Tauri, as a more accessible alternative to Wireshark. Unlike traditional packet analyzers, NetPulse presents network activity in plain-English summaries, interactive flow diagrams, or raw packet data depending on the user's expertise level. The tool automatically correlates network traffic with the specific local processes that generated it, eliminating the need to cross-reference external utilities. All captured data remains entirely on the user's machine, addressing privacy concerns associated with cloud-based telemetry tools. NetPulse also includes built-in anomaly detection engines for threats such as DNS tunneling and port scanning, each accompanied by a calibrated confidence score tied to packet-level evidence.

0
ProgrammingDEV Community ·

How Vue 3 and pdf-lib Enable Browser-Based PDF Splitting by File Size

A developer tutorial on DEV Community outlines how to build a browser-based PDF splitter that divides files by target size using Vue 3 and the pdf-lib library. Unlike splitting by page count, size-based splitting is complex because PDF file size varies widely depending on image resolution, font embedding, and content type. The proposed approach uses greedy page accumulation, incrementally saving the PDF after each page addition to estimate byte size rather than relying on simple arithmetic. When a page would push the current chunk over the size limit, the tool closes that file and begins a new one, ensuring no pages are lost even if a single page exceeds the target. The finished tool packages all output chunks into a ZIP file and includes user-selectable compression levels and a progress indicator for handling large documents.

0
ProgrammingDEV Community ·

Developer Scraps Six-Month AI Project to Build Modular 'Circuit' Architecture

After six months of failed attempts to make version 2 of an AI system work, a developer pivoted to a new modular architecture called v3 following an unexpected breakthrough with small, specialized circuits. The key insight was that narrow, purpose-built circuits outperformed a general-purpose monolithic model at specific tasks, using far fewer parameters and training in seconds. Version 3 replaced the single-pipeline design with a fleet of specialized circuits — including PropertyCircuit, RelationalCircuit, CausalCircuit, and ChainReasoner — each independently trainable and deployable. A set of ten guiding rules, documented in a file called TRUTH.md, was established to govern future architectural decisions, drawn from lessons learned across prior development failures. The central brain layer was retained but demoted from the system's core to one expert among many, consulted only when its capabilities matched the task.

0
ProgrammingDEV Community ·

NETO offers dev teams encrypted P2P local chat with no cloud or accounts

NETO is a peer-to-peer messaging tool built for development teams who communicate over a shared local network or VPN. It requires no central server, no user registration, and ensures no data leaves the local environment. The app uses multicast DNS to automatically discover other peers on the network, eliminating the need for manual IP or port configuration. Encryption is handled via X25519 key exchange, with ephemeral keys negotiated between each pair of users. NETO positions itself as a privacy-focused alternative to cloud-based tools like Slack for sharing sensitive information such as tokens, passwords, or architectural details.

0
ProgrammingDEV Community ·

California AB 723 Requires AI Image Disclosure Links, But Few Actually Comply

California's AB 723, in effect since January 1, 2026, requires real estate listings using AI-altered images to display both a visible disclosure label and a link or QR code pointing to the original, unaltered photo. While most platforms have implemented the on-image text label, the second requirement — a publicly accessible comparison URL — is widely overlooked. A developer building a virtual staging product found that compliance links were rarely clicked because they were buried in listing descriptions rather than embedded directly on the image. The law covers alterations such as added furniture, sky replacements, and landscaping changes, but exempts basic adjustments like exposure correction, cropping, and sharpening. Four other U.S. states are reportedly considering similar legislation, making proper implementation increasingly relevant for real estate tech products.

0
ProgrammingDEV Community ·

Step-by-Step Guide to Building a Tableau Dashboard and Story for Your Portfolio

A practical guide published on DEV Community walks users through creating a published Tableau dashboard and three-point story using the free Telco Customer Churn dataset from Kaggle, which contains 7,043 customer records. The tutorial instructs readers to build four focused worksheets — a single summary number, two bar charts, and a scatter plot — then arrange them on one dashboard screen. A separate story feature sequences three of those views with captions to guide the audience toward a clear recommendation. The guide emphasizes preparing data upstream in SQL, Python, or Excel before connecting to Tableau, outlining specific formatting rules such as one row per record, binary outcome columns, and readable field names. The finished workbook is hosted on a public Tableau Public URL, making it suitable for job applications, though the guide cautions that publishing also makes the underlying data publicly downloadable.

0
ProgrammingDEV Community ·

Six-Step Debugging Loop That Helps Analysts Push Through Technical Roadblocks

A guide published on DEV Community outlines a repeatable six-step method called 'technical tenacity' for handling common technical failures during data and analysis work. The approach encourages developers to read error messages carefully, form a single testable hypothesis, and verify issues from a second vantage point rather than repeating the same failed action. The guide stresses changing only one variable at a time and setting a 30-minute time-box before switching strategies entirely. Four real incidents from a portfolio project — including a firewall block, a phantom database table, and a stalled query — are used to illustrate the method in practice. The author argues that staying methodical under frustration, not innate talent, is what separates analysts who ship work from those who stall.

0
ProgrammingDEV Community ·

SQL's COUNT Function: How COUNT(*), COUNT(column), and COUNT(DISTINCT) Differ

The SQL COUNT function has three distinct forms that behave differently and commonly confuse developers in interviews and on the job. COUNT(*) tallies every row in a table regardless of NULL values, while COUNT(column) only counts rows where the specified column is not NULL. COUNT(DISTINCT column) goes further by counting only unique non-NULL values in that column. The gap between COUNT(*) and COUNT(column) is a practical way to measure missing data in a dataset. Comparing COUNT(*) with COUNT(DISTINCT column) also serves as a quick method to detect duplicate records in a table.

← NewerPage 250 of 1348Older →