Category: Development

Red: A Powerful, Self-Hosted, Cross-Platform Systems Programming Language

2025-08-31
Red: A Powerful, Self-Hosted, Cross-Platform Systems Programming Language

Red is a programming language strongly inspired by Rebol, but with a broader field of usage thanks to its native-code compiler, from system programming to high-level scripting, while providing modern support for concurrency and multi-core CPUs. Red tackles software building complexity using a DSL-oriented approach (dialects). Built-in dialects include Red/System (a C-level system programming language), Parse (a powerful PEG parser), VID (a simple GUI layout creation dialect), Draw (a vector 2D drawing dialect), and Rich-text (a rich-text description dialect). Red has its own complete cross-platform toolchain, featuring an encapper, a native compiler, an interpreter, and a linker, not depending on any third-party library (except during the alpha stage). Key features include human-friendly syntax, homoiconicity, multi-typing, a powerful pattern-matching macro system, a rich set of built-in datatypes, both static and JIT compilation, cross-compilation, small executables (<1MB), strong concurrency and parallelism support, low-level system programming abilities, a powerful PEG parser DSL, a fast and compacting garbage collector, built-in instrumentation, a cross-platform native GUI system, JVM bridging, high-level scripting, and REPL GUI and CLI consoles. Currently in alpha and 32-bit only.

Firefox Privacy Checklist: Enhance Your Privacy

2025-08-30
Firefox Privacy Checklist: Enhance Your Privacy

This checklist guides you through optimizing Firefox's privacy settings. The author prefers Firefox over Chromium-based browsers like Brave due to Mozilla's non-profit nature and commitment to open source. It details how to improve privacy via settings and extensions, including accessing settings and using about:config (with a cautionary note). The author welcomes suggestions for improvement.

Development

Vlang: A Multifaceted Language Showcase

2025-08-30

This code snippet demonstrates V's versatility, ranging from simple loops greeting developers across various domains (game, web, etc.) to handling log files, making network requests, parsing and manipulating JSON data, and array deduplication. It covers I/O operations, string manipulation, network programming, JSON handling, and array manipulation, showcasing V's concise and elegant syntax and powerful standard library.

AWS SQS Fair Queues: Mitigating Noisy Neighbors in Multi-Tenant Systems

2025-08-30
AWS SQS Fair Queues: Mitigating Noisy Neighbors in Multi-Tenant Systems

AWS introduced Amazon SQS fair queues, a new feature designed to mitigate the impact of 'noisy neighbors' in multi-tenant systems. Noisy neighbors are tenants that overuse resources, causing delays for others. Fair queues monitor message distribution and automatically adjust delivery order, prioritizing messages from non-noisy tenants. This ensures consistent service quality for all tenants without requiring changes to existing message processing logic. Developers simply add a tenant identifier (MessageGroupId) and monitor relevant metrics using CloudWatch.

Development Fair Queues

Improving Algorithms for Simplifying Geographic Polygons

2025-08-30

This article explores algorithms for simplifying geographic polygons, specifically their convex hulls. The current approach combines the Douglas-Peucker algorithm with polygon offsetting: the polygon is first offset outwards to eliminate details, then simplified using Douglas-Peucker, and finally offset inwards. However, this method isn't optimal for convex features. The author seeks more efficient algorithms to achieve higher-quality geometry at the same size or further reduce size without compromising quality.

Cognitive Load: The Silent Killer in Software Development

2025-08-30
Cognitive Load: The Silent Killer in Software Development

This article explores the critical role of cognitive load in software development. High cognitive load leads to decreased efficiency and increased bugs. It analyzes common causes of high cognitive load, such as complex code logic, excessive inheritance, too many shallow modules and microservices, and unnecessary abstraction layers. The author advocates for minimizing cognitive load by using meaningful variable names, early returns, composition over inheritance, and creating fewer but deeper modules to simplify code, thus improving readability and maintainability. The article also critiques the drawbacks of over-emphasizing design patterns and architectures, stressing that simpler, straightforward solutions are often more effective.

Development

dlclose Failure: A Weird Interplay Between Rust and C++ Libraries

2025-08-30

