SShortSingh.

Programming

0
ProgrammingDEV Community ·

Eterna connects ChatGPT, Claude, Grok, Muse and Mistral to a business system without API keys

Eterna's founder, Jesse Gamble, demonstrated a connector that lets consumer AI apps from ChatGPT, Claude, Grok, Meta's Muse and Mistral work with the company's internal systems. Each app links to Eterna's server as a remote tool source, avoiding API keys, and all five run on free accounts, though some other providers require paid tiers for remote connectors. The connector runs on a Windows PC and exposes seven tools covering 91 operations across 13 business areas. In a test, all five assistants were asked the same question and returned the same five open jobs and a healthy system status. Read operations run immediately, while write actions use a separate tool and irreversible actions require owner approval, with every call logged to an audit file kept on the business's own machine.

0
ProgrammingDEV Community ·

Por que entender stack, heap e memória ainda importa para quem programa em JavaScript

Um artigo do DEV Community compara alocação de memória em C com o funcionamento em JavaScript, onde o runtime cuida de boa parte desse trabalho. O texto explica que alocar, usar e desalocar memória são etapas distintas, e que liberar espaço não significa necessariamente devolvê-lo ao sistema operacional. Também separa escopo, que define onde um nome é acessível, de tempo de vida, que define quanto tempo um objeto existe. Segundo o autor, esses conceitos ajudam a explicar casos como objetos que mudam juntos ou dados que permanecem na aplicação sem necessidade. O conteúdo faz parte de uma série sobre tecnologias usadas diariamente pelos desenvolvedores.

0
ProgrammingHacker News ·

JDK 28 Released by OpenJDK Project

The OpenJDK project has published information about JDK 28, the next version of the Java Development Kit. The announcement was shared on Hacker News, where it drew 15 points and 2 comments. The source material provided is limited to the project page link and basic discussion metrics, so specific features and changes are not detailed here. Readers interested in the release details should consult the official OpenJDK page for JDK 28.

0
ProgrammingDEV Community ·

AI Tools Ease Audit Firms' Voucher Matching, Reconciliation and Year-End Closing

Audit teams often lose much of busy season to routine tasks such as matching vouchers to ledger entries, reconciling balances, and preparing closing schedules. The author, a Lahore-based engineer, describes building AI tools for these jobs and argues they must follow strict design rules. Extracted invoice fields are checked against validation rules before reaching the ledger, and most items are cleared through exact and fuzzy matching, with the model used only for leftover cases. Every suggestion is logged with a reviewer, timestamp and source document to create an audit trail, and closing steps are tracked as tasks with automatic checks.

0
ProgrammingDEV Community ·

Build a Keyboard-Driven Test Grader in Plain JavaScript

A DEV Community tutorial walks through building a test grader in a single HTML file with no dependencies. Users set the question count once, then record wrong answers with a button or keyboard key while the percentage and letter grade update instantly. The core grading logic lives in a pure function that clamps wrong-answer counts, compares scores using integer cross-multiplication to avoid floating-point errors, and sorts custom grade scales. The page also renders a table of every possible score as a quick chart. The guide additionally covers how to avoid common keyboard shortcut bugs, such as blocking single-letter hotkeys when modifier keys are held or when the user is typing in an input field.

0
ProgrammingDEV Community ·

Court Staffer Recounts Three AI Conference Talks and Her Discomfort With Public Speaking

A court professional describes how a 2025 decision to build with AI led to speaking invitations at three court conferences in Albuquerque, Los Angeles, and Riverside. She says she was the only attendee from her court at the first event, and the pressure grew with each talk, especially at the Los Angeles Superior Court, the country's largest trial court. The most recent talk, delivered at a Southern Region Finance Officers Meeting, was preceded by two months of preparation, and she rehearsed by listening to an audio version of her notes. Despite positive audience reaction, she says she felt relief rather than accomplishment once it ended.

0
ProgrammingDEV Community ·

Choosing Centralized Logging for Next.js and Node.js Startup Apps by Signal Value

The article argues that startups should pick a centralized logging service based on how many useful decisions it supports per ingested byte, rather than on the lowest advertised price. For a Node.js customer-support agent, it recommends one structured event per model call, one summary per agent run, and logging of every error. It advises starting with a managed log service behind a thin application-owned transport interface, selecting an EU deployment, and benchmarking with real traffic. Correlation is handled through trace and span identifiers following the W3C Trace Context standard, and personal ticket text is kept out of routine logs to align with GDPR data minimization. The author proposes testing candidate services by replaying an identical 1,000-event fixture and checking how much configuration is needed to answer the same operational questions.

