SShortSingh.

Programming

0
ProgrammingDEV Community ·

How 11 Variants of One Shell Script Created a Company-Wide Security Crisis

A software engineer discovered that a single useful shell script had been copied and independently modified into 11 variants spread across hundreds of laptops at their employer. Several of these scripts were launching pods into Kubernetes clusters using container images that were years old and riddled with known security vulnerabilities. Some of those clusters fell within strict compliance boundaries, including FedRAMP-regulated environments, raising serious audit concerns. When a scanner flagged the outdated images, the team realized they had no reliable way to push a one-line fix to machines they did not control. The incident highlighted a fundamental distinction between a script — which only runs where it lives — and a self-updating tool that can enforce changes across systems without relying on users to act.

0
ProgrammingDEV Community ·

Three Threat Groups Exploit Cisco Firewall Manager Flaws, Including CVSS 10.0 Bug

Cisco Talos confirmed on September 9, 2026, that two vulnerabilities in Cisco Secure Firewall Management Center (FMC) were being actively exploited by three distinct threat clusters. The more severe flaw, CVE-2026-20079 (CVSS 10.0), allows an unauthenticated attacker to bypass login and execute commands as root via a crafted HTTP request, while CVE-2026-20316 (CVSS 5.3) involves hardcoded credentials enabling limited unauthorized access. A suspected Sandworm-linked group chained both flaws to install a Cyclops Blink malware variant, a credential thief deployed a web shell to extract authentication data, and a Qilin ransomware affiliate used the static credentials to map networks and deploy ransomware. CISA added CVE-2026-20079 to its Known Exploited Vulnerabilities catalog the same day, setting a federal remediation deadline of September 12, 2026. Because FMC centrally manages firewall policy and configuration across entire network estates, its compromise effectively undermines the security of every device it controls.

0
ProgrammingDEV Community ·

Reel Motion App Converts Instagram and TikTok Workout Videos Into Guided Routines

A developer has launched Reel Motion, an app designed to transform workout videos from platforms like Instagram, TikTok, and YouTube into structured exercise routines. Users share a video with the app, which then detects the exercises and generates a step-by-step workout complete with illustrations, instructions, reps, timers, and audio guidance. The app also supports voice control, allowing users to navigate workouts without picking up their phone between sets. All imported workouts are saved in a personal library, replacing the need to bookmark scattered videos across multiple platforms. The app is now live at reelmotion.fit and the developer is seeking feedback from the tech community.

0
ProgrammingDEV Community ·

How to Extract Text and Images from PowerPoint Files Using Free Spire.Presentation in C#

Developers working with PowerPoint files in .NET often face challenges because the native framework lacks built-in APIs for parsing .pptx content directly. Free Spire.Presentation for .NET is a lightweight, free library that supports .NET 6 and above and simplifies tasks like text extraction and image export from PowerPoint files. Using Visual Studio 2022 or Rider, developers can batch-extract all slide text into a TXT file by traversing slides, shapes, and paragraphs through a three-level hierarchy. The library also supports exporting embedded images as local PNG files, reducing boilerplate code and format compatibility issues. It requires no watermark and carries no commercial restrictions for everyday non-commercial parsing use cases.

0
ProgrammingDEV Community ·

How Port, Baud, and Protocol Mismatches Cause RTK GNSS Failures in Drones

Engineers integrating Septentrio-powered GNSS receivers into UAV autopilots like ArduPilot and PX4 most commonly encounter a 'no fix' error caused not by faulty hardware but by port, baud rate, or protocol direction mismatches. Septentrio modules use LVTTL (3.3V logic) UARTs that are incompatible with RS-232 signals, and connecting the wrong voltage source can damage the port. Experts recommend assigning a dedicated UART per task — one for autopilot position output via NMEA, one for incoming RTCM or CMR corrections, and a third for raw logging — to avoid configuration conflicts that mimic hardware failures. A baud mismatch typically produces garbled data rather than silence, leading integrators to mistakenly suspect a dead receiver rather than a misconfigured parameter. Changing baud rates on both ends simultaneously without verification is a common mistake that turns two functional ports into one broken link.

0
ProgrammingDEV Community ·

How SaaS Founders Can Use Directory Listings as a Long-Term Distribution Channel

A detailed submission guide published on DEV Community outlines how SaaS founders can systematically list their products across online directories to build lasting distribution. The author argues that most solo founders skip this step, despite it offering compounding benefits through backlinks, referral traffic, and AI citation visibility. Research cited in the piece suggests over 35% of LLM citations for B2B SaaS products trace back to just ten sources, making high-authority directory listings increasingly valuable. The guide draws from a curated database of 393 SaaS directories, filtered by category, fee type, and domain authority. Unlike paid ads or social posts, directory listings are described as permanent, low-cost assets that continue driving discovery long after submission.

0
ProgrammingDEV Community ·

Developer Builds Rust Crate to Block AI Agents from Accessing Cross-Tenant Data

