SShortSingh.

Programming

0
ProgrammingDEV Community ·

WKafka Library Offers Manual Offset Commits to Prevent Silent Data Loss in Kafka

The open-source WKafka library for Python introduces manual offset committing as a safer alternative to Kafka's default auto-commit behavior. With auto-commit enabled, messages can be marked as processed before they are actually saved, leading to silent data loss if a container crashes mid-processing. By setting auto_commit=False, developers can call msg.commit() only after a successful database write, ensuring no message is lost during failures. The library supports Python 3.9 through 3.14 with strict mypy typing and has been tested against real Apache Kafka clusters. WKafka is available on both GitHub and PyPI as part of an ongoing technical series documenting its features.

0
ProgrammingDEV Community ·

WKafka Library Offers Manual Offset Commits to Prevent Silent Kafka Data Loss

The open-source Python library WKafka, featured in Day 6 of its engineering blog series, introduces manual offset commit support for Apache Kafka consumers. By setting auto_commit=False, developers can ensure message offsets are only marked as processed after database writes and other side-effects complete successfully. This approach addresses a key risk in Kafka pipelines where a consumer crash mid-processing can cause silent data loss under default auto-commit behavior. The library supports Python versions 3.9 through 3.14 with strict typing and has been tested against real Kafka broker clusters. WKafka is available on both GitHub and PyPI for public use.

0
ProgrammingDEV Community ·

How One QE Used Jira, Figma, GitLab, and Playwright MCPs to Close the Automation Gap

A quality engineer describes using Model Context Protocol (MCP) integrations to embed UI test automation directly into the feature delivery workflow, rather than deferring it to a later sprint. The approach connects four tools — Jira for test cases, Figma for design intent, GitLab for UI implementation, and Playwright for live page inspection — giving an AI assistant rich context before generating any automation scripts. The core problem being solved is the recurring trade-off in QA teams where manual testing meets release deadlines but automation consistently falls to the backlog. Instead of prompting the AI with a vague request, the engineer provides structured instructions that require the assistant to gather evidence from all four sources before writing a single line of test code. The result is a tighter feedback loop where regression coverage is built in the same workstream as feature validation, not as a separate follow-up task.

0
ProgrammingDEV Community ·

Dependency Inversion Principle Explained: Why High-Level Code Should Rely on Abstractions

The Dependency Inversion Principle (DIP), one of the five SOLID design principles, states that high-level modules should not depend on low-level modules — both should depend on abstractions. In practice, this means avoiding direct imports of concrete classes into core business logic layers, which reduces stability and increases complexity. A common violation occurs when a domain-layer class directly instantiates an infrastructure-layer class, tightly coupling the two. The fix involves creating an interface for the low-level module, implementing that interface in the infrastructure layer, and injecting the dependency into the high-level class via its constructor — a pattern known as Dependency Injection. This approach keeps the domain layer stable and flexible, since it relies on an abstraction rather than a specific implementation.

0
ProgrammingDEV Community ·

Unified AI Tool Generates 3D Game Characters on CPU-Only Servers, No GPU Needed

A developer has merged two previously separate tools, CHARFORGE and a 3D game engine, into a single unified system capable of generating and managing 3D game characters without any GPU hardware. The combined platform runs entirely on a modest CPU-only VPS with 6 virtual cores and 11 GB of RAM, eliminating the need for CUDA, dedicated GPU instances, or cloud inference costs. The system offers four distinct methods to create or import game-ready characters, including morph-based human sculpting, third-party model imports, and shared animation libraries. A key architectural change introduces an 'actor' interface, allowing the engine to treat all character types identically regardless of how they were created or which file format was used. Character data is now stored in a MySQL database with versioning support, replacing browser-local storage and reducing the risk of data loss.

0
ProgrammingDEV Community ·

How WorldScript Studio Keeps AI Optional Without Breaking Core Features

