SShortSingh.

Programming

0
ProgrammingDEV Community ·

How a Silent OCR Bug Returned Blank PDFs While Appearing to Succeed

A web-based OCR tool spent months producing searchable PDFs that contained no actual text, with every stage of failure masked by code that swallowed errors silently. A resolution-dependent canvas crash in pdf.js went undetected because it only triggered above a certain image size threshold, making it invisible during low-resolution testing. A renamed data field in tesseract.js v7 was read through a fallback that treated an undefined value as an empty result, while a required output flag defaulted to null rather than signalling it was missing. Unsupported characters in six of twelve languages caused per-word encoding exceptions that were caught and discarded, leaving pages wordless but clean. An error classifier then misread an internal crash message as a file-corruption warning, incorrectly telling users their own PDFs were damaged.

0
ProgrammingDEV Community ·

How a single dead DNS pod silently broke one-third of API gateway traffic

An API gateway began returning 'Upstream Service Unavailable' errors for roughly a third of all requests, with no code changes, deployments, or backend failures to explain it. The root cause was an nginx worker holding a long-lived UDP socket pointed at a CoreDNS pod that Karpenter had already replaced during routine node cycling. Because nginx only reopens a DNS socket on an explicit error — not on a timeout — the worker kept querying a pod that no longer existed, causing silent DNS failures and downstream 502s. A misconfigured nginx setting allowed one worker to monopolize incoming connections, meaning a single broken socket effectively crippled the entire pod. Engineers confirmed the diagnosis by predicting failure patterns and deliberately deleting a live CoreDNS pod, ruling out an initially suspected port-exhaustion theory.

0
ProgrammingDEV Community ·

Why storing '2026-27' as a database key beats computing date ranges each time

A software developer writing for DEV Community explains a database design decision made while building a school and university discount redemption system. Rather than computing academic year date ranges dynamically on every query, each redemption row is stored with a short string key like '2026-27' representing the academic year it belongs to. This approach turns cap-usage checks into fast, indexed equality lookups instead of timestamp range scans. More importantly, it preserves historical accuracy: if the academic year start month is ever changed, stored period keys ensure past redemptions are not silently reclassified. The author draws a parallel to storing the price paid on an order row, arguing that any fact tied to a decision should be recorded at the moment it is made, not recomputed from rules that may later change.

0
ProgrammingDEV Community ·

Dev team shipped and pulled a guest play feature within 56 minutes after spotting a flaw

A software team at a quiz or practice-game platform launched a guest play feature allowing signed-out users to try one free game per provider, only to remove it 56 minutes later. The feature broke immediately because question banks had recently been moved behind an authenticated API route, causing guests to hit a 401 error and see a loading spinner instead of content. Two potential fixes — opening the bank route publicly or mapping free games to specific banks — were both rejected as unreliable or counterproductive. The team instead built a short-lived signed permit system to grant guests temporary access to question banks, a solution they considered well-designed. However, building that workaround made it clear the overall guest play approach was too complex, prompting them to delete the feature and require account creation for game access.

0
ProgrammingHacker News ·

NEC V20 CPU Upgrade Offers Performance Boost for Vintage IBM XT PCs

The NEC V20 is a drop-in CPU replacement for the Intel 8088 found in classic IBM XT-class personal computers. The chip, manufactured by NEC, offered modest but measurable speed improvements over the original Intel processor it was designed to replace. It achieved this through a more efficient internal architecture while maintaining full compatibility with existing 8088 software. The upgrade was popular among vintage PC enthusiasts seeking a simple, low-cost way to improve system performance. The topic resurfaced on Hacker News, attracting discussion among retro computing fans.

0
ProgrammingDEV Community ·

kern: Open-Source Tool Maps Codebases Locally for AI Agents via AST Analysis

