SShortSingh.

Programming

0
ProgrammingDEV Community ·

Linux kernel set to shed 247,000 lines by dropping obsolete 32-bit ARM platforms

Linux kernel maintainer Arnd Bergmann has proposed a branch called board-remove-7.3 that would eliminate approximately 247,000 lines of code from the kernel source tree. The removal targets deprecated 32-bit ARM platforms — including Footbridge, OMAP24xx, i.MX31, and STM32 ports — along with device drivers that exclusively served those platforms. Around 55,000 lines belong to the platform code itself, while the remaining roughly 192,000 lines are drivers that have no remaining hardware to support. The platforms were formally deprecated in Linux 7.3, following standard kernel practice of announcing removal in advance, with Linux 7.5 considered the most likely release for the change to land. Developers maintaining products on these chips are advised to audit their kernel configs now and consider migrating to supported hardware, staying on a long-term stable kernel, or carrying the code as an out-of-tree patch set.

0
ProgrammingDEV Community ·

Google Search Console Now Tracks Instagram, TikTok, YouTube and X Content in Search

Google introduced platform properties in Search Console on July 7, 2026, allowing creators and publishers to measure how their verified social and video content performs across Google Search, Discover, and News. Each social or video account — including Instagram, TikTok, X, and YouTube — must be added and verified individually as a separate property. Once active, users gain access to three report types covering performance metrics like clicks and impressions, high-level discovery trends, and search-traffic milestones tied to specific posts and queries. The feature does not replace native platform analytics; it specifically measures whether content published on those platforms is being discovered through Google. Google says the rollout is gradual, and data may take several days to appear after an account is verified.

0
ProgrammingDEV Community ·

Team Built an Approval Gate Scheduled Precisely When No Human Could Approve It

A software team discovered a critical flaw in their automated pipeline after an approval request timed out during an unattended run. The system had been designed to pause for human sign-off, but the run was deliberately scheduled at a time when no one was available to respond. Compounding the problem, the failure logs could not distinguish between a rejected request and one that was simply never seen, making diagnosis impossible. The team responded by improving failure logging to capture which type of error occurred, and by building awareness of human availability into the pipeline itself. The incident highlights a broader pattern where humans remain nominally present in automated workflows but have effectively disappeared from them in practice.

0
ProgrammingDEV Community ·

Hexagonal Architecture Slowed AI Coding Agent by 38%, Engineer's Experiment Finds

A principal engineer tested whether hexagonal architecture would help an AI coding agent work more efficiently, expecting the structured approach to prove its worth. The experiment used a Java billing service called ChargeLedger, built for an EV charging network, with two versions: one following hexagonal architecture principles and one using a flatter, architecture-neutral design. Across nine features, the hexagonal version took 38% longer to reach acceptance compared to the flat implementation. The engineer concluded that architectural indirection added by habit — such as interfaces with single implementations and pass-through methods — carries a real cost for both humans and AI agents. While not abandoning clean code principles, the engineer now argues that every layer of abstraction requires concrete justification rather than being applied as a default practice.

0
ProgrammingDEV Community ·

Security Analysis Flags 19 Vulnerabilities in Bitfinex Smart Contracts

A DeFi security research report dated September 15, 2026, identified 19 vulnerabilities across Bitfinex's on-chain smart contracts, which collectively secure approximately $18.7 billion in user funds on Ethereum and Layer 2 networks. The analysis categorized nine high-severity issues spanning access control, proxy upgradeability, and cross-chain bridge logic, alongside medium and low-severity flaws involving re-entrancy, oracle manipulation, and flash-loan exploits. Critical findings include an unguarded ownership transfer function, a missing multi-signature requirement for key lending pool operations, an open bridge operator setter, and a governance timelock bypass in the DAO contract. The protocol received an overall risk score of 7 out of 10, indicating a moderately high threat level given its complexity and asset value. Researchers called for immediate remediation of all high-severity items to reduce the protocol's risk posture to a low-to-medium level.

