Category: Development

arXivLabs: Experimenting with Community Collaboration

2025-07-15
arXivLabs: Experimenting with Community Collaboration

arXivLabs is a framework enabling collaborators to develop and share new arXiv features directly on the website. Individuals and organizations involved embrace arXiv's values of openness, community, excellence, and user data privacy. arXiv is committed to these values and partners only with those who share them. Got an idea for a project that will benefit the arXiv community? Learn more about arXivLabs.

Development

A Nasty Postgres Bug in Logical Replication Slot Creation, and How We Fixed It

2025-07-15
A Nasty Postgres Bug in Logical Replication Slot Creation, and How We Fixed It

The ClickPipes team encountered a perplexing bug while creating logical replication slots in PostgreSQL: a query that should have taken seconds was taking hours and couldn't be terminated. Investigation revealed a Postgres bug where, on read replicas, creating a logical replication slot would get stuck in a long sleep loop while waiting for primary transactions to finish, making it impossible to interrupt. The team submitted a patch to the Postgres community adding an interrupt check, effectively resolving the issue. This case highlights how even mature database systems can harbor unexpected edge cases, and the vital role of open-source community collaboration in resolving them.

Development Logical Replication

Benchmarking Distributed Caches: Memcache, Redis, Valkey, Dragonfly, and Garnet

2025-07-15
Benchmarking Distributed Caches: Memcache, Redis, Valkey, Dragonfly, and Garnet

This study performs a comprehensive benchmark of five distributed caches: Memcache, Redis, Valkey, Dragonfly, and Garnet. Metrics include throughput, latency, and CPU cycles. The testing environment uses an AWS c8g.8xlarge instance and the memtier_benchmark tool, varying pipeline sizes (1, 10, 25, 50). Results reveal performance differences across various metrics, aiding developers in selecting the optimal cache for their application needs. The two-week long benchmark included 15,000 individual runs.

Development distributed cache

Bedrock: An 8-bit Computer System Built to Last

2025-07-15

Bedrock is a compact and portable 8-bit computer system designed for longevity. It's not a physical device, but a specification defining an interface for any computing device, enabling programs to run anywhere without hardware-specific considerations. With only 32 instructions and 12 devices, it's remarkably simple to learn and use. Currently running on Windows, Linux, web browsers, and even the Nintendo DS, Bedrock showcases impressive capabilities through demos like a pixel art editor, Snake game, and a microwave-style clock. Originating as a fork of Uxn and Varvara, Bedrock simplifies and improves upon its predecessors, aiming for optimal performance on severely resource-constrained systems.

Development 8-bit computer

Efficient Thread-Safe Conversion of std::future to asio::awaitable

2025-07-15

This article details an efficient and thread-safe method for converting `std::future` to `asio::awaitable`, particularly useful in modern C++ asynchronous programming with Boost.Asio. Using `asio::async_initiate` and a thread pool, this approach elegantly avoids blocking IO threads and provides robust exception handling, ensuring high performance and stability. This design pattern is easily extensible to other asynchronous scenarios, providing a solid foundation for building high-performance coroutine applications.

Development

aiosqlitepool: Boost Asyncio SQLite Performance by 72%

2025-07-15
aiosqlitepool: Boost Asyncio SQLite Performance by 72%

aiosqlitepool is a high-performance connection pool for asyncio SQLite applications. By reusing database connections, it eliminates connection overhead and significantly improves query speed. It works with asyncio drivers like aiosqlite, not as a replacement. Tests show a 72% performance boost and 41% reduction in average latency under heavy load. Ideal for high-throughput applications or those requiring low latency, aiosqlitepool effectively mitigates SQLITE_BUSY errors caused by write contention.

Development

Voil: Edit Your Filesystem Like a Text Buffer

2025-07-15
Voil: Edit Your Filesystem Like a Text Buffer

Voil is a VS Code extension that lets you manage your filesystem like a text buffer. Say goodbye to clicking and memorizing keybindings; create, rename, and move files and directories directly in the editor with the efficiency of text editing. Voil uses hidden IDs to track files and offers a rich set of commands and customization options, including recursive listing, sorting, filtering, and running custom shell commands. It's compatible with the Vim extension and provides detailed configuration instructions and examples. Check out the demo video to see it in action!

Android 15: 16KB Memory Pages – A Performance Upgrade

2025-07-15
Android 15: 16KB Memory Pages – A Performance Upgrade

