SShortSingh.

Programming

0
ProgrammingDEV Community ·

Developer builds free AI and PDF platform using only a smartphone

A developer built ToolVerse, a free all-in-one utility platform, entirely on a smartphone after growing frustrated with paywalled PDF and AI tools. The platform includes over 31 client-side PDF tools, 17-plus AI agents, and a Web3 trading terminal, all accessible without subscriptions or fees. The entire project was coded and tested on a mobile device, meaning desktop compatibility has not been fully verified. The developer shared the project on DEV Community, inviting users to test the platform and report bugs, particularly UI layout issues on larger screens. Feedback from the community is being treated as the primary form of contribution at this stage.

0
ProgrammingDEV Community ·

DP-750 Exam Guide: Slowly Changing Dimensions and Data Quality in Azure Databricks

Microsoft's DP-750 Azure Databricks Data Engineer Associate certification requires candidates to understand Slowly Changing Dimensions (SCD) and data quality expectations in Lakeflow Spark Declarative Pipelines. SCD Type 1 overwrites existing dimension records without preserving history, making it suitable for correcting data-entry errors or when only the latest value is needed. SCD Type 2 retains full history by adding a new row for each change while marking the old row as inactive, which is used when analysts need to track changes over time. Lakeflow Spark Declarative Pipelines supports both CDC and SCD patterns, with Type 2 implementable via the AUTO CDC INTO syntax in Lakeflow SQL. Exam questions Q36, Q55, Q57, Q76, Q77, and Q78 are identified as directly testing these SCD decision patterns.

0
ProgrammingDEV Community ·

Dependency Injection Explained: How One Pattern Fixed a Tangled Node.js Checkout Service

A developer building a Node.js e-commerce checkout service encountered serious maintainability issues after hard-coding Stripe, PayPal, and FraudChecker dependencies directly inside a PaymentProcessor class. The tightly coupled design made unit testing nearly impossible and meant any gateway swap required editing core files. The solution was Dependency Injection (DI), a design pattern where a class receives its collaborators from the outside rather than creating them internally. Refactoring PaymentProcessor to accept a gateway and fraud checker via its constructor immediately improved testability and made swapping providers straightforward. The article illustrates how DI decouples implementation details from business logic, resulting in a more flexible and maintainable codebase.

0
ProgrammingDEV Community ·

AI Data Centers Strain Power Grids and Contradict Climate Commitments

The rapid expansion of AI infrastructure is placing enormous demand on energy, water, and rare-earth resources, raising concerns about its environmental cost. A single 100 MW AI data center consumes billions of dollars worth of resources that critics argue should fund grid modernisation and renewable energy development. During peak power demand, many data centres fall back on diesel generators or coal-fired plants, directly increasing fossil fuel emissions. Meanwhile, major polluters the US and China continue to fall short of Paris Agreement targets, even as they lead AI investment. Critics argue that the industry's 'green digital future' narrative obscures a growing contradiction between AI's resource appetite and genuine climate action.

0
ProgrammingDEV Community ·

Transformers 5.15.0 and Meta Muse Glimmer Lead Latest AI Releases

A review of eleven recent AI and agent updates found only two meeting a strict 36-hour recency threshold. Meta Muse Glimmer is a roughly 30-billion-parameter multimodal model released under Apache 2.0, designed for agentic workloads with 4-bit weights reportedly under 20 GB. Hugging Face's Transformers 5.15.0 adds support for Muse Glimmer, FSDP plans across 94 causal-LM classes, batched Omni audio generation, and Tekken tokenizer support. The update also introduces notable breaking changes, including opt-in kernels for linear-attention families and revised cache-cropping behavior using negative offsets. Six additional tools — including SGLang 0.5.17, Anthropic Python SDK 0.121.0, and Pydantic AI 2.27.0 — are flagged for a broader 72-hour watchlist pending further verification.

0
ProgrammingDEV Community ·

Engineering Team Shrinks 190 GB Production Database to 45 GB Before Cloud Migration

A software team reduced a production database from 190 GB to 45 GB in a single overnight maintenance window ahead of a cost-sensitive cloud migration. Initial measurements revealed that only 106.7 GB of the 190.6 GB allocated was actually in use, meaning 84 GB was simply unreclaimed empty space from past growth spikes. The team found that the largest storage offenders were not high-row-count tables but blob-heavy tables with relatively few rows, including one configuration table consuming 13 GB across just 21,000 rows. To prevent the transaction log from overwhelming available disk space during bulk deletions, the database was temporarily switched from full to simple recovery mode, keeping log size stable at 6.5 GB throughout the three-hour operation. The team documented six key lessons, emphasizing the importance of measuring allocated versus used space and ranking tables by size in megabytes rather than row count before planning any cleanup.

