SShortSingh.

Programming

0
ProgrammingDEV Community ·

Why Arabizi — Arabic Written in Latin Letters and Digits — Trips Up AI Models

Arabizi is a widely used writing system in which Arabic speakers substitute digits for consonants that have no Latin equivalent, such as '7' for ح and '3' for ع, and has been common across the Levant, Egypt, and the Gulf long before smartphones. The core problem lies not in AI models themselves but in their tokenizers, which were trained on corpora containing virtually no Arabizi and therefore split letter-digit boundaries into fragments, turning a single common word like 'el7amdulillah' into six disconnected pieces. This fragmentation inflates token counts and strips words of their meaning, leaving the model to interpret stray digit tokens through a numeric lens drawn from invoices and dates in training data. That numeric bias creates a practical extraction bug: automated pipelines scanning for numbers in a message can mistakenly harvest letter-digits alongside real figures, causing errors in fields like order quantities or reference codes. When models are asked to generate Arabizi in response, they lack consistent training signal for regional conventions and produce inconsistent or garbled transliterations.

0
ProgrammingDEV Community ·

Approval Testing Offers a Rigorous Way to Validate AI Prompt Outputs

Approval testing, a method predating snapshot testing, uses two files per test case to validate outputs: a '.received' file generated at runtime and a '.approved' file committed to the repository after human review. When both files match exactly, the test passes; if they differ, a diff tool highlights the change for a human reviewer to assess and approve. The approach is available across multiple languages including Python, Java, .NET, C++, and JavaScript through the ApprovalTests library. Unlike snapshot testing, which implies correctness, approval testing only claims that a named person reviewed and accepted a specific output at a specific time, creating a built-in audit trail via git blame. However, the method has clear limits: it detects changes effectively but cannot catch errors that were present and approved from the start, such as a prompt that has always mishandled certain data formats.

0
ProgrammingDEV Community ·

ChatGPT Cites Early Page Content Far More Often, Study of 18,000 Sources Finds

A new analysis by Growth Memo examined roughly 1.2 million ChatGPT prompts and responses, identifying 18,012 verified citations to study how page position affects AI referencing. The research found that 44.2% of citations came from the first 30% of a webpage, while content in the final 10% accounted for only 2.4–4.4% of citations. This ski-ramp-shaped distribution suggests that placing clear, verifiable information early on a page increases its likelihood of being cited by AI systems. Beyond content strategy, the findings raise governance concerns around source attribution, data ownership, licensing, and keeping published claims current and traceable. Experts note that organizations need robust internal controls linking published claims to their underlying data, approval status, and update history to manage both reputational and legal risk.

0
ProgrammingDEV Community ·

A Technical Checklist for Diagnosing and Fixing WordPress Performance Issues

WordPress performance problems often go beyond installing a caching plugin, involving the server, database, JavaScript, CSS, images, and third-party resources working together. Developers are advised to start by measuring server response time, since a slow Time to First Byte points to infrastructure issues that frontend fixes cannot resolve. Google's Core Web Vitals — LCP, INP, and CLS — offer structured metrics to pinpoint where real users experience slowdowns. Images, especially the Largest Contentful Paint element, require careful handling around dimensions, format, compression, and load priority rather than blanket lazy-loading. JavaScript and CSS should also be audited for unnecessary or page-wide loading, with conditional and deferred delivery used to reduce render-blocking requests.

0
ProgrammingDEV Community ·

How to Build a Node.js Invoice Summarization API Using Chat Completions and JSON Output

A structured approach to building a Node.js text summarization API involves counting tokens before processing, splitting long invoices into bounded chunks, and summarizing each chunk into a consistent JSON format. Each chunk prompt extracts fields such as supplier name, invoice number, date, total, and currency, with missing values returned as null rather than guessed. A final combination pass merges structured chunk results using a map-then-reduce pipeline, preserving chunk order and source labels so reviewers can trace outputs back to their origin. The guide warns that latency metrics are visible by default, but extraction quality must be deliberately instrumented, since a fast but incorrect invoice total is more dangerous than a slower, verifiable one. Developers are advised to evaluate model choices against redacted sample invoices for field accuracy and latency, rather than relying on model names from blog posts.

