SShortSingh.

Programming

0
ProgrammingDEV Community ·

Python's shutil module offers a workaround to detect screen orientation in Pydroid 3

Pydroid 3, a Python IDE for Android, does not support traditional methods for detecting phone orientation such as portrait or landscape mode. Pyjnius fails in this environment because Pydroid 3 cannot execute Java code in its terminal, and Kivy only works at the window level. A developer discovered that Python's built-in shutil module, specifically the get_terminal_size function, can serve as an indirect workaround. When the phone is rotated, the terminal dimensions reported by get_terminal_size change, effectively allowing orientation detection. This method offers a simple, dependency-free alternative for Pydroid 3 users needing basic orientation awareness.

0
ProgrammingHacker News ·

OpenSSH 10.5 Released With New Policy on AI-Assisted Code Fixes

OpenSSH has released version 10.5, marking a notable update to the widely used open-source SSH software. The release is accompanied by a shift in project policy, now welcoming fixes generated with the assistance of AI tools. Release notes for the update are available on the official OpenSSH website. The change signals a broader acceptance of AI-assisted contributions in open-source security software development.

0
ProgrammingDEV Community ·

Silent token refresh bug logged a Bluesky monitoring account out for two days

A developer running an automated job to monitor a Bluesky account for replies discovered that silently consuming an expired token produced results indistinguishable from a quiet inbox, masking the failure entirely. After adding proper error-checking, the developer attempted to fix the expired token by calling the AT Protocol refresh endpoint directly, which appeared to work initially. However, AT Protocol refresh tokens are single-use and rotating, meaning presenting one invalidates it and issues a new pair that must be saved. Because the monitoring job did not write the new token pair back to storage — to avoid corrupting the browser app's session — the browser was left holding an already-consumed token and was signed out the next time it attempted a refresh. The incident highlights a subtle integration risk: refreshing a token owned by another client causes delayed, hard-to-diagnose session revocation, deferred by roughly one access-token lifetime.

0
ProgrammingDEV Community ·

Self-Taught Developer Builds Streaming AI Copilot and 3D Studio on Smartphone During Factory Breaks

A self-taught developer has built CoSpatial 3D, a mobile-optimized spatial design and generative concept tool, coding it entirely from a smartphone during short breaks on a factory production line. The project hit a major technical obstacle when the in-app AI Copilot triggered HTTP timeout errors and mobile browser crashes while processing complex requests. To resolve this, the developer replaced standard request-response cycles with Server-Sent Events (SSE) streaming on a Python backend paired with a token-by-token fetch reader loop on the React frontend, eliminating the timeout issues. The app is now live at cospatial3d.xyz, featuring a 3D canvas that renders geometric shapes using raw trigonometry rather than AI-generated approximations. The developer is fully self-funding the project from factory wages and is seeking community support and technical feedback to sustain hosting and GPU costs.

0
ProgrammingDEV Community ·

System Design Basics: Why Problem-First Thinking Beats Memorizing Tech Tools

A structured guide for beginners explains that effective system design starts with understanding requirements, scale, and trade-offs rather than memorizing tools like Redis or Kafka. Designers are advised to follow a sequential thinking process covering traffic estimation, API design, database selection, bottleneck identification, caching, scaling, reliability, and monitoring. Traffic estimation is highlighted as a critical early step, since a system serving 10 million users demands a fundamentally different architecture than one built for 1,000. Database choice should be driven by data relationships, query patterns, and consistency needs rather than personal preference, as neither SQL nor NoSQL is universally superior. Identifying bottlenecks before scaling infrastructure is also emphasized, since adding more servers cannot fix a constrained database.

0
ProgrammingDEV Community ·

TechEmpower Benchmarks Archived; HttpArena Emerges as Stricter Replacement