0
ProgrammingDEV Community ·

How to Secure Your Software Supply Chain With SBOMs, Signing, and SLSA

Most production code consists of third-party dependencies that are trusted by default, making the software supply chain a prime attack vector, as seen in incidents like SolarWinds and the xz backdoor. A Software Bill of Materials (SBOM) provides a machine-readable inventory of every component in a software artifact, enabling faster vulnerability assessment when new CVEs emerge. Code signing and provenance verification — facilitated by tools like Sigstore — help confirm that artifacts are genuine and unmodified throughout the build process. The SLSA framework offers a tiered maturity model for hardening build pipelines, while least-privilege CI practices and dependency hygiene further reduce exposure. Shifting security checks as early as possible in the pipeline — ideally at pull-request stage — significantly reduces the cost and impact of discovering vulnerabilities later in production.

0
ProgrammingHacker News ·

Opinion: Lack of Fun May Be a Key Reason Programming Languages Fail

A piece published on bytecode.news argues that enjoyment and fun are underappreciated factors in the success or failure of programming languages. The article suggests that languages which fail to engage or delight developers struggle to gain adoption, regardless of their technical merits. The post was shared on Hacker News, where it attracted 10 points at the time of reporting. No comments had been posted on the discussion thread. The full argument is available at the bytecode.news blog.

0
ProgrammingDEV Community ·

Developer shares step-by-step guide to listing an MCP server on the official registry

A developer recently listed ThinkReview, a hosted AI code-review MCP server, on the official MCP Registry at registry.modelcontextprotocol.io. The registry stores metadata via a server.json file rather than uploaded binaries, allowing both package-based and remote hosted servers to be discoverable. To get listed, the developer created a public documentation repository on GitHub, installed the mcp-publisher CLI tool, and authenticated using a GitHub organisation namespace. The server.json file points to the live hosted endpoint using the preferred streamable-http transport type, which has replaced the now-deprecated SSE format. The registry is currently in preview and may see breaking changes before its general availability release.

0
ProgrammingHacker News ·

Mystery bulk order of 5,000 obscure titles alarms European booksellers

An unusual bulk purchase of 5,000 obscure book titles has raised alarm among booksellers across Europe. The scale and nature of the order has been described as highly irregular, prompting suspicion within the book trade. Sellers are uncertain about the identity and motive of the buyer behind the spree. The incident has sparked broader concern about potential manipulation or unusual activity in the European bookselling market.

0
ProgrammingDEV Community ·

Developer Builds Custom JavaScript Promise Class to Demystify Async Internals

A developer published a tutorial on DEV Community explaining how to implement a custom Promise class in JavaScript from scratch. The project, called MyPromise, is modeled on the core principles of the Promises/A+ specification and replicates key native Promise behaviors. The implementation covers Promise states, resolve and reject functions, callback queuing, chaining, error propagation, and asynchronous execution of .then() handlers. A companion test suite was built to compare the custom implementation's behavior directly against JavaScript's native Promise object. The goal is to help developers move beyond treating Promise as a black box and gain a deeper understanding of how asynchronous JavaScript works internally.

0
ProgrammingDEV Community ·

SQLite FTS5 Outperforms Whoosh, But Pure-Python Search Still Has a Place

An AI agent maintaining the whoosh3 Python search library published benchmarks showing SQLite FTS5 indexes and searches roughly 76–78 times faster than Whoosh on a 5,000-document test corpus. The author openly concedes FTS5's speed advantage, attributing it to being a compiled C extension versus pure Python. However, Whoosh remains relevant in environments where FTS5 is unavailable, such as locked-down enterprise systems or minimal containers that ship SQLite without the FTS5 option enabled. Whoosh also offers a richer query model with built-in support for fuzzy matching, wildcards, field-scoped terms, spelling correction, and result highlighting — features that would require custom implementation on top of FTS5. The article concludes that complex search UIs and constrained deployment environments are the clearest practical reasons to choose Whoosh over FTS5.

0
ProgrammingDEV Community ·

Developer Replaces Gut-Feel Model Testing with Automated 30-Minute Scoring Loop

A developer frustrated by unreliable informal testing of open-source AI models built a structured evaluation system to replace instinct-based assessments. The core problem identified was threefold: single prompts are unrepresentative, recent demos create anchoring bias, and fluent-sounding wrong answers feel deceptively correct. The solution uses a JSONL task file containing real-world prompts drawn from actual past work, split into auto-scored code tasks verified by assertion checks and manually rubric-scored tasks judged against criteria written before any output is seen. A lightweight Python runner, requiring no third-party libraries, executes the full suite against any OpenAI-compatible endpoint and produces a written verdict rather than a subjective impression. The author argues the entire evaluation loop fits within a coffee break and eliminates the inconsistency of mood-driven model adoption decisions.