0
ProgrammingDEV Community ·

Why Most AI Projects Fail Long Before a Single Line of Code Is Written

AI software projects most commonly fail not due to coding limitations but because of unclear business goals, unready data, and underestimated technical constraints identified before development begins. Experts warn that teams often start by choosing a technology — such as a chatbot or AI agent — rather than first defining a measurable business problem they want to solve. While building an AI prototype has become relatively straightforward with modern tools, scaling it into a reliable production system demands addressing security, monitoring, cost controls, and integration with existing software. Data quality and accessibility are frequently the harder challenge, as issues like outdated documents, inconsistent records, or unclear data ownership can undermine even the most sophisticated model. Organizations are advised to treat data readiness and business clarity as prerequisites, not afterthoughts, before committing to AI development.

0
ProgrammingDEV Community ·

Go Engineer Details Generic Bitemporal Core Using Type Parameters to Enforce Audit Rules

Software engineer Anton, who works primarily in PHP/Symfony and Go, has published a technical deep-dive on building a single generic core for managing bitemporal data in Go services. The system enforces six strict rules — including no destructive UPDATEs or physical DELETEs — ensuring every domain table tracks both valid time and system time on two separate axes. A single generic type, Revisioned[T], exposes six methods covering current state, point-in-time queries, corrections, and interval closing, with version columns controlled exclusively by the core. The design uses a Spec struct to separate identity, payload, and version column groups, preventing domain code from corrupting the system timeline. Anton notes that per-domain hand-written implementations routinely break these invariants in different ways, making a single shared core the only reliable solution.

0
ProgrammingDEV Community ·

How PHP Developers Survived Without Generics Before Go Came Along

Software engineer Anton, who works primarily in PHP/Symfony and Go, reflects on the challenges of building type-safe code in PHP, a language that has no native generics support. In the absence of type parameters, PHP developers historically relied on interfaces, abstract base classes, mixed arrays, and duck typing to approximate type safety. Tools like Psalm and PHPStan later introduced comment-based generics via annotations such as @template, offering a real but limited form of static analysis. However, these annotation-based types remain vulnerable to silent drift, since they live in comments that can be edited without affecting runtime behavior. Anton now contrasts this era with his current Go-based services, where type constraints are enforced directly by the compiler rather than by convention or optional tooling.

0
ProgrammingDEV Community ·

How One Engineer Wires New Services Into Two Binaries Using a Single Manifest

A software engineer working in PHP/Symfony and Go has detailed the architecture used to register new handlers and consumers across two binaries — a server and a worker — within a single codebase. The system is governed by a central manifest file that defines both daemons, drives the build pipeline, controls deployment parameters, and sets runtime environment variable conventions. Each binary serves a distinct purpose: the server handles incoming gRPC calls, while the worker manages scheduled jobs, consumers, and internal relay tasks. New units of work are wired in through a structured assembly layer, with the manifest acting as the sole source of truth for what gets built and shipped. The approach enforces strict boundaries by ensuring that any binary not declared in the manifest is never built or deployed.

0
ProgrammingDEV Community ·

Developer Releases MiniZinc MCP Tool to Help AI Agents Solve Optimization Problems

A developer has released an open-source tool called MiniZinc MCP, available on GitHub, that connects AI agents to MiniZinc, a free constraint modeling language. The tool enables AI agents to model, validate, and solve combinatorial and optimization problems — such as scheduling, resource allocation, and knapsack-type challenges. MiniZinc works by translating high-level problem models into formats compatible with various solvers, including Constraint Programming, Mixed Integer Linear Programming, and SAT solvers. By pairing large language models with MiniZinc through the Model Context Protocol, developers can describe problems in natural language and let the AI handle formal modeling. The tool exposes capabilities such as listing installed solvers, validating models, and executing them, streamlining the full optimization workflow.

0
ProgrammingDEV Community ·

Top 5 AI Model Routing Tools of 2026: Bifrost Leads with Minimal Latency