0
ProgrammingDEV Community ·

Classify Requests into Lanes Before Coding to Cut Claude Code Costs

Every request sent to Claude Code looks identical at the API level, yet each one in a project represents a different kind of job. The article argues that teams waste money by routing all of these through the same workflow, so a simple question can balloon into a multi-file refactor. The proposed fix is to classify each request into a lane, such as quick question, bug, small feature, refactor, or discovery, and pick a suitable model for it before work begins. Lanes are kept separate because merging them, such as treating questions and bugs alike, sends work to the wrong model and wastes tokens. Routing the most frequent lanes to the cheapest model is described as the largest single cost saver, while stronger models are reserved for planning-heavy work.

0
ProgrammingDEV Community ·

Lessons From Integrating Payment Gateways in Laravel and Node.js Production Systems

The author draws on experience integrating Stripe, Reepay, and Fenerum into live Laravel and Node.js systems and found the same recurring problems each time. The recommended approach is to confirm payment status only through signed webhooks, with handlers designed to be idempotent so retried events don't create duplicate orders. Webhook endpoints should respond quickly while heavier processing runs in background workers with retry logic, using tools like Redis with Bull or Laravel queues. Refunds, expired cards, disputes, and subscription renewals are identified as the main areas where money is lost, and should be modeled as core states rather than edge cases. The article also stresses that support staff should be able to resolve customer questions without reading code.

0
ProgrammingDEV Community ·

Repo Tutor Turns Public GitHub Codebases Into Guided Learning Paths

A developer has built Repo Tutor, an open-source learning companion that helps people explore public GitHub repositories through structured lessons and quizzes. The tool analyses supported source files to identify languages, dependencies, entry points, imports, and a suggested reading order, rather than relying mainly on AI-generated summaries. Learners can answer server-scored quizzes, inspect source code, and have their progress saved locally in SQLite, with English and Hinglish options in parts of the interface. An experimental Ollama-based AI explanation layer is also included, but the developer found small local models could produce incorrect explanations and citations, so its output is not treated as fully reliable. The project does not execute repository code and has been tested on a live public repository, though broader compatibility is still being validated.

0
ProgrammingDEV Community ·

Ripple Generates Platform-Specific Social Posts From a Blog Using Gemma in the Browser

Developer Ripple is a new tool that turns a single blog post or newsletter into four ready-to-share drafts for Substack Notes, Instagram, LinkedIn, and X, Threads, or Bluesky. The creator built it for the Hacktoberfest Open-Source AI Challenge after finding that rewriting content for each platform was time-consuming. Drafts are generated by Gemma running locally in the browser via WebLLM, so unpublished writing never leaves the user's device. The app handles links, hashtags, and character limits itself, since the small model is kept to writing the text. Aimed at indie writers, newsletter creators, and small business bloggers, it is pitched as a low-cost subscription with no server or API fees.

0
ProgrammingDEV Community ·

Idempotent Queue Design for Rate-Limited Support Webhooks Across US and EU Regions

The article argues that SaaS support jobs feeding rate-limited HTTP workers should use region-local queues with delayed retries, bounded attempts, and a dead-letter queue, with idempotent webhook endpoints in place before concurrency is raised. It treats HTTP 429 responses as backpressure, recommending delayed redelivery that honors Retry-After (in seconds or HTTP-date form) and falls back to capped exponential backoff with jitter when the header is missing. The author suggests per-tenant concurrency limits so one tenant's bulk workload cannot delay urgent support tasks, and proposes starting capacity from the rate limit, mean service time, and a safety factor. It notes that a managed queue suits small teams, while self-hosted or database-backed dispatchers may be needed for compliance, residency, or strict ordering requirements. The piece also cautions that the appropriate retry cap depends on provider limits and the product SLO and should be verified through contracts and load testing.

0
ProgrammingDEV Community ·

SaaS Document Uploads: Choosing Between Server Relay and Presigned URLs

The article argues that private SaaS documents should go through a server relay for small files, or use backend-authorized presigned uploads for larger ones. It contends that the application, not the browser, must own decisions about object keys, tenant ownership, and record completion. Presigned uploads need a backend confirmation step that verifies the stored object before a document is marked ready. Direct browser-to-storage uploads are rejected as a default because CORS cannot be configured through the available storage workflow and must be verified separately. Clients should handle retries and keep pending or failed states visible rather than showing an optimistic completion.