The TechEmpower Framework Benchmarks, a 13-year-old reference for web framework performance, were shut down and archived in March 2026 after growing unsustainable in scale and volunteer support. The project had expanded from 25 frameworks in 2013 to over 330 implementations by its final Round 23, but maintenance costs and dwindling volunteer capacity led to its closure. A new benchmarking project called HttpArena has stepped in to fill the gap, running all tests on a single standardized AMD Ryzen Threadripper PRO machine under controlled, non-self-reported conditions. HttpArena covers 30 test profiles across six boards including HTTP/1.1, HTTP/2, HTTP/3, gRPC, Gateway, and WebSocket, with strict anti-cheat and correctness validation rules. Unlike its predecessor, HttpArena prohibits pre-computed responses and pre-compressed bodies, requiring frameworks to perform real serialization and compression per request.

0
ProgrammingDEV Community ·

Python's del Statement Removes Names, Not Objects, from Memory

A technical explainer on DEV Community clarifies a common misconception about Python's `del` statement among intermediate programmers. In Python, variables are names bound to objects, meaning multiple names can reference the same object simultaneously. When `del` is used on a name, it removes only that binding — the underlying object survives as long as at least one other name still points to it. A `NameError` is raised only when code tries to look up a name that no longer exists, not because the object itself was destroyed. The article notes that what happens when the very last reference to an object is deleted will be addressed in a follow-up piece.

0
ProgrammingDEV Community ·

Developer Builds InstaFetch, a Clean Next.js Tool for Downloading Public Instagram Media

A developer has launched InstaFetch, a browser-based tool that allows users to download publicly available Instagram videos, Reels, and photos by simply pasting a URL. The application requires no Instagram login credentials and was built using Next.js, React, TypeScript, Tailwind CSS, and deployed on Vercel. The developer designed the tool to simplify a workflow that many existing downloader sites complicate with multiple steps, popups, or credential requests. Separate landing pages were created for different content types — videos, Reels, and photos — each targeting specific search intents, and a sitemap was submitted to Google Search Console. The project is still in early stages, with planned improvements covering download reliability, mobile user experience, and handling of unsupported URLs.

0
ProgrammingDEV Community ·

Choosing the Right Game Engine: Game Maker and Godot Among Top Picks

A developer exploring game engine options has narrowed their focus to Game Maker and Godot as primary candidates. Both engines are widely discussed in the game development community and each uses its own specific programming language. The developer noted that numerous online videos praise various engines, making the choice difficult. They are seeking additional recommendations beyond their current two options to help guide their decision.

0
ProgrammingDEV Community ·

Dapper.TypedParameters 1.0.0 Lets Developers Declare Explicit SQL Server Parameter Types

A new open-source library called Dapper.TypedParameters has reached its first stable release, version 1.0.0, targeting .NET developers who use the Dapper micro-ORM with SQL Server. The library addresses a subtle gap between .NET CLR types and SQL Server's more specific type system, which includes distinctions such as varchar versus nvarchar and varying column sizes. Without explicit type declarations, Dapper delegates parameter metadata to the ADO.NET provider, which can sometimes lead to implicit type conversions in SQL Server depending on schema definitions. Dapper.TypedParameters allows developers to annotate query parameters with precise SQL metadata — for example, SqlParam.VarChar(value, 11) — when the database schema contract is already known. The library does not attempt to inspect the database or recommend one SQL type over another; it simply gives developers a way to make their intent explicit when they choose to do so.

0
ProgrammingHacker News ·

Key CSS Properties to Elevate Your Web Typography

A technical blog post published on master.dev highlights several CSS properties that web developers can use to improve text design. The article focuses on typographic techniques that are often overlooked but can significantly enhance readability and visual appeal. The resource was shared on Hacker News, where it received 5 points. It serves as a practical reference for front-end developers looking to refine their typographic skills using CSS.

0
ProgrammingDEV Community ·

Platform Engineering and IDPs Are Replacing Traditional DevOps at Scale

The original DevOps model, which expected developers to manage their own infrastructure, has struggled at scale, with senior engineers reportedly spending up to 40% of their time on infrastructure tasks rather than building features. Platform Engineering has emerged as an evolution, where dedicated teams build Internal Developer Platforms (IDPs) that treat developers as end-users rather than infrastructure operators. These platforms offer self-service portals, such as Backstage or Port, that automatically provision repositories, CI/CD pipelines, databases, and Kubernetes namespaces without manual ticketing. Common IDP toolchains combine Backstage for the user interface, ArgoCD for deployments, Crossplane for cloud resource provisioning, and OPA Gatekeeper for security enforcement. Proponents argue that by abstracting infrastructure complexity into self-service systems, organisations can finally achieve the deployment speed that DevOps originally promised.

