SShortSingh.

Programming

0
ProgrammingDEV Community ·

Developer Completes 13-Month Solo Browser Project 'Faibilo', Beta Launch Imminent

A developer has announced the near-completion of Faibilo, a web browser built over 13 months of independent work. The project has reached its beta stage, with a public launch expected very soon. The developer has finished implementing default browser features, including the ability to set Faibilo as the system's default browser. The browser will be released as open-source software, making its code publicly available to the community.

0
ProgrammingDEV Community ·

How LLMs Work: A Practical Explainer for Product Managers Building AI Features

A guide published on DEV Community breaks down how Large Language Models function, targeting product managers who work on AI-powered products. The article explains that LLMs process text by converting it into tokens, transforming those tokens into numerical embeddings, and then predicting the next token in a sequence using a Transformer architecture. It highlights why understanding tokenization matters beyond theory — token volume directly affects API costs, latency, and context-window limits at scale. The piece also outlines the full generation pipeline, from user input through self-attention layers to the final response output. Rather than requiring deep mathematical knowledge, the guide aims to give product managers a practical mental model for making informed decisions about AI features.

0
ProgrammingDEV Community ·

Developer builds 15KB Firefox extension for one-click YouTube transcript copying

A developer frustrated with the repetitive process of manually copying YouTube transcripts has built a lightweight Firefox extension called yt-transcript-yoinker. The add-on adds a single 'Copy Transcript' button directly into the YouTube interface, placing the full transcript in the clipboard with one click. At just 15KB, the extension requires no account, no external API calls, and processes everything locally within the browser. The developer created it primarily for personal use cases such as study notes, LLM-based lecture summarization, and subtitle creation. The extension is available on Mozilla's official add-on repository and its source code has been published on GitHub.

0
ProgrammingDEV Community ·

Developer Pledges to Prioritize Simple, Reliable Tools Over Trendy Alternatives

A developer has publicly committed to keeping their workflow simple and dependable, rejecting the habit of chasing newer, flashier tools. The blog will serve as a personal knowledge base of short field notes documenting what was tried, what failed, and what ultimately worked. The author emphasizes that any setup too complex to rebuild in an afternoon is too complicated to be worth maintaining. Writing is framed as a debugging tool, with the act of explaining problems in plain language helping to expose hidden misunderstandings. The blog is positioned as a quiet, practical resource for developers who value reliability and clear documentation over complexity.

0
ProgrammingDEV Community ·

Developer Builds Free CBT Thought Journal API Using Python Pattern Matching

A software developer has created a free, open API-based thought journal that automatically detects cognitive distortions, procrastination patterns, and attachment styles using keyword pattern matching. The tool, built in approximately 50 lines of Python, is grounded in David Burns' Cognitive Behavioral Therapy framework from his book 'Feeling Good'. It can identify 11 cognitive distortions — such as overgeneralization and catastrophizing — along with 8 procrastination patterns and 4 attachment styles. The developer was motivated by a desire to self-check distorted thinking between therapy sessions, without relying on a large AI model. The API is publicly deployed and accessible, allowing anyone to integrate CBT-style thought analysis into their own applications.

0
ProgrammingDEV Community ·

How Growing Backend Apps Lose Control of Entity Logic — and What to Do About It

As backend applications scale, entities like 'Customer' accumulate responsibilities beyond simple data fields, including authorization, validation, lifecycle states, concurrency checks, and audit trails. This growth causes the entity's logic to scatter across controllers, services, repositories, and event handlers without a clear architectural owner. The article argues that this fragmentation — termed 'entity gravity' — becomes problematic when changing one entity rule requires touching many unrelated parts of the codebase. To address this, the author proposes introducing an explicit entity infrastructure boundary that centralizes common mechanics like optimistic concurrency, transactional outbox entries, and versioning. This approach separates the application's business decisions from the shared infrastructure concerns surrounding an entity, reducing coordination overhead as systems grow.

0
ProgrammingDEV Community ·

How Differential Kinematics and the Jacobian Explain Robot Motion

Robots can be described in two ways: joint space, which tracks individual joint angles, and task space, which tracks the position and orientation of the end effector. Forward kinematics maps joint angles to end-effector pose, while inverse kinematics works in reverse to find the joint angles needed for a desired position. To describe motion rather than static poses, the forward kinematics equation is differentiated with respect to time, yielding the relationship ẋ = J(q)q̇. In this equation, the Jacobian matrix J(q) connects joint velocities to end-effector velocities, making it a central tool in robot manipulation. This mathematical framework allows engineers to plan and control how a robot moves through space in a precise and predictable way.

0
ProgrammingDEV Community ·

MLOps in 2026: Key Practices for Scaling AI to Enterprise Production