0
ProgrammingDEV Community ·

Model Migrations Can Silently Break AI Agent Behaviour Without Any Code Changes

Switching the underlying model in an AI agent system can dramatically alter planning behaviour even when the system prompt, tools, and task remain identical. The core issue is that different models vary in how much reasoning they externalise as separate turns versus handling internally within a single response. This makes iteration-based loop guards unreliable, as they measure a model's formatting habits rather than actual work completed. Common symptoms include fewer turns with skipped verification steps, unexpected cost spikes, parallel tool calls collapsing multiple steps into one, or downstream parsers failing when expected narrative blocks disappear. Developers are advised to treat turn count as a proxy metric that must be recalibrated after any model migration rather than a stable measure of agent progress.

0
ProgrammingDEV Community ·

Why Arabic and Hebrew Vowel Ambiguity Poses a Unique Challenge for AI

Arabic and Hebrew are abjad scripts that write consonants but omit most vowels, leaving readers to infer pronunciation and meaning from context. A single three-letter consonantal root can correspond to multiple distinct words — for example, the Arabic root k-t-b can mean 'he wrote,' 'it was written,' or 'books' depending on unwritten vowel patterns. While both scripts have full vowel notation systems available, these are reserved for sacred texts, children's books, and dictionaries, meaning the vast majority of AI training data contains no vowel markers. As a result, AI language models trained on Arabic or Hebrew must disambiguate unvocalised words the same way human readers do — by relying on syntactic position, surrounding words, and frequency patterns. This works well with sufficient context but breaks down with isolated inputs like search queries or form fields, where contextual clues are absent.

0
ProgrammingDEV Community ·

Weekly cache expiry was behind recurring CI timeouts, not random flakiness

A development team repeatedly saw a CI linter job fail with a timeout error, only for it to pass when re-run, leading them to dismiss it as flaky behavior. Investigation revealed the job took 311 seconds against a 300-second budget — but only when the cache was cold after its seven-day expiry cycle. The second run passed quickly because it benefited from a freshly populated cache, masking the real problem rather than resolving it. This meant the build was silently failing once a week, every week, with the surrounding warm-cache days hiding the pattern. The fix was straightforward: raising the timeout limit from 5 to 15 minutes, with a comment documenting the root cause to prevent future teams from rediscovering the issue.

0
ProgrammingDEV Community ·

Why AI Systems Must Track Community and Third-Party Data Signals

Community and third-party signals — such as user discussions, specialist forums, and external feedback — are increasingly shaping what AI systems present to users, raising concerns about data provenance and governance. Unlike first-party content, organizations have little control over how they are discussed externally, yet those discussions can influence AI-generated outputs. Governance teams are being urged to document the origin, context, permissions, and traceability of signals that inform AI results. For publishers and brands, the issue carries commercial weight, as source attribution and content licensing become more consequential in an AI-driven information landscape. Experts note that visible citations alone are insufficient — organizations need a fuller view of the information lifecycle to explain, audit, or correct AI-assisted outputs.

0
ProgrammingDEV Community ·

How to Decouple CRM Device Tracking from MDM Platforms Using NestJS

Enterprise tools often need to track device assignments across employees, but integrating a Mobile Device Management (MDM) platform like Fleet, Intune, or Jamf can create risky architectural dependencies. A DEV Community article outlines how one team built an MDM-agnostic device management module using NestJS, MongoDB, and TanStack Start to avoid tight coupling between their CRM and any specific MDM vendor. The core principle involves drawing a hard boundary between business state, owned by the CRM, and technical state, owned by the MDM, with the backend serving as a translation layer. Key data models include a generic Device record with a decoupled provider ID, a DeviceAssignment ledger tracking historical ownership, and a DeviceAction log for administrative operations. This approach ensures that switching MDM providers requires only a provider migration rather than a full application rewrite.