Developer Jayveer Prajapati has released kern, a free open-source tool that builds a local Abstract Syntax Tree index of code repositories to give AI agents like Claude and Cursor precise, context-aware code insights. The tool integrates with AI workflows through the Model Context Protocol and runs entirely on the user's machine, eliminating cloud data exposure and API costs. kern detects over 74 programming frameworks and uses native AST parsing to map call paths, identify dead code, and flag architectural issues without relying on regex guesswork. It also includes a reusable GitHub Action that calculates a mathematical risk score for pull requests and can automatically block high-risk merges before they reach production. Users can set up and index a project with a few commands, and the tool tracks token and cost savings natively through built-in analytics commands.

0
ProgrammingDEV Community ·

Guide Shows How to Build a Self-Healing Web Data Pipeline with Node.js and Bright Data

A developer tutorial published on DEV Community outlines how to construct a modular, AI-ready web data pipeline using Node.js and Bright Data's Scraper Studio. The guide uses a Texas real-estate listing tracker on HAR.com as a practical example, demonstrating live data collection filtered by city and bedroom count with price-change detection over time. The architecture separates web extraction from application logic into two distinct layers, so the pipeline can be repaired when a target site changes without rewriting core application code. This separation follows the Dependency Inversion and Ports-and-Adapters design principles, ensuring the Node.js layer interacts only with a stable data contract rather than raw HTML or DOM structure. The tutorial claims the same pipeline design can be reused across domains such as e-commerce, job boards, and financial data monitoring.

0
ProgrammingDEV Community ·

Developer Releases PySQLe to Bind Raw SQL Queries to Python Functions

A developer has released PySQLe, a new open-source Python library that links raw SQL queries directly to native Python function definitions. Users subclass a PysqleModule base class and define methods that return SQL strings, then decorate them with result-type decorators such as one, many, or scalar to control execution and output. The library supports standard Python features like type annotations, default parameter values, and positional or keyword arguments, which are passed through to the database at query time. PySQLe uses SQLAlchemy connection strings under the hood and is available on PyPI via pip install pysqle, with source code hosted on Codeberg. The author describes it as a first version and plans future improvements including better type annotation support and compatibility with PugSQL-annotated SQL files.

0
ProgrammingDEV Community ·

CBN Opens Regulatory Sandbox Cohort 2 to Unlicensed Nigerian Fintech Startups

The Central Bank of Nigeria (CBN) has launched Cohort 2 of its Regulatory Sandbox, making it accessible to unlicensed fintech startups with working minimum viable products for the first time. The program runs for six to twelve months and provides supervised testing with real users under CBN oversight, culminating in a readiness assessment for a full licence application. Applicants can apply under one of two tracks: a VASP track for crypto and digital asset products, or a Non-VASP track covering open banking, payments, fraud detection, and financial inclusion services. To qualify, startups must demonstrate meaningful innovation, have no outstanding regulatory sanctions, and meet compliance requirements including AML policies, data protection, cybersecurity controls, and a named compliance officer. Experts advise builders not to pursue the VASP track unless their product genuinely involves digital assets, as it carries significantly greater regulatory and technical complexity, including SEC Nigeria oversight and blockchain analytics obligations.

0
ProgrammingDEV Community ·

monday.com Shares Its Approach to Testing AI Agents Against Real Systems

monday.com recently detailed its methodology for evaluating AI agents in a webinar recap published on DEV Community on September 21. The company, known for its work management platform, outlined how it runs agent evaluations against real dependencies rather than mocked environments. The recap was authored by Arsh Sharma for MetalBear and covers practical insights into AI and LLM testing. This approach aims to ensure AI agents perform reliably under actual production conditions. The discussion is part of a growing industry focus on robust evaluation frameworks for AI-powered systems.

0
ProgrammingDEV Community ·

How monday.com Built Agent Evals Against Live Staging Instead of Mocks