WorldScript Studio, an open-source writing tool, is architected so that all AI features — including text generation, streaming, and image feedback — remain entirely optional and the app functions fully without any API key or network connection. The project routes every AI capability through a single provider service, ensuring that failures are isolated to one place rather than scattered across individual features. Privacy and routing rules are enforced directly in code through policy gates that throw typed, testable errors, rather than relying on loose conventions across components. Supported providers include Gemini, OpenAI, Anthropic, OpenRouter, and local servers like Ollama, all normalized behind a unified interface. The design philosophy holds that an AI layer may fail in any way, as long as every failure is typed, explained, and contained — preventing outages from cascading into broken core functionality.

0
ProgrammingDEV Community ·

How Hidden Assumptions in Code Logic Quietly Change the Answers You Get

A developer building a tool to track unanswered comments found that three different versions of the same tool returned three different counts — 18, 34, and 2 — each technically correct by its own logic. The discrepancy arose because each version had silently encoded a different definition of what it means for a comment to be 'answered.' The insight, developed through a two-month exchange with another developer named Pascal, is that implementation decisions embed judgements that quickly become invisible once the code is written. The article uses mutation testing as a parallel example, where a test that never fails may not be proving correctness but simply failing to observe the behaviour it was meant to guard. Across both cases, the core problem is the same: code, tests, and documentation can all reinforce the same flawed assumption simultaneously without anyone noticing.

0
ProgrammingDEV Community ·

Chrome Extension Converts Hanifi Rohingya Script to Latin Alphabet Directly on Webpages

A developer at RohingyaLanguage.org has built a Chrome extension called Rohingya Reader that transliterates Hanifi Rohingya script into the Latin-based Rohingyalish writing system in place on any webpage. The tool addresses a practical literacy gap, as many Rohingya speakers are comfortable with one script but struggle to read the other. Unlike a copy-paste converter, the extension processes text directly within the page while preserving links, event handlers, and existing site functionality. It runs entirely on-device with no backend or analytics, and supports a reversible 'show original' mode that restores the exact prior text. The extension is currently under review for the Chrome Web Store, with the underlying script converter already available online at RohingyaLanguage.org.

0
ProgrammingDEV Community ·

Godmode Bot: Open-Source AI Agent Handles Logins and 2FA Without Exposing Passwords

A developer has released Godmode Bot, a free open-source AI automation tool that can log into websites and handle two-factor authentication without ever exposing credentials to the underlying AI model. The desktop app, built with Tauri 2, runs on macOS, Windows, and Linux, and can also operate headlessly on servers or devices like a Raspberry Pi. Passwords and TOTP secrets are stored in a local encrypted vault using AES-256-GCM encryption, and are typed directly into browser fields via Chrome DevTools Protocol rather than passed through the AI's context. Users can import existing credentials from popular password managers including 1Password, Bitwarden, and Chrome, and can configure multiple persistent agents with individual schedules, memory, and task histories. The project, licensed under MIT, is available on GitHub and uses Anthropic's Claude Code as its reasoning engine alongside a managed Chromium browser instance.

0
ProgrammingDEV Community ·

Developer Builds GitHub Action to Showcase Shipped Work, Not Just Commit Activity

A developer named Hamza built 'Proof of Shipping', a GitHub Action that generates a visual card highlighting a developer's actual shipped output — including published releases and merged pull requests — rather than typical activity metrics like commit streaks. The tool analyzes public GitHub data over a configurable period and stores an auto-updated SVG card directly in the user's profile repository. The project was initially developed with significant AI assistance but evolved to require conventional software engineering decisions along the way. It has since been publicly released as version 1.0.0 and listed on the GitHub Marketplace. The developer created the tool to answer a question standard GitHub profile widgets do not address: what has a developer actually delivered?

0
ProgrammingDEV Community ·

Nvidia CEO's 'skip basic math' claim draws scrutiny over cognitive science evidence