0
ProgrammingDEV Community ·

PrimeIntellect Open-Sources Prime Agent, a Self-Improving AI Coding Framework

PrimeIntellect-ai has released Prime Agent, an open-source framework built around Recursive Language Models (RLM) designed to handle long-running autonomous coding tasks. Unlike standard AI chat tools, it operates within a persistent Python REPL environment, allowing agents to retain state, variables, and subagent outputs across extended sessions. The framework introduces a Continual Harness that saves memories and skill definitions as local files, enabling the agent to learn from past executions without retraining. Developers can trigger self-improvement via a '/refine' command, which analyzes recent task trajectories and updates a local skill library. Prime Agent supports major AI providers including Anthropic Claude, OpenAI, and GitHub Copilot, and is accessible via a command-line interface.

0
ProgrammingDEV Community ·

Google Search Console's Platform Properties Falls Short of AI Citation Tracking

Google has introduced Platform Properties in Search Console, allowing creators to connect social accounts from Instagram, TikTok, X, and YouTube to monitor content performance across Google Search, Discover, and News. The feature reports standard metrics such as clicks, impressions, and queries for content on those connected platforms. However, it does not track how user-generated content is cited or used within Google's AI-generated answers, leaving a significant gap for organizations concerned with content provenance. Platforms like Reddit and LinkedIn are not included in the supported list, further limiting its scope. Experts note that a meaningful AI provenance system would require separate tools capable of identifying which community sources appear in AI outputs and under what terms that content is reused.

0
ProgrammingDEV Community ·

Better AI Results Come From Harnesses and Prompts, Not Just Smarter Models

Upgrading to a more powerful AI model does not automatically guarantee better outputs, as most users overlook key techniques that improve performance. The 'harness' — the system surrounding a model that controls context, tools, permissions, memory, and feedback loops — is considered the most critical factor in getting reliable results. Tools like Strands Agents and Claude Code illustrate how a well-built harness can help models understand their environment, take correct actions, and recover from errors. Prompt engineering also plays a supporting role, with best practices including being clear and direct, using XML tags, providing few-shot examples, and specifying output format and constraints. Building an evaluation pipeline to iteratively test and refine prompts is recommended as a practical way to measure and improve model performance over time.

0
ProgrammingDEV Community ·

How One Tech Writer Uses LLMs to Extract Knowledge, Not Generate Prose

A technical writer with over a decade of experience argues that the most valuable use of large language models in documentation is not drafting content, but accelerating the knowledge-extraction phase. The workflow involves feeding the model a messy corpus of existing docs, code comments, and meeting notes, then prompting it to identify gaps, contradictions, and undefined terms before any writing begins. Structured outlines mapped to documentation frameworks like Diátaxis are requested before narrative prose, keeping output task-oriented. A mandatory human review pass checks every fact against source material and rewrites sentences to suit the intended reader. The author contends that traditional documentation disciplines — versioning, user-task testing, and treating docs as a product — remain essential to keeping AI-assisted workflows rigorous and accurate.

0
ProgrammingDEV Community ·

AI Prompt Governance: Why Tracking Community Data Sources Matters for Enterprises

Organizations using AI systems for research increasingly draw on community platforms such as Reddit, Stack Exchange, YouTube, and specialist forums, raising questions about accountability and source control. A governance framework for AI prompt data provenance involves identifying which source categories are likely to inform a given query before that prompt is ever run. Teams are advised to document the prompt's purpose, the community domains involved, how sourced material influenced the output, and who reviewed it before use. Different community sources carry distinct terms of use, licensing conditions, and moderation standards, meaning a citation in an AI response does not automatically authorize an organization to reuse or redistribute that content. Researchers and industry practitioners argue that provenance tracking should be an active, purpose-led process rather than a retrospective audit conducted after AI outputs have already been acted upon.

0
ProgrammingDEV Community ·

Full-time hire vs. contractor: a cost breakdown beyond the salary figure