monday.com AI Engineering Director Dor Cohen shared insights in a September 15 webinar on why his team chose to run agent evaluations against a live staging cluster rather than mocked dependencies. Cohen demonstrated that mocks fall short because they drift from production, use unrealistically clean synthetic data, and cannot accurately represent stateful changes made by an agent. A key example showed an agent that appeared to complete a task correctly but had silently processed only 500 of 600 requested items — a flaw only caught by evaluating the full action trajectory, not just the final output. To connect eval runners directly to a real Kubernetes environment, monday.com adopted mirrord, a tool that mirrors live traffic, secrets, and file systems to a local or CI process. The approach gives their evals production-level fidelity, enabling them to catch edge cases and verify actual end states that mock-based testing would miss.

0
ProgrammingDEV Community ·

15 AI Search Guides Reviewed: Four Key Checks Before You Act on Their Advice

A review of 15 top-ranking guides on AI search optimisation found several widely repeated recommendations lack solid evidence or practical context. Schema markup, endorsed by all five 'LLM SEO' guides, showed statistically no effect on ChatGPT citations in an Ahrefs study tracking nearly 1,900 pages over seven months. AI visibility scores are highly volatile — with just 30 data points, a 10-percentage-point swing can be statistical noise rather than a meaningful change, as Semrush's own head of AI visibility has noted. Guides also largely fail to distinguish between OpenAI's three crawlers — OAI-SearchBot, ChatGPT-User, and GPTBot — which serve different purposes and carry different implications for how a site appears in ChatGPT responses. The review, conducted while building guides for tool Shruwd, underscores the importance of checking sources and sample sizes before acting on AI search advice.

0
ProgrammingDEV Community ·

Why Finance AI Agents Need Evaluation Harnesses, Not Just Better Prompts

AI-powered finance agents can generate confident-sounding but incorrect decisions, making prompt engineering alone an insufficient quality control strategy for accounting automation. Experts recommend building an evaluation harness — a repeatable test system that runs realistic financial scenarios through an agent and scores outputs against predefined expectations. A robust test dataset should include routine, missing-evidence, conflicting, and adversarial cases, with expected behaviors stored as structured data to enable regression testing. Rather than relying on a single quality score, evaluations should be layered across schema validity, evidence grounding, policy compliance, and decision accuracy. This approach ensures that agent behavior remains auditable, within authority boundaries, and reliable enough for production use.

0
ProgrammingDEV Community ·

LLMFit Helps Developers Match Open-Source AI Models to Their Hardware

A tool called LLMFit has been developed to help users identify which open-source large language models (LLMs) are compatible with their local hardware. The tool scans a system's CPU, RAM, and GPU specifications and recommends models that can run efficiently on that machine. It aims to eliminate the trial-and-error process of downloading models that may be too demanding for a given device. LLMFit is particularly useful for developers experimenting with local AI tools such as Ollama or building side projects with LLMs. The project is available on GitHub.

0
ProgrammingDEV Community ·

Dev Tool Adds Oracle Safety Check to DeFi Agents Before Trade Execution

A new pre-trade safety mechanism has been proposed for decentralized finance (DeFi) agents to verify oracle price data before submitting transactions. The tool targets a key vulnerability where technically valid transactions can still result in poor outcomes due to stale or inconsistent price feeds. The risk is particularly acute in lending protocols, where even minor oracle discrepancies can erode a position's liquidation buffer before a borrow is executed. The project, shared on DEV Community, includes a reference implementation available on GitHub alongside a dedicated information site. The initiative aims to add a reliability layer to automated DeFi agents that rely on real-time price data for decision-making.

0
ProgrammingDEV Community ·

How to Integrate st-core.fscss CSS Charts into a Svelte App at Build Time