A developer has released TenantInvariant, an experimental open-source Rust library designed to prevent AI agents from accessing resources belonging to the wrong customer in multi-tenant SaaS applications. The problem arises when an AI model generates a tool call referencing a valid resource ID that happens to belong to a different tenant, bypassing intended data boundaries. The library addresses this by resolving resource ownership server-side from a trusted source, rather than trusting any tenant information supplied by the AI model itself. It then compares the authenticated actor's tenant against the resolved resource owner, denying access if they do not match or if ownership cannot be determined. The crate aims to make tenant isolation an enforceable, named invariant in the application layer rather than relying solely on prompt engineering.

0
ProgrammingDEV Community ·

Engineer Builds Testable AWS Multi-Region Disaster Recovery with Real Failover Under 15 Min

A software engineer has built and open-sourced a multi-region 'pilot light' disaster recovery setup on AWS, using Terraform to replicate a notes API across two regions in Ireland and Paris. The architecture keeps the secondary region dormant — with zero running application instances — until a failure is detected, at which point Route 53 automatically flips DNS within roughly 30 seconds. PostgreSQL data is continuously replicated via a cross-region read replica, while S3 and Secrets Manager stay live in both regions simultaneously, minimizing manual intervention during failover. A single script handles the one step that cannot be automated — promoting the RDS read replica — targeting a full recovery time of 10 to 15 minutes. The project was designed to demonstrate that pilot light is the most cost-effective disaster recovery pattern achieving minute-scale RTO, and benchmarks each trade-off against AWS's Well-Architected Framework.

0
ProgrammingDEV Community ·

Why Airflow May Be the Wrong Tool for Medallion Data Pipelines

A data engineer with six years of experience argues that Apache Airflow is poorly suited for medallion architecture pipelines, citing dependency conflicts, lack of atomicity, and excessive orchestrator maintenance overhead. For AWS-based pipelines, the author recommends AWS Step Functions for its server-free state machine model and native support for long-running Spark jobs via callback patterns, while noting its execution history limits. Teams using Delta Lake on Databricks are advised to adopt Databricks Workflows instead, as it integrates directly with cluster lifecycle management and Delta commits, avoiding orphaned clusters. A key architectural warning is raised against monolithic pipelines that chain Bronze, Silver, and Gold layers serially, as a single failure forces costly full reruns. The overall message is that no single orchestrator fits all use cases, and engineers should choose tools based on the specific failure modes their infrastructure is likely to encounter.

0
ProgrammingDEV Community ·

Developer Builds AI Nutrition Agent That Analyzes Fridge Photos and Orders Groceries

A developer has published a tutorial detailing how to build a multimodal AI nutrition agent using LangGraph, GPT-4o, and the Instacart API. The system works by accepting a fridge photo and continuous glucose monitor (CGM) data as inputs, then using GPT-4o's vision capabilities to identify available ingredients and nutritional gaps. LangGraph provides stateful orchestration, allowing the agent to track glucose levels, fridge inventory, allergies, and a pending shopping list across interactions. When the agent determines that key items are missing, it triggers a function call to the Instacart API to automatically place a grocery order. The tutorial covers the full stack, including a FastAPI backend and Redis for persistent storage of user health data.

0
ProgrammingDEV Community ·

Tableau Heartbeat Kept Databricks Warehouse Running All Weekend, Costing Team $14k

A software team was hit with a $14,000 cloud bill after a newly deployed data pipeline triggered an unexpected cost spike over a single weekend on Databricks Serverless SQL Warehouse. The culprit turned out to be a Tableau BI tool configured to send periodic heartbeat pings to the warehouse every 8 minutes — just under the 10-minute Auto-stop idle threshold. Because Databricks Serverless treated these sub-millisecond system metadata queries as active sessions, the warehouse never registered as idle and never shut down. The team had unknowingly been running a large, high-DBU warehouse around the clock simply to serve low-cost connection keep-alive requests. The fix involved severing the BI connection, splitting workloads across smaller and larger warehouses by use case, and reconfiguring connection strings to prevent the same idle-timer reset from recurring.

0
ProgrammingDEV Community ·

Redis vs Memcached: Key Differences, Strengths, and When to Use Each

Redis and Memcached are two widely used open-source, in-memory caching tools designed to store data in RAM for faster access than traditional disk-based databases. Memcached, developed by Danga Interactive for LiveJournal in 2003, is a multi-threaded, pure key-value store optimized for simplicity and high-speed transient data storage. Redis, by contrast, offers a richer feature set including support for complex data structures, persistence, and broader use cases beyond simple caching. Both tools help reduce database load, improve application scalability, and enhance user experience by serving frequently accessed data at low latency. Choosing between them depends on specific application requirements, with Memcached favoring raw simplicity and Redis offering greater versatility.

0
ProgrammingDEV Community ·

Why Japanese Dev Teams Greet Each Other With 'You Must Be Tired'

On Japanese engineering teams, the phrase 'otsukaresama desu' (お疲れ様です) is the most commonly used expression in the workplace, appearing in Slack messages, at the end of meetings, and during hallway exchanges. Though its literal translation roughly means 'you honorable tired one,' the phrase functions as an acknowledgment of shared effort rather than a comment on someone's physical state. It fills the role of several English expressions at once — serving as a greeting, a thank-you for one's work, and a closing remark. A past-tense variant, 'otsukaresama deshita,' is used when a task or workday has concluded, while a separate phrase covers the etiquette of being the first person to log off. Understanding the phrase as a social marker of collective effort, rather than translating it literally, is key to using it naturally in a Japanese work environment.