0
ProgrammingDEV Community ·

Developer launches MCP server for precise financial math in AI agents

A developer has released PrecisionCalc MCP, a Model Context Protocol server designed to give AI agents reliable, high-precision financial calculation capabilities. The tool addresses a known weakness in large language models, which often produce plausible but incorrect results when performing complex arithmetic such as LTV, NPV, or chained financial metrics. PrecisionCalc uses arbitrary-precision decimals instead of floating-point numbers, and every response includes the formula, inputs, and assumptions for full auditability. The server supports 11 financial tools covering metrics like CAC payback, IRR, loan amortization, and currency conversion using live ECB rates. It is available as a remote HTTP server with no installation required, listed in the official MCP Registry, and offers a free tier of 15 calls per day alongside paid plans.

0
ProgrammingDEV Community ·

Developer Builds Custom LLM Eval System to Cut Through Model Launch Hype

A software developer has published a personal method for rigorously vetting new large language models before integrating them into their workflow. The approach was motivated by a costly experience adopting a trending model on launch day, only to find it confidently generated hallucinated CLI flags. Rather than relying on public benchmarks or viral demos, the developer built a small deck of adversarial, repo-specific tasks paired with machine-checkable contracts that define what a passing response looks like. A lightweight, dependency-free Node.js runner executes each task against any OpenAI-compatible endpoint, measuring criteria such as required terms, forbidden terms, word count, and success rate across multiple samples. The system is designed to test whether a model can handle unglamorous, real-world coding tasks — such as YAML configs and database migrations — rather than polished benchmark prompts.

0
ProgrammingDEV Community ·

How to Build a High-Throughput Solana Data Pipeline Without Breaking the Budget

Tracking real-time swap activity across Solana DEXes like Raydium, Orca, and Jupiter is too fast for conventional Web2 architecture, making purpose-built pipelines necessary. A proposed three-part engineering series outlines a zero-data-loss swap indexer using Rust for ingestion, NATS as a message broker, and ClickHouse for analytics. Cloud cost control is highlighted as a critical challenge, with Helius RPC's Professional Plan at $999 per month for 200 million credits cited as the industry benchmark for such workloads. By filtering WebSocket subscriptions intelligently, estimated daily credit consumption stays between 5 and 8 million, keeping monthly usage within plan limits. The architecture decouples ingestion speed from database write speed, ensuring that downstream failures do not cause data loss at the collection layer.

0
ProgrammingDEV Community ·

Programmers Use 200-Line Data Structures to Solve a Simple Addition Problem

A humorous engineering showcase on DEV Community highlights programmers who solved the trivial A+B problem — which only requires adding two numbers — using massively complex data structures. One solution employed a Link-Cut Tree spanning roughly 200 lines of code, complete with connect, cut, and path-sum query operations, solely to compute a single sum. Another approach used a Segment Tree with lazy propagation and interval-addition tags, despite the problem requiring only one addition on a single element. Both solutions were described as deliberate acts of 'over-engineering,' treating a one-line problem as if it demanded industrial-grade infrastructure. The article frames these submissions as a lighthearted tribute to programmers who apply heavy algorithmic artillery to the simplest of competitive programming tasks.

0
ProgrammingDEV Community ·

Developer Eliminates SSH Attacks by Hosting Side Project Without a Public IP

A developer migrated a small Node.js API and Postgres database to Krova Cloud, a platform that does not assign public IP addresses to servers by default. Previously, the server faced thousands of daily SSH brute-force attempts despite having key-based authentication, fail2ban, and UFW firewall rules in place. Without a public IP, the server became unreachable directly from the internet, while users continued accessing the API normally through a domain name. SSH access was restricted to the developer's home IP via a port mapping, keeping the server effectively invisible to outside attackers. The result was a complete elimination of SSH intrusion attempts, with no impact on API performance or the user experience.

0
ProgrammingDEV Community ·

Developer Debugs Two Critical Bugs in AI Spend Audit App Before Launch

Developer Sheezal Patel encountered persistent 500 errors in her AI Spend Audit web app after connecting the frontend to MongoDB, with requests timing out at nearly 30 seconds before failing. Investigation revealed the issue stemmed from a misconfigured MongoDB Atlas connection rather than any problem with the API payload or Mongoose schema. A second bug emerged when a dynamic report page returned 404 errors, which was traced to Next.js treating route parameters as a Promise that required awaiting before querying the database. Both issues were resolved by fixing the database connection configuration and updating the server component to handle async params correctly. Patel noted the experience reinforced the importance of following logs and timing data, as the root causes were not where they initially appeared to be.

← NewerPage 252 of 1348Older →