0
ProgrammingDEV Community ·

SecondLook: a local review queue flags invoices with differently worded descriptions

SecondLook is an open-source, local CSV workspace built to help bookkeepers recheck invoices that may be related despite different wording. It uses an open-weight sentence model to compare descriptions, while standard invoice constraints such as vendor, currency, amount and date narrow the candidate pairs. The tool never approves, rejects or pays invoices; a person reviews the original rows and records the decision. In a fictional sample, exact ID matching missed a reworded pair that the local embeddings recognized. The project is released under the MIT license and was built as a Hacktoberfest Open-Source AI Challenge entry.

0
ProgrammingDEV Community ·

Node.js reminder queues: idempotent retries for at-least-once message delivery

Duplicate user reminders usually mean the queue redelivered a message, so the design should assume at-least-once delivery from the start. The recommended approach is to persist a durable reminder send key before calling the email or SMS provider, then acknowledge the message only once that state is safe. A unique database constraint makes replays harmless, turning a duplicate into a no-op. The article compares Amazon SQS, Google Cloud Pub/Sub, BullMQ with Redis, and a managed REST queue, favoring a managed queue with a simple worker and an idempotency table for small Node.js products. It also warns that no queue setting can make a database write and a provider call atomic, so provider-side idempotency or reconciliation is still needed.

0
ProgrammingHacker News ·

Chrome and Edge to drop XSLT support: what breaks and what stays working

Google Chrome and Microsoft Edge are removing support for XSLT, the stylesheet language used to transform XML documents for display in browsers. The change would affect websites and feeds that rely on XSLT to render XML content in the browser. An analysis article outlines which uses will break and which will continue to function. The source is a Hacker News discussion linking to a Doctor SEO blog post on the topic, which had drawn 22 points and 8 comments at the time of capture.

0
ProgrammingDEV Community ·

Re-run of MCP tool-poisoning scanner benchmark adds two scanners and 14,933 npm/PyPI tool lists

The team behind the WARDEN MCP scanner repeated its earlier comparison, expanding it from three scanners to five and from 986 remote servers to 14,933 npm and PyPI tool lists. All scanners were run in a gVisor container with networking disabled. WARDEN's ruleset update from v10 to v12 produced identical verdicts on every test set, and the two other scanners reproduced their earlier results exactly. The authors also checked that no rules written after v10 had seen the held-out benchmark data, finding no overlap. Several hosted tools were excluded because they send servers to external services for scoring, which prevents an offline comparison.

0
ProgrammingDEV Community ·

Migrating ledgers: tying opening balances to bank statements and uncleared items

When a business moves its books to a new provider, the opening ledger starts from the old provider's closing balance sheet. Each bank and card balance must match the bank's printed statement for the cutover date, adjusted for uncleared items such as an uncashed check. The author's rule is that the difference must be zero, and any unexplained gap signals a problem in the old books. The approach uses Decimal arithmetic in Python to avoid rounding errors that could mimic real discrepancies. If a gap cannot be explained, the advice is to trace back month by month to find where it first appeared rather than plugging it to equity.

0
ProgrammingDEV Community ·

InboxWall: Local MCP Server Sanitizes Email HTML to Block Prompt Injection

InboxWall is an open-source Model Context Protocol server that cleans email HTML before an AI agent reads it, guarding against prompt injection. Attackers can hide instructions in emails using invisible CSS text, manipulative Unicode characters, or HTML comments that only appear in raw source. The tool exposes a single function that takes raw email HTML and returns plain text with styles, scripts, hidden characters, comments, and risky attributes removed. It runs entirely on the user's own machine, so email content is never sent to a third-party service, though the agent must manage the server as a separate process. The project's core design choice is to treat sanitization as a security boundary outside the language model's trust zone.

0
ProgrammingDEV Community ·

Akiflow's Time-Blocking Design Reveals Scheduling Primitives Useful for AI Agents

Akiflow, a tool that merges tasks with calendar availability, has drawn developer attention after its YC launch and a Hacker News discussion. The article argues that the infrastructure behind its drag-and-drop interface resembles what AI agents need to schedule their own execution windows. It highlights three challenges: orchestrating calendar APIs with differing sync latencies and rate limits, solving scheduling as a constraint-satisfaction problem, and structuring tasks with machine-readable metadata. The author proposes a layered architecture for agent scheduling that includes a scheduling engine, a task metadata store, calendar sync adapters, and an execution runtime.

← NewerPage 373 of 3102Older →