Android is transitioning to 16KB memory page sizes from the traditional 4KB, boosting performance on ARM CPUs. Starting November 1st, 2025, new apps and updates with native C/C++ code targeting Android 15+ must support 16KB pages. This change promises faster app launches (up to 30% for some), improved battery life, quicker camera starts, and speedier system boot times. Android Studio offers tools like APK Analyzer and alignment checks to help developers identify and fix compatibility issues. Developers need to recompile native code and avoid hardcoding 4KB page size assumptions. Emulator and certain devices support 16KB testing.

Development 16KB Pages

PHP License Update: Simplifying a Legacy of Confusion

2025-07-15

After years of licensing confusion and disagreements, this RFC proposes a pragmatic solution for PHP. It suggests unifying the PHP License and Zend Engine License under the Modified BSD License (BSD-3-Clause), ensuring compatibility with GPL and resolving long-standing issues with OSI approval and compatibility. This change maintains existing user and contributor rights, addressing conflicts with distributions like Debian. PHP 9.0.0 will fully adopt this simplified license.

Development

Kiro: Spec-Driven Development for AI Applications

2025-07-15
Kiro: Spec-Driven Development for AI Applications

Kiro is an AI IDE revolutionizing AI application development with its spec-driven approach. It transforms vague prompts into production-ready systems. Kiro uses 'specs' to clarify requirements, generating user stories, design documents (including data flow diagrams and interfaces), and detailed task lists. 'Hooks' automate testing, documentation updates, and other tasks, ensuring consistent code quality. Compatible with VS Code and supporting multiple languages, Kiro streamlines the development and maintenance of AI applications, bridging the gap between prototype and production.

CallFS: A Distributed, High-Performance REST API Filesystem

2025-07-15
CallFS: A Distributed, High-Performance REST API Filesystem

CallFS is an ultra-lightweight, high-performance REST API filesystem offering precise Linux filesystem semantics across various backends, including local storage, Amazon S3, and a distributed peer-to-peer network. Designed for speed, reliability, and horizontal scalability, it features a modular architecture with components like an API server, core engine, pluggable storage backends, PostgreSQL metadata store, Redis-based distributed lock manager, and a link manager. CallFS provides rich file and directory operations, secure single-use download links, comprehensive security, and robust observability.

Development

GitHub Code Review Suggestion Application Limitations

2025-07-15
GitHub Code Review Suggestion Application Limitations

This text lists various limitations encountered when applying suggestions in GitHub code reviews. These include no code changes, closed pull requests, viewing a subset of changes, only one suggestion per line, applying to deleted lines, suggestions already applied or marked resolved, suggestions from pending reviews, multi-line comments, and pull requests queued to merge. These limitations are designed to maintain the integrity and efficiency of code review.

Embedding User-Defined Indexes in Apache Parquet Files: No More External Indexes!

2025-07-15

It's a common misconception that Apache Parquet is limited to basic statistics and Bloom filters. This post reveals how to embed custom indexes directly into Parquet files without breaking compatibility. By leveraging footer metadata and offset-based addressing, you can add indexes like distinct value lists for specific columns, dramatically improving query performance, especially for highly selective predicates. The authors detail the mechanism and provide a practical example using Apache DataFusion, showing how to serialize, store, and read these custom indexes. Say goodbye to the complexities and risks of external indexes!

Development User-Defined Indexes

Active Storage Dashboard: A Rails Engine for Managing Active Storage

2025-07-14

After 10 years of building Rails applications, the author found managing Active Storage data cumbersome. This led to the creation of Active Storage Dashboard, a mountable Rails engine providing a modern interface for monitoring and managing Active Storage. Features include real-time storage statistics, browsable interfaces, advanced filtering, direct download, orphaned file cleanup, and support for multiple databases and Rails versions. The article delves into the advantages of Rails engines and best practices for building robust engines, covering namespacing, configuration options, documentation, minimizing dependencies, extensibility, error handling, and security.

Development Rails Engine

The Programmer's Prison: Escaping the Trap of Bloated Software Tools

2025-07-14

This article explores the dilemma of bloated software tools: to avoid user churn, tools constantly expand their functionality, ultimately becoming cumbersome. The author proposes several solutions: limiting tool growth (impractical), decreasing switching costs (through backward compatibility and standardization), leveraging FFI (Foreign Function Interface) and IPC (Inter-Process Communication). Unix shells, using IPC, allow tool composition, but data flow is unidirectional and lacks structure. PowerShell and NuShell introduce structured data, but interoperability and version stability remain issues. RPC (Remote Procedure Call) offers a structured interface but requires extensive code modification. The author concludes that programs themselves are prisons, restricting data flow and interoperability, and teases a follow-up post exploring escape strategies.