A technical guide published on DEV Community outlines the most critical MLOps best practices for 2026, as enterprises face growing complexity in deploying reliable AI systems. The article notes that while training machine learning models has become easier, deploying them reliably at scale — amid regulations like the EU AI Act and the rise of agentic AI — has grown significantly harder. A core recommendation is adopting Infrastructure as Code to automate ML pipelines end-to-end, from data ingestion to model deployment, using tools like Kubeflow, Terraform, and MLflow. The guide also emphasizes robust data governance, including real-time schema validation and anomaly detection using streaming platforms such as Apache Kafka. Together, these practices aim to help teams move from fragile prototypes to resilient, auditable, enterprise-grade machine learning systems.

0
ProgrammingDEV Community ·

Caddy 2.11 enables post-quantum TLS by default, expanding handshake size sixfold

Caddy 2.11 now defaults to a hybrid post-quantum key exchange called X25519MLKEM768, combining the classical X25519 algorithm with NIST-standardised ML-KEM-768 to protect against future quantum computing threats. The change is motivated by 'harvest now, decrypt later' attacks, where adversaries record encrypted traffic today intending to decrypt it once quantum hardware becomes available. Testing with OpenSSL 3.5.7 confirmed the new default is negotiated automatically without any configuration changes, but the larger ML-KEM key sizes cause the combined TLS handshake to grow from 440 bytes to 2,704 bytes — a 6.1x increase. While this overhead is negligible on standard broadband connections, it could introduce noticeable latency on satellite links, congested mobile networks, or other bandwidth-constrained environments. Caddy's access logs do not expose which key exchange was used, so administrators must capture traffic directly to verify whether the post-quantum default is active in production.

0
ProgrammingDEV Community ·

Developer Rejected for Transparent AI Use While Interviewer Allegedly Did the Same

A software developer received a rejection email citing over-reliance on AI tools during a technical interview, despite openly disclosing his use of an AI assistant to handle boilerplate code while focusing on edge cases himself. The developer claims that during the same video call, the interviewer appeared to read AI-generated answers when responding to follow-up questions. He argues the rejection penalized honesty rather than incompetence, since the underlying skill — using AI while critically evaluating its output — was never actually tested. The developer contends that modern technical interviews still screen for a pre-AI version of problem-solving that no longer reflects how professional software teams actually work. He suggests a more meaningful assessment would evaluate whether a candidate can identify errors and false confidence in AI-generated code, not whether they avoid the tools entirely.

0
ProgrammingDEV Community ·

Developer Builds NHS-Adjacent Nutrition App That Could Never Be Installed Due to Tiny Icon Bug

A solo developer spent three days testing a proof-of-concept nutrition logging app on real devices, designed as a workaround tool rather than an official NHS product. The app used barcode scanning tied to the Nutritics database, deliberately avoiding calorie estimates to prevent logging errors for users. Despite all tests appearing to pass, the app could never actually be installed as a Progressive Web App due to two icon files that were only 68 bytes each, despite the manifest declaring full-size icons. Four separate export bugs were also discovered exclusively through real-device testing, two of which produced no error messages whatsoever. The project highlights how silent failures — from broken icons to no-op export functions — can go undetected without hands-on physical device testing.

0
ProgrammingDEV Community ·

Benchmark Study: Bifrost Outperforms LiteLLM for Enterprise AI Gateway Use

A security and operations engineer compared two open-source AI gateways, Bifrost and LiteLLM, using an open-source benchmarking tool on a shared-CPU VPS with four vCPUs and no real provider keys. At 100 requests per second, Bifrost's median latency was 1.01 ms versus LiteLLM's 5.84 ms, a gap that widened significantly at higher loads. At 1,000 RPS, LiteLLM dropped 5.1% of requests and recorded a p99 latency of nearly 34 seconds, while Bifrost maintained 100% success with a p99 of just 2.62 ms. Beyond raw speed, the reviewer noted differences in security defaults, memory usage (60 MiB vs 2.08 GiB at rest), and licensing, with Bifrost using Apache-2.0 and LiteLLM's enterprise features under a separate license. The author concludes Bifrost is the stronger enterprise choice, while recommending LiteLLM for teams already extending it in Python or operating well below capacity limits.

0
ProgrammingDEV Community ·

How Student Developers Can Fix Common SQL Injection Flaws in Their Projects

SQL injection remains a widespread vulnerability in student projects, often arising when user input is directly concatenated into database queries rather than handled as separate data. Common risky patterns include building queries inside controller code, storing credentials in source files, and testing only with normal, non-malicious input. The core fix is using parameterized queries or prepared statements, which send SQL structure and user-supplied values to the database separately, preventing input from altering query logic. This approach works across popular languages and frameworks, including Java JDBC, Python SQLite, and Spring JDBC. Adopting least-privilege database accounts, validating input, and reviewing generated SQL are additional practices that strengthen security even in small academic applications.

0
ProgrammingDEV Community ·

Developer bypasses Akamai Bot Manager using real Chrome browser driven via CDP

