Category: Development

Tilck: A Minimalist, Educational Kernel with Linux Compatibility

2025-07-16
Tilck: A Minimalist, Educational Kernel with Linux Compatibility

Tilck is an educational monolithic kernel designed for binary-level Linux compatibility, currently running on i686 and RISCV64. Its small, simple design makes it ideal for learning kernel programming, allowing comparison of user-mode code execution between Linux and Tilck. Tilck doesn't require custom applications; it runs mainstream Linux programs like the BusyBox suite. Future applications may include embedded systems demanding determinism and ultra-low latency, bridging the gap between Embedded Linux and real-time OSes like FreeRTOS or Zephyr.

Development

Shoggoth Mini: An Expressive Soft Tentacle Robot

2025-07-16

This post details the creation of Shoggoth Mini, a soft tentacle robot designed for expressiveness. The author iteratively improved the hardware, solving cable tangling issues and adding calibration scripts. Control is achieved through a simple 2D mapping for intuitive manipulation, combined with GPT-4 and reinforcement learning for various control modes, including manual control, vision-based tracking, and open-loop behaviors. The author explores the relationship between expressiveness and the perception of 'aliveness' in robots, concluding with future research directions.

Development

Rust Regex Engine Gains Captureless Lookbehinds

2025-07-15
Rust Regex Engine Gains Captureless Lookbehinds

The official Rust regex engine now supports captureless lookbehinds, a powerful regex feature enabling assertions about preceding text without capturing the match. Implementation involved modifications to the regex automata and compiler, overcoming performance hurdles like unnecessary scans to the end of the text and quadratic time complexity in match-all searches. Benchmarking demonstrates good performance, competitive with Python's `re` library in most cases.

Development lookbehind

AI-Powered Translation Tool: Bridge the Language Gap Effortlessly

2025-07-15
AI-Powered Translation Tool: Bridge the Language Gap Effortlessly

Tired of language barriers hindering communication with foreign friends or partners? This AI-powered translation tool makes it easy! Simply type what you want to say, add context for uncertain words in curly braces {}, and the AI provides accurate corrections and explanations, along with audio pronunciation to help you master rhythm and intonation. All corrections are saved for review, enabling continuous language improvement. No sign-up or subscription is needed—use it anytime, anywhere, for natural and fluent communication in your target language.

Development AI translation

Crimson: Revolutionizing Litigation with AI – Hiring Full-Stack Engineer

2025-07-15
Crimson: Revolutionizing Litigation with AI – Hiring Full-Stack Engineer

Crimson is an AI platform for high-stakes litigation, partnering with top UK and US law firms to streamline complex disputes. Their platform drafts pleadings, analyzes judgments, summarizes transcripts, and locates key evidence in seconds. They're seeking an exceptional full-stack engineer to join as an early employee, contributing to the entire tech stack and working directly with users to build and improve core features. This is a chance to be at the forefront of legal tech innovation, backed by Y Combinator and other top investors.

Development

500k Crypto Heist Highlights Growing Threat of Malicious Open-Source Packages

2025-07-15
500k Crypto Heist Highlights Growing Threat of Malicious Open-Source Packages

A Russian blockchain developer lost $500,000 in cryptocurrency due to a cyberattack. The attack originated from a fake Solidity language extension that ranked highly in the Open VSX registry, accumulating 54,000 downloads. This malicious extension downloaded and executed malicious code, ultimately installing ScreenConnect remote management software, enabling attackers to steal data. Attackers also released another malicious package named "solidity", mimicking the legitimate extension's name, with a staggering 2 million downloads. This incident underscores the growing threat of malicious open-source packages and how search ranking algorithms can be exploited.

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
1 2 41 42 43 45 47 48 49 214 215