Nvidia CEO Jensen Huang recently argued that basic mathematics is becoming unnecessary in an AI-driven world, drawing comparisons to his own reliance on devices for simple memory tasks like phone numbers and addresses. Critics point out that basic math is not mere rote recall but a foundational cognitive skill, unlike a stored contact that can be looked up without consequence. Neuroimaging research — such as studies on London taxi drivers showing measurable brain changes from sustained mental effort — suggests that outsourcing cognitive tasks can alter brain structure over time. The debate echoes the 1970s–90s calculator controversy, where educators argued for over two decades about whether removing arithmetic drills harmed student competency, with no quick consensus reached. The deeper concern raised is that, unlike past debates shaped by independent researchers with no commercial stake, today's narrative about obsolete skills is being driven partly by those who stand to benefit from AI adoption.

0
ProgrammingDEV Community ·

Laya offers a fast, local 322M-parameter alternative to LLM-based text classification

Laya is an open-source, non-autoregressive decision engine designed to replace costly large language model calls for routine classification tasks such as routing, moderation, and escalation. Unlike standard LLM-as-a-judge setups, Laya runs a single encoder forward pass to answer typed questions — including label selection, scoring, and yes/no probabilities — without generating any tokens. The project ships three model checkpoints on Hugging Face, including a 322M-parameter multilingual model covering over 100 languages, and reports inference speeds as fast as 7.2ms per question when batched on a T4 GPU. Laya runs entirely locally with no API keys or GPU required, needing roughly 1.5GB of disk space and 1GB of RAM. Released on September 18, 2025, the project accumulated over 26,000 GitHub stars within nine days, reflecting widespread frustration with the latency and cost of using frontier models for simple classification decisions.

0
ProgrammingDEV Community ·

pixi-tiledmap lets developers edit and export Tiled maps directly in the browser

A TypeScript library called pixi-tiledmap has been developed to load, render, edit, and export Tiled maps using PixiJS v8 in the browser. The library allows developers to place tiles programmatically via a setTile API that accepts layer names, grid coordinates, and tileset references, updating both the visual display and underlying map data in real time. Edited maps can be exported as standard Tiled JSON (.tmj) files using the exportMap function, making them immediately reopenable in the Tiled map editor. Because Tiled stores tileset images as file paths rather than embedding them, the library also supports bundling the map and its assets together into a single ZIP file using fflate. The workflow enables a full round-trip edit cycle — from Tiled to browser and back to Tiled — without leaving the standard .tmj format.

0
ProgrammingDEV Community ·

How to Embed Google Calendar in WordPress Without Using an Iframe

Many club, church, and studio websites use Google Calendar's iframe embed to display events, but the approach causes layout mismatches and offers no SEO benefit since events remain hosted on Google's servers. An alternative method involves using a calendar's iCal (ICS) feed address, which WordPress plugins can read on a schedule and convert into native posts on the site. Editors continue managing events in Google Calendar while the website syncs automatically, though the calendar must be set to public or its secret address treated securely. Before connecting a plugin to a live calendar, developers recommend testing how it handles recurring events, timezone offsets, deleted entries, and sync frequency. A key rule for any sync setup is to always edit events in Google Calendar rather than WordPress, as any site-side changes will be overwritten on the next sync.

0
ProgrammingDEV Community ·

Developer releases fzgrep, a parallelized fuzzy text matcher for Unix pipelines

A developer has released fzgrep, an open-source command-line tool written in pure C that performs fuzzy line matching within standard Unix pipelines. Unlike grep, which requires exact matches, fzgrep tolerates typos by computing Levenshtein distance using a memory-efficient single-row cache. The tool uses OpenMP-based parallelism through a chunk-based MapReduce model, distributing distance calculations across multiple CPU cores. Additional features include word-level matching, similarity scoring, and coordinate tracking for matched tokens. The project is available under the GPL-2.0 license on GitHub, and the developer is seeking community feedback on handling large-scale streams and potential algorithmic improvements.

0
ProgrammingDEV Community ·