Production AI applications running across multiple LLM providers face challenges such as rate limits, outages, and unpredictable inference costs that static code cannot handle. Model routing tools address this by dynamically directing requests based on latency, cost, and provider availability, reducing API errors to near zero. Bifrost, an open-source gateway built in Go by Maxim AI, tops the 2026 rankings by adding only 11 microseconds of overhead per request at 5,000 requests per second. Other notable tools include LiteLLM, Kong AI Gateway, Cloudflare AI Gateway, and OpenRouter, each offering distinct trade-offs across integration, infrastructure, and deployment models. According to Gartner's Hype Cycle for Generative AI, AI routing layers have evolved from optional tooling into standard enterprise infrastructure.

0
ProgrammingDEV Community ·

NiubiGEO Open-Source Tool Lets Developers Audit How AI Models Describe Brands

NiubiGEO has released an Apache-2.0 workbench that tests how AI models describe a product, which competitors they surface, and what sources they cite. Users configure one or more OpenRouter models and optional web search per model, with each model running independently so a single failure does not invalidate other results. The tool distinguishes between prompted brand recognition and unprompted mentions, and separately classifies a mention, a positive description, and an explicit recommendation. Results include original model answers, provider citations, and URLs, though the project cautions that a citation does not explain why a model recommended a product and that publishing content does not guarantee an AI mention. Self-hosting requires Node.js 22 or later and an OpenRouter API key, while model and search API usage incurs charges; the project also offers paid human-led AI testing and GEO optimization services separately.

0
ProgrammingDEV Community ·

phpcpd-next 2.0 launches as fully rewritten MIT-licensed PHP duplicate code detector

Released on September 13, 2026, phpcpd-next 2.0 is now available on Packagist as a complete rewrite — not a refactor — of the PHP copy/paste detection tool that was archived in 2023. The new version switches to an MIT license and introduces three detection engines, including Rabin–Karp for exact matches and a SourcererCC-based engine for structural similarity. It adds support for 28 languages for all tool output, a dead-code detection mode, confidence ranking, and Laravel-specific presets that automatically apply sensible scan exclusions. The tool also outputs SARIF 2.1.0 reports for integration with GitHub Code Scanning and supports incremental caching to speed up repeated runs.

0
ProgrammingDEV Community ·

How to Design Fault-Tolerant AI Workflows That Survive Retries

AI workflows powered by large language models frequently fail at an unglamorous point: the retry, where lost connections or undelivered responses can cause duplicate records or repeated actions. A reliable solution involves designing workflows as state machines with clear boundaries rather than linear conversations. Each tool in the flow should declare an idempotency key derived from business logic, normalized inputs, possible side effects, and a durable receipt format to prevent duplicate execution. An orchestrator should consult an execution log before invoking any tool, proceeding only if a successful receipt exists, retrying on transient failure, or pausing for reconciliation when the state is ambiguous. Tracking metrics like retries per step, ambiguous operations, and receipt reuse rates gives a more meaningful picture of workflow reliability than raw token counts.

0
ProgrammingDEV Community ·

How a pub quiz app fixed WebSocket reconnects that left players stuck for ages

A live pub quiz platform serving around 100 simultaneous players over a single venue WiFi discovered that brief two-second connection drops were causing phones to show 'Reconnecting' for far longer than expected. The root cause was a stale closure bug: the WebSocket onclose handler was reading React state inside a setState updater, which delayed side effects like scheduling a reconnect until after reconciliation. The fix involved mirroring status into a React ref so the handler could read current state and act on it immediately, outside React's update cycle. Separately, the polling fallback interval was doubled from five to ten seconds after engineers calculated that 100 phones polling every five seconds generated roughly 1,200 requests per minute from one IP address, exceeding rate limits and knocking out the entire venue. The team accepted slightly stale data in degraded mode as a deliberate trade-off, reasoning that a lagging leaderboard is less harmful than a complete service outage.

0
ProgrammingDEV Community ·

Five silent failures when automating real Chrome via CDP and how to fix them