This post recounts a perplexing debugging story: when using `dlclose` to unload a dynamic library, libA was successfully unloaded, but its dependency, libB, unexpectedly remained in memory. Investigation revealed the root cause was thread local storage (TLS) destructors registered in libB. Because the threads didn't exit, these destructors weren't executed, preventing libB from unloading. Enabling logging resolved the issue because the logging library also used TLS, preventing libA from unloading and thus maintaining consistent shared state between libA and libB. This case highlights the importance of understanding `dlclose` behavior and the impact of TLS destructors, recommending the use of the `LD_DEBUG` environment variable for debugging dynamic link libraries.

Development dynamic linking

F-Stack: A High-Performance Open-Source Network Framework Based on DPDK

2025-08-30

The rapid advancement of Network Interface Cards (NICs) has exposed the performance bottleneck of Linux kernel data packet processing. To meet the internet's demand for high-performance network processing, kernel bypass technologies like DPDK, NETMAP, and PF_RING have gained prominence. F-Stack is a high-performance open-source network framework built on DPDK. It utilizes the Linux kernel only for control flow, processing all data streams in user space. This avoids performance bottlenecks caused by kernel packet copying, thread scheduling, system calls, and interrupts. F-Stack includes a user-space TCP/IP stack (based on FreeBSD 11.0 stable), POSIX APIs (Socket, Epoll, Kqueue), a programming SDK (Coroutine), and interfaces for applications like Nginx and Redis, aiming for superior network processing performance.

Development Kernel Bypass

Automating Bug Bounty Enumeration with n8n and a Discord Bot

2025-08-30
Automating Bug Bounty Enumeration with n8n and a Discord Bot

This article details automating three bug bounty enumeration steps—subdomain enumeration, directory enumeration, and screenshot capture—using the open-source automation platform n8n and a Discord bot. The author sets up an n8n server and a working server, creates an n8n workflow, writes bash scripts, and configures a Discord bot. The entire process is triggered via the Discord bot, with results output to a designated Discord channel, enabling automation and collaboration.

Development

Writing Mathematical Papers: Avoiding Common Pitfalls in Definitions and Expressions

2025-08-30

This guide offers practical advice on writing clear and concise mathematical papers, focusing on common errors in definitions and expressions. It emphasizes avoiding extra commas in definitions, preventing double-duty definitions where notation is introduced and used simultaneously, and treating expressions as units to avoid ambiguity. The guide provides numerous examples and alternative phrasing to enhance readability and precision.

Laravel's Taylor Otwell: 14 Years of Building a Web Framework Legend

2025-08-30

Laravel creator Taylor Otwell reflects on his 14-year journey building and maintaining one of the world's most popular web frameworks. From humble PHP 5.3 beginnings to a thriving 70-person company, he shares insights on code maintainability, developer experience, and evolving without overcomplication. He emphasizes simplicity in design, the long-term benefits of sticking to conventions, and navigating the challenges of scaling an open-source project. The interview also touches on Laravel's funding round and the evolution of its team and culture.

Development

The Simplest Thing That Could Possibly Work: A Software Design Philosophy

2025-08-30

This article champions the principle of 'doing the simplest thing that could possibly work' in software design. Instead of striving for an idealized, over-engineered system, the author advocates for a deep understanding of the current system and choosing the simplest solution. This approach, while seemingly underwhelming, yields surprisingly effective results, exemplified by the designs of Unix and Rails. While challenges like system inflexibility and defining 'simplicity' exist, the author argues that focusing on current needs and iterative improvement is superior to over-engineering for distant future requirements. Ultimately, a simple, stable system often surpasses an over-engineered, hard-to-maintain one.

Development simplicity

XSLT 3.0: A Major Upgrade for XML Transformations

2025-08-30

XSLT 3.0 isn't just an incremental update; it elevates XSLT from an XML transformation tool to a general-purpose transformation language for common data formats like JSON and XML. It introduces JSON support with `json-to-xml()` and `xml-to-json()` functions for seamless conversion. Further improvements include simplified syntax with text value templates (TVTs), dynamic XPath expression evaluation, functions, typed variables, function packages, and exception handling, boosting code readability and maintainability. XSLT 3.0 also supports streaming and performance optimizations, making it ideal for large-scale data streams.

Development

SQLite Durability: Documentation vs. Reality

2025-08-30

SQLite's durability settings are confusing. The documentation and statements from creator Richard Hipp contradict each other regarding the default durability. This stems from the complex interaction between the `journal_mode` and `synchronous` configuration options, and the differing requirements in different modes. The article analyzes durability requirements in DELETE and WAL modes, concluding that explicitly setting the `synchronous` option is crucial to ensure data persistence, avoiding ambiguity and future changes in defaults. It also cautions about potential issues introduced by third-party libraries and macOS specifics.