0
ProgrammingDEV Community ·

Windows TTS Guide: Built-in Voices, Edge Neural TTS, and Subtitle Sync Fixes

Windows offers two main text-to-speech routes: the built-in System.Speech engine, which saves audio to WAV without any installation or internet, and the edge-tts Python package, which taps Microsoft Edge's neural voices to produce higher-quality MP3 output. The two voice generations on Windows — SAPI 5 and OneCore — live in separate registry hives, which explains why voices installed via Settings often fail to appear in System.Speech. The edge-tts tool requires no API key or account and supports controls for rate, pitch, and volume. Dubbing subtitles with TTS is inherently problematic because synthesizers pronounce every syllable, making spoken audio almost always longer than the on-screen cue duration. Practical workarounds include speeding up the voice slightly, shortening the script, or merging short cues — while for original content, generating narration first and editing visuals to match is the most reliable approach.

0
ProgrammingDEV Community ·

Four AI Data Incidents Reveal Who Really Controls Your Business Information

A single week saw four converging AI data stories: a class of attacks designed to steal model weights from live services, a community project archiving models before vendors quietly delete them, a report that ChatGPT tracks user activity across websites via an embedded ad collector, and Spain ordering blocks on the archive site Archive.today. Each incident reflects the same underlying risk — sensitive data moving in unauthorized directions, whether out of a vendor, into one, or disappearing from the internet entirely. Experts warn that pasting supplier quotes, customer IDs, or financial figures into AI tools exposes that data to logging, third-party SDKs, training pipelines, or legal subpoenas. The recommended safeguard is to treat every AI tool as a public channel, anonymizing sensitive fields before submission and resolving identities only on internal systems. Businesses are advised to inventory outbound data flows, retain local copies of prompts and outputs, and plan vendor exit strategies before they become necessary.

0
ProgrammingDEV Community ·

Why the Real Customer for Your Product May Not Be the End User

A developer exploring collaboration tools for game development drew a key insight from an analysis of Ticketmaster's business model. Ticketmaster grew by prioritizing venues as its primary customers rather than the ticket-buying public. This prompted reflection on who the true customer is for a proposed tool aimed at reducing merge conflicts in game development workflows. Potential customers identified include student developers, team leads, instructors, and indie studios, with student teams chosen as the initial focus due to their direct experience with the problem. The core lesson is that the user, customer, and payer are often distinct roles, and recognizing this early can fundamentally shape how a product is designed.

0
ProgrammingDEV Community ·

Developer builds cookie-free lead attribution for static Nuxt sites without consent banners

A developer running a static Nuxt site with cookieless analytics built a lightweight first-touch attribution system to identify where contact form leads originate. The solution uses localStorage instead of cookies, capturing the external referrer, landing page path, and UTM parameters the first time a visitor arrives. Because the data is written only once, returning visitors are still attributed to their original source rather than a later direct visit. The client-side Nuxt plugin avoids server-side rendering conflicts, and a try-catch wrapper prevents localStorage errors in private browsing from breaking the page. On form submission, the stored source data is sent with the contact payload and formatted server-side into a readable label for notification emails.

0
ProgrammingDEV Community ·

Kubernetes Day 3: Understanding File Permissions and Bind Mounts in Docker

File permissions in Linux can be managed using chmod, while the umask command sets default permissions — for example, a umask of 0002 results in 664 permissions for files. Bind mounts in Docker link a host directory to a container directory, functioning as a volume for persistent data sharing. The docker run -v flag is used to map a local folder to a path inside the container, such as ./data to /home/data. Docker images are read-only and cannot be modified in place; any changes result in the creation of a new image layer. A container is essentially a running instance of a Docker image, spun up through the Docker engine.

0
ProgrammingHacker News ·

Explainer: The Mathematics Behind Why Backpropagation Runs in Reverse

A technical blog post by Gregory Gundersen, published in April 2018, examines the mathematical reasoning behind backpropagation in neural networks. The article explains why the algorithm operates in reverse order through a network's layers. It was recently shared on Hacker News, where it received 6 upvotes. The post targets readers seeking a deeper conceptual understanding of how neural networks learn from errors.

0
ProgrammingDEV Community ·

C# Tip: Using JsonConverter for Targeted and Global JSON Data Formatting

A practical C# guide demonstrates how to build a custom JsonConverter that capitalizes the first letter of string values during JSON deserialization. The converter, named UpperCaseFirstCharConverter, is designed for data-import scenarios where incoming JSON fields like names may have inconsistent casing. Developers can apply it globally via JsonSerializerOptions or register it in ASP.NET Core's Program.cs to cover all serialization operations. However, global application affects all string fields, including unintended ones like state codes, which can cause data errors. The recommended fix is to apply the converter selectively using the JsonConverter attribute directly on specific model properties such as FirstName and LastName.

← NewerPage 1062 of 3198Older →