The st-core.fscss library renders charts using pure CSS clip-path polygons and custom properties, requiring no JavaScript chart library, SVG, or canvas. Integrating it into a Svelte or SvelteKit project involves compiling the FSCSS source file into static CSS once at build time using the FSCSS CLI, rather than loading a runtime CDN script on every page load. Svelte's role is limited to reactively mapping data values to CSS custom properties such as --st-p1 and --st-p2, while the browser handles rendering via the compiled CSS. A key constraint is that the array length defined in the FSCSS template must match the number of data points, as it determines the polygon geometry and cannot be changed without recompiling. The article provides component examples for both Svelte 4 and Svelte 5, along with package.json scripts to automate compilation before each build.

0
ProgrammingDEV Community ·

Most structured data parsers miss JSON-LD inside @graph blocks, audit finds

A developer discovered that nine out of twelve structured data audit tools, including their own, fail to detect schema markup when it is wrapped inside a JSON-LD @graph block rather than a flat top-level object. The @graph format is the default output of popular WordPress SEO plugins Yoast SEO and RankMath, meaning a large share of correctly marked-up web pages are being misread as having no structured data. Unlike flat JSON-LD, the @graph structure allows schema nodes to reference each other by ID, forming a single linked entity graph rather than isolated, redundant blocks. The author identified the bug in their own tool after a well-marked page returned a zero schema score, and traced the root cause to parsers checking only for a top-level @type field. A fix involving recursive node iteration — handling both flat and @graph shapes at the parse boundary — is proposed so that no downstream check needs to account for either format separately.

0
ProgrammingDEV Community ·

Developer stress-tests AI cost-monitoring agent using chaos testing and red teaming

A software developer subjected their AWS cost-monitoring AI agent, built on Amazon Bedrock's AgentCore Runtime using the Strands framework, to deliberate failure and adversarial testing. The agent, which daily reads AWS billing data and emails a color-coded spending report, had never been tested under adverse conditions such as API timeouts, partial data returns, or prompt manipulation. Using Strands Evals 1.0, which shipped chaos testing and red-teaming tools in June, the developer built an isolated lab replica of the agent running on fixture data to avoid incurring real API costs during testing. The key concern was not outright crashes but silent, believable failures — such as a falsely reassuring green-status report while cloud costs quietly escalate. The developer's stated goal is to share replicable testing methods so others can apply the same adversarial evaluation approach to their own AI agents.

0
ProgrammingDEV Community ·

Developer Launches Free AI Toolkit for LinkedIn Profiles, Resumes, and Bios

A developer has released ProfileCraftAI, a free, no-signup toolkit designed to help users write LinkedIn headlines, resume summaries, professional bios, and more. The platform offers eight tools in total, built using Next.js for the frontend and Groq's Llama-based API for near-instant text generation, deployed on Vercel. The project was motivated by the developer's observation that many people struggle to articulate their professional identity in writing. Key lessons from the build include the importance of carefully structured prompts to avoid generic AI output, adding educational content alongside each tool to build user trust, and implementing rate limiting early to prevent abuse. The toolkit is publicly accessible at profilecraftai.com, and the developer is actively seeking community feedback on usability and missing features.

0
ProgrammingDEV Community ·

How Disposable Email Checkers Protect Sender Reputation and Block Signup Abuse

Disposable email addresses pose a significant risk to businesses running SaaS products, newsletters, or waitlists, as these inboxes typically expire within hours and cause hard bounces that damage a sender's domain reputation. Sustained bounce rates above roughly 2% can cause mailbox providers to route all outgoing mail — including legitimate messages — to spam folders. Tools like Reloop's free Temp Email Checker address this by matching signup addresses against a catalogue of approximately 210,000 known disposable providers, validating MX records, and flagging role-based prefixes, all without probing actual mailboxes. Beyond deliverability, blocking disposable emails at the point of registration also prevents free-trial farming, coupon fraud, waitlist inflation, and multi-account bot abuse. The recommended approach is to validate email addresses before they enter a database, then immediately suppress any hard bounces to prevent dead addresses from receiving follow-up sends.

← NewerPage 1050 of 3196Older →