Ukrainian CyberSec trainer shares performance-first self-learning system for tech skills

Ivan, a cybersecurity instructor and blogger at White2Hack, has published a practical self-learning framework drawn from years of teaching and personal study in IT security. The system, which he calls performance-first learning, centers on setting verifiable, action-based goals rather than vague intentions like 'learn API security' or 'watch a DevSecOps course.' Ivan argues that knowing many learning techniques — such as spaced repetition or the Pomodoro method — does not guarantee real retention, as students often struggle to explain topics without prompts. His core study cycle moves from defining a measurable outcome through mapping a subject, working through examples, self-explaining, and retrieving information without aids, before applying knowledge to new tasks. He notes the approach applies beyond cybersecurity, covering areas like English language learning, technical reading, and interview preparation.

0
ProgrammingDEV Community ·

How One Developer Built Invisible-Character Defenses Against LLM Prompt Injection

A developer running an AI-powered travel site identified a security risk where hidden Unicode characters — invisible on screen but readable by language models — could be used to smuggle malicious instructions into prompts. To counter this, they built a sanitization function that strips Unicode tag blocks, zero-width characters, bidirectional controls, and repeated character runs before any user text reaches an AI model. A separate wrapping function encloses user input within randomly generated boundary tags on every request, making it far harder for attackers to escape the data context and issue direct commands. The system also includes explicit prompt-level rules instructing the model to treat all fenced content as data, never as instructions. The developer notes that no single layer is sufficient on its own, and that defense requires combining input sanitization, structural wrapping, and prompt constraints together.

0
ProgrammingDEV Community ·

How to Safely Restart the Docker Daemon on Linux Using systemctl

On Linux systems running Docker Engine as a systemd service, the daemon can be restarted using the command 'sudo systemctl restart docker', followed by verification via 'systemctl status docker' and 'docker info'. The Docker daemon, known as dockerd, is a host-level process responsible for managing containers, images, networks, and volumes — distinct from individual container restarts. By default, restarting the daemon shuts down running containers, but Docker's live-restore feature can keep standalone containers running during daemon downtime when enabled in /etc/docker/daemon.json. Configuration changes to daemon.json or systemd unit files may require a daemon restart, and users should run 'systemctl daemon-reload' before restarting if unit files were modified. For rootless Docker installations, the per-user systemd service can be restarted without sudo using 'systemctl --user restart docker'.

0
ProgrammingDEV Community ·

SensorFlow: Open-Source, Self-Hosted Event Analytics Built on ClickHouse

A developer has released SensorFlow, an open-source, self-hosted event analytics platform designed as a cost-effective alternative to managed tools like PostHog. The stack connects a Go-based data collector to ClickHouse for storage and Apache Superset for visualization, keeping all data on the user's own servers. Unlike per-event pricing models, SensorFlow charges an annual license fee starting at $699, currently discounted to $349 for first orders, with the first month free. The tool is SQL-first and intentionally narrow in scope, omitting features like session replay and feature flags that broader suites offer. The project is available on GitHub under the Apache-2.0 license, with a live demo and a single-script local installation that requires no Kubernetes.

0
ProgrammingDEV Community ·

How One Developer Built a Writing App That Works Without User Accounts

A developer building WorldScript Studio, an open-source tool for long-form fiction writing, deliberately chose to eliminate user accounts, server-side storage, and mandatory cloud features. The decision shifted four responsibilities — identity, canonical data truth, recovery, and trust — entirely onto the local application itself. Without a server to arbitrate conflicts, the app adopts a 'possession replaces identity' principle, treating whoever controls the local storage as the de facto user. WorldScript runs as both a Progressive Web App and a Tauri desktop application from a single codebase, using IndexedDB in the browser and the native filesystem on desktop. The developer prioritized transparent failure over silent fallbacks, ensuring the app halts visibly if storage cannot be accessed rather than quietly switching to an unintended data store.

← NewerPage 858 of 3174Older →