Development Tool Interoperability

Purple Garden Lexer Optimization: A Speed Boost from 0 to 580MB/s

2025-07-14

This blog post details the author's journey in optimizing the Purple Garden language's lexer, achieving an impressive speed of 580MB/s. Techniques employed include computed gotos, zero-copy zero-allocation strings, an allocator interface, token interning, and pre-computed keyword hashes, significantly improving lexer performance. Further optimizations involved architectural improvements and using mmap for faster file reading. These optimizations resulted in a dramatic speed increase, transforming processing time from tens of milliseconds to mere milliseconds—a true leap in speed.

Development lexer

Beyond OpenEXR? A Novel Approach to Lossless Compression of Floating-Point Images

2025-07-14

ArasP delves into lossless compression techniques for floating-point images, particularly those with multiple channels. He benchmarks OpenEXR (including the new HTJ2K codec), JPEG-XL, and a custom method based on Mesh Optimizer. Results show OpenEXR with ZIP compression is practical, while HTJ2K offers slightly better compression but worse performance. JPEG-XL achieves higher compression ratios but is significantly slower. Surprisingly, the custom method using Mesh Optimizer and zstd outperforms others in both compression ratio and speed, emerging as a compelling alternative for floating-point image compression.

Development

TIOBE Index July 2025: Veteran Languages Battle for Top 10 Spots

2025-07-14

The July 2025 TIOBE Index reveals a stable top 7, but a fierce battle rages for positions 8-12 among established languages like Visual Basic, SQL, and Fortran. The report suggests newer languages could break into the top 10, displacing these veterans. Ada is highlighted as a potential winner due to its strengths in safety-critical systems. The TIOBE index, based on skilled engineers, courses, and vendors, isn't about the 'best' language, but offers valuable insights for skill assessment and strategic technology choices.

Development TIOBE Index

Django Turns 20: Celebrating Two Decades of Web Framework Excellence

2025-07-14
Django Turns 20: Celebrating Two Decades of Web Framework Excellence

On July 13th, 2005, Jacob Kaplan-Moss made the first commit to the public repository that would become Django. Twenty years and 400+ releases later, Django is celebrating its 20th birthday! To mark this milestone, a celebratory website has been launched, showcasing global events and a 20-day fundraising campaign. The goal is to attract 200 new donors, each contributing $20 or more, with at least 20 monthly donors. Currently, $76,707 has been raised, reaching 25.6% of the $300,000 goal. Django promises continued evolution, with many new releases, a thriving ecosystem, and a strong community for years to come.

Development Anniversary

cURL Drowning in AI-Generated Vulnerability Reports

2025-07-14
cURL Drowning in AI-Generated Vulnerability Reports

The cURL security team is overwhelmed by a flood of low-quality vulnerability reports, many generated by AI. These reports waste significant time and resources (3-4 people, 30 minutes to 3 hours per report), drastically reducing the efficiency of finding genuine vulnerabilities. In 2025, approximately 20% of submissions are AI-generated junk, leading to a sharp decline in the valid report rate. The team is considering removing monetary rewards or implementing other measures to curb low-quality submissions to maintain team sanity and project security.

Development vulnerability reports

Critical Sections in Concurrent Programming: From Broken Attempts to Peterson's Algorithm

2025-07-14

This chapter delves into the implementation of critical sections in concurrent programming. It starts by introducing the concept and importance of critical sections, then progresses through several flawed attempts (e.g., naive locking and flag-based mechanisms), highlighting issues like race conditions and deadlocks. The chapter culminates in Peterson's algorithm, an elegant solution guaranteeing mutual exclusion and progress, while acknowledging the complexity of its correctness proof and practical challenges such as non-atomic operations and instruction reordering.

Building Software Fast: Lessons Learned

2025-07-14

This post details lessons learned about building software quickly. The author advocates for setting realistic quality goals based on project needs, emphasizing a 'rough draft' approach where a functional prototype is built first, then refined. Strategies include simplifying requirements, avoiding distractions, and making small, focused code changes. The author also highlights valuable skills like code reading, data modeling, scripting, and debugging, and the effective use of LLMs to accelerate development. It's a practical guide for developers aiming to improve efficiency and deliver high-quality software.