When companies compare contractor rates to employee salaries, they often overlook the true fully-loaded cost of a full-time hire, which typically runs 1.25–1.4 times the base salary after payroll taxes, benefits, and equipment. Recruiting fees alone can add $35–45k per senior hire, and a two-to-three-month vacancy means a quarter of roadmap potentially delayed. Contractors, by contrast, carry no recruiting overhead, can start within days, and allow teams to scale down without severance or legal exposure when a project ends. However, contractors come with their own trade-offs, including onboarding time, ongoing management, and knowledge loss when the engagement concludes. The article concludes that full-time hiring makes sense for long-term core roles, while contract engineers are better suited to time-bound projects, specialized skills, or urgent capacity needs.

0
ProgrammingDEV Community ·

Why Medallion Architecture Fails on Databricks and How to Fix It

The medallion architecture — bronze, silver, and gold data layers — is a widely used framework in Databricks lakehouses, but teams often misapply it by treating it as a complete solution rather than a set of decisions still requiring careful implementation. A common mistake is cleaning or filtering data before it reaches the bronze layer, which eliminates the ability to reprocess historical data when logic errors are later discovered. The silver layer should enforce a proper data model with schema validation and quarantine mechanisms for bad records, not simply serve as a cleaner version of bronze. Gold tables should be purpose-built for specific consumers rather than designed as a single canonical layer attempting to serve every team. Broader practices such as adopting Unity Catalog from the start, tagging jobs for cost visibility, and planning reprocessing strategies before launch are essential to preventing the architecture from breaking down operationally.

0
ProgrammingDEV Community ·

Guide: Deploy Grafana on Azure Container Apps with PostgreSQL and Private Networking

A technical guide outlines how to deploy Grafana on Azure Container Apps using Azure CLI, with Azure Database for PostgreSQL Flexible Server handling persistent storage of dashboards, users, and alert configurations. The setup uses a pinned Grafana image stored in Azure Container Registry (ACR) and a user-assigned managed identity to pull images without exposing registry credentials. Private networking, managed HTTPS ingress, and secret management are core components of the deployment, with no database passwords embedded in the container image. The guide draws a clear distinction between Grafana's internal database and the separate data-source databases that power dashboard queries. After validating the architecture via CLI, users are advised to codify the setup using infrastructure-as-code tools such as Bicep or Terraform for repeatable deployments.

0
ProgrammingDEV Community ·

Engineer Proposes Reviewing GitLab CI Files as Job Graphs, Not Text Diffs

A software engineer argues that reviewing .gitlab-ci.yml changes as plain text diffs is risky because small edits can silently break pipeline behavior in ways that are not immediately obvious. The core issue is that the file functions as compiler input, where the meaningful unit is the effective job graph produced after all directives like rules, needs, and artifacts interact. To address this, the engineer built a local Python tool called ci_graph.py that expands includes, resolves inheritance, and outputs a structured JSON record for each job showing when it runs, what it depends on, and what it publishes. The tool deliberately emits 'unknown' for ambiguous cases rather than guessing, keeping the preview conservative and trustworthy. The goal is to make semantic changes visible to reviewers before a merge request is approved, reducing the chance of silent pipeline regressions reaching production.

0
ProgrammingDEV Community ·

How to Build a Utility-First Token Ecosystem on Solana the Right Way

A tutorial published by ARMCP_Team on DEV Community outlines a product-first framework for designing utility token ecosystems on the Solana blockchain. The guide argues that tokens should serve as implementation details within genuine user workflows rather than being the starting point of a product. It introduces a six-stage workflow table — covering discovery, qualification, authorization, execution, confirmation and fulfilment — to map every token interaction to a verifiable on-chain event and measurable outcome. The architecture separates product state, on-chain state and market state, emphasizing that each layer has different trust boundaries and update speeds. The tutorial also stresses storing authoritative identifiers such as mint addresses and program IDs, and warns developers never to ship placeholder values in production configurations.

← NewerPage 179 of 1337Older →