A developer running Chrome browser automation using raw Chrome DevTools Protocol (CDP) on a persistent user profile documented five failure modes that produce no exceptions or error messages. Key issues included Chrome silently blocking popups not tied to recognised user gestures, requiring the --disable-popup-blocking launch flag to resolve. OAuth flows caused further problems because some providers navigate the current tab rather than opening a popup, meaning code that only watches for new targets stalls indefinitely. On shared browsers with multiple tabs, automation risked attaching to the wrong OAuth target, requiring pre-click snapshots of target IDs and opener verification. Input events such as clicks and keystrokes were silently ignored when the target tab was in the background, fixed by explicitly calling Target.activateTarget and Page.bringToFront before each interaction.

0
ProgrammingDEV Community ·

Metasploit Framework: Capabilities, Setup, and Common Lab Misconceptions

Metasploit is a widely used penetration testing framework that can be installed on Linux systems via standard package managers and configured with a backend database for session tracking. Once set up, users can run network scans using tools like Nmap to identify potential targets within a controlled lab environment. The framework allows testers to search for and deploy specific exploits, such as those targeting vulnerable services like vsftpd, paired with payloads for remote access. A key practical consideration is that Metasploit's effectiveness is limited against fully patched systems, making regular software updates a critical defensive measure. The guide, attributed to Alex J. on DEV Community, emphasizes using the framework responsibly within authorized lab settings.

0
ProgrammingDEV Community ·

Developer builds free client-side image resizer tool for Etsy marketplace sellers

A developer has released a free, browser-based image resizing tool specifically designed for Etsy sellers, available at etsy-image-resizers.netlify.app. The tool automatically resizes and pads product photos to the required 2000×2000 pixel white-square format and compresses them under 1MB as JPG files. Unlike conventional online converters, the tool processes images entirely on the client side, meaning no photos are uploaded to any external server. The project is open source and hosted on GitHub, with the developer actively seeking user feedback on the crop editor interface. Support for additional platforms such as Poshmark and Vinted is being considered, pending verification of their conflicting published image specifications.

0
ProgrammingDEV Community ·

WCAG Color Contrast Rules Explained: Key Thresholds and Common Pitfalls for Developers

Web Content Accessibility Guidelines (WCAG) define color contrast requirements through a precise mathematical formula based on relative luminance of foreground and background colors, producing ratios between 1:1 and 21:1. The minimum contrast thresholds differ by element type: body text requires a 4.5:1 ratio at AA level, large text (18pt+ regular or 14pt+ bold) requires 3:1, and UI components require 3:1 for non-text elements. Engineers frequently misapply these rules by treating all text uniformly at 4.5:1 or miscalculating the 'large text' threshold, which corresponds to roughly 24px for regular and 18.6px for bold type at default browser settings. A common source of audit failures is context errors rather than calculation mistakes, particularly with translucent layers, where standard audit tools may miss effective contrast because they read declared CSS values rather than the composited pixel result. Developers are advised to verify contrast by sampling actual rendered pixel values and using the WCAG 2.2 specification's luminance formula as a reliable checklist reference.

0
ProgrammingDEV Community ·

How a URL Page Importer Handles Bot Walls, Fallbacks, and Asset Uploads

A developer built a URL import feature for a page editor that clones any public webpage into an editable canvas, with all assets re-hosted on the user's CDN. The tool uses a two-tier capture system: a plain HTTP fetch for simple pages and a headless browser API for JavaScript-rendered content. Rather than silently degrading on all errors, the implementation distinguishes between configuration gaps, transient network failures, and upstream HTTP errors, ensuring users receive meaningful feedback when something goes wrong. To avoid storing bot-challenge pages as content, the importer uses a heuristic detector combining title strings, CSS class markers, and document size thresholds to identify Cloudflare and similar interstitial screens. The tier that produced each result is surfaced in the UI, so any invisible degradation does not become a misfiled support ticket.

← NewerPage 1221 of 3227Older →