Development

Rust Error Handling: A Hybrid Approach with Snafu

2025-08-30
Rust Error Handling: A Hybrid Approach with Snafu

Error handling in Rust is a hotly debated topic. `anyhow` offers a generic error type for easy debugging, while `thiserror` provides precise enum types for better API design. This article details Iroh's hybrid approach using Snafu, which combines the precision of `thiserror` with the ease of use of `anyhow`, while overcoming Rust's backtrace limitations. It cleverly preserves detailed context and backtraces in error chains. The `n0-snafu` crate further simplifies Snafu usage, particularly in tests. Iroh's choice of Snafu balances precision and usability for efficient error handling.

Development

Nginx-CGI: Bringing CGI Support to Nginx and Angie

2025-08-30
Nginx-CGI: Bringing CGI Support to Nginx and Angie

The Nginx-CGI plugin adds CGI support to Nginx and Angie web servers, making it easier to build low-frequency applications, resource-constrained systems, and prototypes. It supports various operating systems including Linux, macOS, and BSD. The article details installation, configuration, and usage, showcasing multiple ways to run CGI scripts: chroot, Docker, and FreeBSD jails. It also covers CGI script writing conventions and handling HTTP requests and responses.

Development

Speed Up Python Code Testing: importlib and pickle Power Combo

2025-08-30
Speed Up Python Code Testing: importlib and pickle Power Combo

This post introduces two techniques to boost Python code testing efficiency. The first leverages the `importlib` library to reload functions for rapid iterative testing. The second combines `pickle` to save and load class objects, avoiding lengthy re-runs, especially beneficial for time-consuming code. These methods drastically reduce debugging time, improving development speed.

Baba Yaga: A Minimalist Functional Programming Language

2025-08-30
Baba Yaga: A Minimalist Functional Programming Language

Driven by an aesthetic pursuit of programming languages, the author developed Baba Yaga, a functional programming language. Core features include minimalist syntax, immutability, and a functional-first approach, with pattern matching for control flow. It blends familiar functional programming concepts for ease of use, includes built-in utilities, and offers JavaScript interoperability, aiming for use in games, sketches, and live coding.

(eli.li)
Development

Rust-based aarch64 JIT Emulator: A 'Hello, World!' Story

2025-08-30

The author built an aarch64 instruction set architecture emulator using Rust and Cranelift's JIT compiler. The article details the journey from virtual machine instructions to native code execution, covering instruction decoding, JIT translation, memory management, and device emulation. A PL011 UART simulation was implemented, and gdbstub enables debugging. The emulator currently runs simple bare-metal programs, with future goals including Linux boot support. Further development will focus on exception handling, timer support, MMU implementation, and an interrupt controller.

Development

It's Time to Delete Some Tests

2025-08-30

For decades, the importance of testing has been emphasized, yet developers have developed a misguided belief that 'deleting tests is blasphemy'. This article argues that the purpose of tests is to increase confidence, but failing, redundant, slow, or outdated tests actually decrease confidence. Flaky tests waste time, while overly numerous tests reduce efficiency. The author suggests that to improve efficiency and confidence, tests that decrease rather than increase confidence should be deleted, and new tests should be written for new requirements.

Development

arXivLabs: Community Collaboration on arXiv Feature Development

2025-08-30
arXivLabs: Community Collaboration on arXiv Feature Development

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

Development

Marco Email App's Offline-First Architecture Evolution

2025-08-29
Marco Email App's Offline-First Architecture Evolution

The Marco email app team embarked on a long journey to build an IMAP-based, cross-platform, and offline-first application. They experimented with various solutions, including WatermelonDB, Triplit, and InstantDB, but abandoned them due to performance bottlenecks or functional limitations. Ultimately, they chose Replicache for its superior performance and flexibility, combining it with Orama for robust indexing and search. This story highlights the challenges and opportunities of building high-performance offline-first applications and foreshadows the future of data synchronization: from shared endpoints to shared databases.

SeedBox Lite: Stream Torrents Instantly

2025-08-29
SeedBox Lite: Stream Torrents Instantly

SeedBox Lite is a revolutionary torrent streaming platform that lets you instantly watch movies and TV shows without waiting for full downloads. Built with modern web technologies, it offers a Netflix-like experience with powerful torrent capabilities. SeedBox Lite supports multiple formats, features smart caching, subtitle support, and responsive design, working seamlessly across Windows, macOS, and Linux. Deployment is a breeze, taking minutes with either Docker or PM2.