Development

GParted Live 1.7.0 Released: 32-bit Support Dropped, Enhanced Safety

2025-07-14
GParted Live 1.7.0 Released: 32-bit Support Dropped, Enhanced Safety

GParted Live 1.7.0 is here, dropping 32-bit support and offering only 64-bit versions. This update includes GParted 1.7.0, Linux kernel 6.12.37, and a new mechanism to prevent accidental disk selection at boot by avoiding random block device ordering. GParted Live is a lightweight disk partitioning tool; no installation is needed, making it perfect for troubleshooting and emergencies. A safe graphics setting option is available if the graphical interface fails to load.

Development Disk Partitioning

Arch: A Modular Edge and AI Gateway for Agentic Apps

2025-07-14
Arch: A Modular Edge and AI Gateway for Agentic Apps

Arch is a modular edge and AI gateway proxy server designed to simplify building agentic applications. It handles the tedious low-level work, such as applying guardrails, clarifying ambiguous user input, routing prompts to the correct agent, and unifying access to any LLM, allowing developers to build and ship agentic apps faster. Built on Envoy, Arch offers features like routing, guardrails, and observability, and supports various languages and frameworks. A simple currency exchange agent demo showcases its ease of use, with interaction via curl commands. Arch supports both model-based and preference-based LLM routing strategies and provides detailed logging and observability.

Development Agentic Apps AI Gateway

Ada, the Surprisingly Resilient Programming Language

2025-07-14
Ada, the Surprisingly Resilient Programming Language

Tiobe CEO Paul Jansen predicts that Ada, a system programming language dating back to the late 1970s, might outlast contemporaries like Visual Basic, Perl, and Fortran. While top languages like Python, C#, and Java have seen little change in Tiobe's index over the past two years, older languages show more fluctuation. Jansen bets on Ada's survival due to its strength in safety-critical systems, a domain with growing security demands. Currently, Ada ranks 10th in the index, tied with Delphi/Object Pascal.

Development

Idris Gains Binding Application: A New Language Feature

2025-07-14

Idris is getting a new feature called "binding application," a syntactic sugar that streamlines writing dependent pairs and other type constructions in dependent type programming. This avoids reliance on special compiler magic, making the power available to all developers. The post details its use in Sigma types, Exists types, Subset types, Ornaments, ForAll, ForSome, and even for-loops, showcasing how it improves code readability and efficiency, making dependent type programming in Idris more concise and intuitive.

Development Language Feature

Raycast-inspired Launcher Lands on Linux: Open Source and Extensible

2025-07-14
Raycast-inspired Launcher Lands on Linux: Open Source and Extensible

An open-source project, Raycast Linux, brings the popular macOS launcher Raycast to Linux. It boasts an extensible command palette, extension support (with compatibility limitations due to OS differences), a powerful calculator, clipboard history, snippet management, and AI integration via OpenRouter. While aiming for broad Raycast extension compatibility, some may not function due to macOS-specific APIs or dependencies. Built using Rust, Node.js, Tauri, and Swift, it's available as an AppImage and offers source code compilation.

Development launcher

APKLab: The Ultimate Android Reverse Engineering Extension for VS Code

2025-07-14
APKLab: The Ultimate Android Reverse Engineering Extension for VS Code

APKLab seamlessly integrates powerful open-source tools like Quark-Engine, Apktool, Jadx, and more directly into VS Code, providing a comprehensive Android reverse engineering experience. Decode resources, disassemble to Smali, decompile to Java, generate malware analysis reports, and perform HTTPS inspection – all within your favorite IDE. Features include support for custom keystore signing, Git repo initialization, and cross-platform compatibility (Linux, Windows, macOS).

OpenCut: A Privacy-Focused, Open-Source Video Editor

2025-07-14
OpenCut: A Privacy-Focused, Open-Source Video Editor

OpenCut is a free and open-source video editor for web, desktop, and mobile. Prioritizing user privacy, all videos remain on your device. While its basic features are currently behind a paywall, its ease of use has been proven. It boasts timeline-based editing, multi-track support, real-time preview, and is free of watermarks or subscriptions. Built with Next.js, the project includes UI components, custom React hooks, utility and API logic, state management, and TypeScript types. Detailed setup and contribution guidelines are provided; contributions are welcome.

1 2 29 30 31 33 35 36 37 201 202