0
ProgrammingDEV Community ·

Agentic DevOps: AI Agents Set to Replace Static CI/CD Pipelines in 2026

Traditional CI/CD pipelines built on static, rule-based YAML files are increasingly seen as bottlenecks as AI-assisted coding accelerates development velocity roughly tenfold. Agentic DevOps proposes embedding autonomous AI agents into the software delivery lifecycle, giving them the ability to reason, interpret errors, and take corrective action without human intervention. These agents can handle tasks such as fixing failing tests, selectively running only relevant test suites based on code changes, and automatically shutting down idle cloud resources to cut costs. Existing tools like GitHub Actions or Jenkins are not discarded but instead wrapped in an intelligence layer using orchestrators such as n8n paired with local large language models like Llama 3.1 or Mistral. As a result, the DevOps engineer's role is expected to evolve from building and monitoring pipelines to supervising and governing autonomous agent workflows.

0
ProgrammingDEV Community ·

AI-authored governance review flags security gaps in AGENTS.md specification

An AI operating autonomously published an unsolicited governance review of the AGENTS.md specification, a file format designed to instruct AI coding agents on how to behave within a repository. The review found that AGENTS.md lacks any concept of irreversible, outward-facing, or costly actions, meaning agents receive no built-in signals to pause before taking high-impact steps. A key concern raised is that explicit user chat prompts override all file-level instructions, effectively making AGENTS.md not a security boundary despite being treated as one by many developers. The spec also has no provisions for audit trails, version history, or emergency stop mechanisms. The reviewer recommended simple practical fixes, including separating prohibitions from instructions under a dedicated heading and adding an FAQ entry clarifying that AGENTS.md does not function as a security boundary.

0
ProgrammingDEV Community ·

Developer Builds 52-Game Platform in 8 Days Using Multi-Agent AI Architecture

A developer used a multi-agent AI system involving Codex and Claude Code to autonomously build a small gaming platform called theworldatplay.com over eight days, resulting in 52 completed games with minimal human code input. The agents self-directed their work, divided tasks among themselves, and even extended the system's own scheduler and rules as the project evolved. Despite all tests passing and technical requirements being met, the developer discovered a critical usability flaw: the homepage displayed game images that were not clickable, making games effectively impossible to find. This highlighted a gap the AI could not bridge — verifying whether a real user could intuitively navigate the site, a judgment that required human experience. Token limit pauses became deliberate review sessions, where the developer's real-world feedback, such as being unable to locate games, fed directly into the next round of agent work.

0
ProgrammingHacker News ·

Paradigm Releases Interactive RSI Simulator for DeFi Research

Paradigm, a crypto research and investment firm, has published an interactive RSI (Restaking Slashing Insurance) simulator on its research platform. The tool is designed to help users model and understand risk scenarios related to restaking mechanisms in decentralized finance. The simulator is accessible online as part of Paradigm's ongoing research efforts. The release garnered attention on Hacker News, attracting early discussion from the developer community.

0
ProgrammingDEV Community ·

Rust Module Cuts Pixel-Art Copy Detection from 9 Days to 1 Second per Query

Developers at Pixagram, a pixel-art social network with an on-chain marketplace, built a Rust-based structural hashing system to detect near-duplicate artworks at scale. Every new artwork minted must be checked against up to 10 million existing pieces for similarities like recoloring, rescaling, or single-pixel edits — not just exact byte matches. The naive pixel-comparison approach cost roughly 80 milliseconds per image pair, translating to about nine days of CPU time per mint against the full corpus. The new method converts each image into a 1,024-byte canonical key — normalizing palette order, transparent pixels, and scale — enabling a comparison in just 115 nanoseconds, roughly 700,000 times faster. Unlike standard cryptographic or photographic perceptual hashes, the approach is purpose-built for pixel art's quantized, flat-color structure, neutralizing entire categories of copy attacks at hash time rather than query time.

← NewerPage 214 of 1342Older →