Development

AI Coding: How Far Are We From Fully Autonomous Programming?

2025-08-29
AI Coding: How Far Are We From Fully Autonomous Programming?

While AI coding tools demonstrate impressive capabilities in code completion and error correction, a new study reveals that AI still has a long way to go before becoming a true programmer. The research highlights challenges AI faces in handling large codebases, complex logic, and long-term planning, leading to hallucinations and errors. Improving AI-human collaboration, such as enhancing interfaces and enabling AI to better understand and communicate uncertainty, will be crucial. Ultimately, AI's role in coding will likely focus on boosting efficiency and shifting abstraction levels, rather than completely replacing human programmers.

Development

Draft Texts from Your Computer Keyboard

2025-08-29
Draft Texts from Your Computer Keyboard

Tired of typing long texts on your phone's tiny keyboard? This browser-based tool lets you draft and send SMS and iMessages using any computer keyboard. Simply type your message, and it generates a QR code you can scan with your phone to send. Supports multiple recipients (comma-separated), and international codes are recommended but not always required. Even if you don't know the recipient's number, scan the QR code and fill in the recipients on your phone using autocomplete. All data processing happens within your browser; nothing is sent to a server. Give it a try!

Development

Unofficial Apple Developer Documentation to Markdown Converter

2025-08-29

This unofficial tool converts single Apple Developer pages to Markdown on demand. It doesn't crawl, spider, or bulk download; it respects authentication and security measures; and it implements rate limiting to avoid overloading Apple's servers. Content is cached briefly for performance (around 30 minutes), but no permanent archives are kept. All copyrights remain with Apple. Each converted page links back to the original. Use is subject to Apple's Terms of Use and applicable law.

Midday's AI-Powered Reconciliation Engine: Automating the Tedious Task

2025-08-29
Midday's AI-Powered Reconciliation Engine: Automating the Tedious Task

Midday has developed an automated financial reconciliation engine that leverages multi-dimensional matching and vector embeddings to achieve high accuracy and efficiency. The engine preprocesses and enriches data, using 768-dimensional embeddings to understand the semantic meaning of transactions and receipts. An adaptive thresholding system and machine learning algorithms further refine accuracy over time, based on user feedback. The result? Businesses save hours weekly on reconciliation, freeing up time for strategic tasks. This automation also paves the way for advanced financial analysis.

Development financial automation

C# Nullable Pitfalls: When T? Isn't What You Think

2025-08-29

C#'s reuse of `T?` syntax for both nullable value types and nullable reference types creates confusion. For value types, `T?` is syntactic sugar for `Nullable`, representing distinct types. However, for reference types, `T?` is merely an intent marker; after compilation, `T?` and `T` are the same type. This difference leads to compilation errors when writing generic methods. The article demonstrates this issue with a `SelectNotNull` method mimicking F#'s `List.choose`. The solution involves method overloading with type constraints (`where TR : class` and `where TR : struct`) to disambiguate value and reference types. While the problem is solved, the design remains inelegant.

Development Nullable Types

Jane Street Summer Internship Projects: Faster JSQL, Improved Torch Bindings, and Cross-Process Memory Management

2025-08-29
Jane Street Summer Internship Projects:  Faster JSQL, Improved Torch Bindings, and Cross-Process Memory Management

Jane Street highlights three standout projects from this year's summer internship program: Leo Gagnon's JSQL evaluator, achieving hundreds of times speedup through indexing; Aryan Khatri's improved OCaml Torch bindings, leveraging OxCaml for safe and efficient GPU memory management; and Anthony Li's cross-process memory management library, eliminating serialization overhead with reference counting. These projects not only boost internal tools' efficiency but also contribute valuable code to the open-source community.

Development

Wear OS Air Mouse: Bluetooth HID Device Emulator

2025-08-29
Wear OS Air Mouse: Bluetooth HID Device Emulator

This project showcases the new Bluetooth HID Device API in Android P, implementing a simple air mouse and cursor keys emulator on a Wear OS device. Connect to laptops and desktops running Windows, Linux, Chrome OS, macOS, or Android TV without extra software – just a Bluetooth receiver is needed. Utilizing the Google VR library for orientation tracking ensures a stable and reliable air mouse experience.

Development Bluetooth HID Air Mouse
1 2 14 15 16 18 20 21 22 214 215