A professional web scraper detailed how he overcame Akamai Bot Manager protections on the German car listings site mobile.de after standard methods repeatedly failed. Plain HTTP requests, TLS fingerprint spoofing, and headless browser automation via Playwright and Puppeteer were all detected and blocked by Akamai's bot detection scripts. The author noted that Akamai evaluates browser behaviour beyond the TLS handshake, running JavaScript that checks for a real rendering engine and browser internals that automated clients cannot replicate. The eventual solution was to launch a genuine Chrome binary with a real user profile and control it remotely using the Chrome DevTools Protocol (CDP) via Playwright's connect_over_cdp method. Because the browser was entirely authentic rather than simulated, Akamai found nothing to flag, and the scraper successfully retrieved 64 complete car listings.

0
ProgrammingDEV Community ·

Spring AI Brings Model Context Protocol Support for Java MCP Clients and Servers

Model Context Protocol (MCP) is a standardized communication layer that allows AI applications to connect with external tools, resources, and systems without building custom integrations for each one. As AI systems grow more complex, maintaining separate integrations for services like GitHub, CRM platforms, and databases becomes difficult to scale across multiple applications. MCP solves this by introducing a common protocol where an MCP client inside the AI application communicates with one or more MCP servers that expose capabilities through a unified interface. Spring AI now provides dedicated starters and APIs that enable Java developers to build both MCP clients and MCP servers within Spring Boot applications. This approach separates the LLM reasoning layer from the integration layer, making AI architectures more modular and easier to maintain.

0
ProgrammingDEV Community ·

Migration Canary: A Lightweight Method to Safely Verify Database Schema Changes

A migration canary is a small, continuously running process designed to verify that database schema changes are safe during the transition window between old and new schemas. As modern systems increasingly rely on independent deploys and AI-generated migrations, a failed schema change can silently corrupt data across multiple services rather than triggering an immediate, obvious failure. The approach follows an expand-canary-measure-gate cycle, where a lightweight worker dual-writes test records and reads them back through both old and new code paths while tracking metrics like read parity, serialization errors, and latency. The canary integrates with rollout tools such as Flagger or Argo Rollouts to automatically block destructive schema steps — like dropping columns — until sufficient error-free runtime has been observed. In a real-world example, this method caught a faulty JSON parser affecting a subset of rows during a 24-hour verification window, preventing a data integrity incident before it reached production.

0
ProgrammingDEV Community ·

Developer releases zero-dependency CLI tool to detect OpenAPI spec and code drift

A developer has released oas-drift, an open-source command-line tool that identifies mismatches between an OpenAPI specification and a Python codebase. The tool detects three types of drift: routes defined in the spec but missing from code, routes in code not listed in the spec, and paths where the HTTP method differs between the two. Built using only Python 3.11's standard library with no external dependencies, it parses source files using Python's ast module without executing any code, ensuring fully deterministic output. Unlike many CI-facing tools, oas-drift exits with code 0 regardless of findings, leaving the decision to fail a build to the development team's own policy. The tool supports JSON output for machine-readable reports, making it easy to integrate into CI pipelines alongside filtering tools like jq.

0
ProgrammingHacker News ·

AI Chatbots Keep Inventing a Fictional Person Named Elias Thorne

Multiple AI chatbots have been observed repeatedly generating references to a fictional individual named Elias Thorne, who does not appear to exist in reality. The phenomenon highlights a known problem with large language models called hallucination, where AI systems confidently produce false or fabricated information. Researchers and users have noted that the name surfaces across different AI platforms unprompted, suggesting a pattern rather than isolated incidents. The case raises broader concerns about the reliability of AI-generated content, particularly when users may not be able to distinguish invented details from verified facts.

0
ProgrammingDEV Community ·

Developer Builds Tool to Evaluate Reliability and Bias in LLM Judge Models

A developer has created a lightweight open-source evaluator designed to assess the performance of large language models when used as automated judges. The tool tests LLM judges across several dimensions, including consistency across repeated runs, position bias, sensitivity to response length, and accuracy in preferring higher-quality answers. Each test case in the dataset includes a task rubric, an ideal response, and a negative response — where the latter represents a less preferred rather than necessarily incorrect answer. The project, currently around 200 lines of code, is publicly available on GitHub under the name JudgeDjudge. The developer is actively seeking community feedback on additional failure modes or alternative approaches to evaluating LLM judges.

0
ProgrammingDEV Community ·

Migrating 900 Recipes from Paprika to Mealie: What Transfers and What Gets Lost

A detailed technical analysis finds that importing a large Paprika recipe library into the self-hosted Mealie platform preserves core content — including names, directions, source URLs, and primary photos — but loses structured metadata. Per-ingredient quantity, unit, and food fields arrive as unparsed plain text, while secondary photos, difficulty labels, star ratings, favourites flags, and nutrition blocks disappear silently. The import itself is a single file upload, but restoring lost data requires scripted API calls using Mealie's REST endpoints. Users migrating from Nextcloud Cookbook face the least data loss, while RecipeKeeper users on Windows and iOS require the most manual repair work. Anyone evaluating the switch is advised to first test the import on a separate throwaway Mealie instance, since the importers are not idempotent and a failed run is difficult to reverse.

← NewerPage 1126 of 3220Older →