Category: Development

TPDE-LLVM: A 10-20x Faster LLVM Back-end

2025-09-03
TPDE-LLVM: A 10-20x Faster LLVM Back-end

The TPDE project has open-sourced its fast LLVM back-end, TPDE-LLVM, achieving a 10-20x speedup in compilation compared to the LLVM -O0 back-end on SPEC CPU 2017 benchmarks, with similar runtime performance and a 10-30% increase in code size. TPDE-LLVM currently supports x86-64 and AArch64 architectures and incorporates optimizations to LLVM-IR, such as removing constant expressions inside functions and limiting struct/array sizes. Future plans include broader LLVM-IR feature support, DWARF debug info, and improved register allocation.

Development

Physically Based Rendering: A Deep Dive from First Principles

2025-09-02

This interactive article explores the physics of light and its interaction with matter, providing a foundation for understanding physically based rendering (PBR). Starting with the nature of light—from ancient Greek theories to quantum electrodynamics—it delves into Maxwell's equations and light generation methods like incandescence and electroluminescence. The article simplifies complex light-matter interactions, explaining reflection, refraction, Fresnel equations, and the microfacet model. It culminates in the rendering equation, breaking down key components like the BRDF. Illustrated with diagrams and interactive demos, this article is a valuable resource for anyone interested in computer graphics and physics.

Python 3.14's Concurrency and Parallelism Improvements: The Future of Async?

2025-09-02
Python 3.14's Concurrency and Parallelism Improvements: The Future of Async?

Python 3.14, releasing soon, brings significant improvements in concurrency and parallelism with PEP 779 (officially supported free threading) and PEP 734 (multiple interpreters in the stdlib). However, despite async/await existing for a decade, its adoption remains lower than expected. The article analyzes the reasons: async excels at I/O-bound tasks but is limited in areas like file I/O; the GIL restricts true parallelism in multithreading; maintaining both synchronous and asynchronous APIs increases development and maintenance costs. The author suggests that Python 3.14's new features might reduce reliance on async programming, offering more practical concurrency and parallelism solutions through free threading and multiple interpreters.

Development

Animating Rosettas in Ada: A Short Tutorial

2025-09-02
Animating Rosettas in Ada: A Short Tutorial

This tutorial demonstrates Ada's capabilities by creating a program that generates animated rosettas (hypotrochoids) as SVG files. It uses Ada 2022 features and leverages Alire, Ada's package manager, for project management. The tutorial highlights Ada's readability, strong typing, and safety, showcasing its use in geometric computation and SVG rendering. The author emphasizes Ada's suitability as a modern, general-purpose language, despite its reputation for safety-critical applications.

Development

Static Site Generators: Time Travel for Your Website

2025-09-02
Static Site Generators: Time Travel for Your Website

While revisiting old blog posts, the author discovered the power of using a static site generator (Eleventy) with Git for effortless time travel through their website's history. Eleventy's approach of fetching posts from a CMS and including them in each commit creates a full snapshot of the website at every commit. This contrasts with websites using databases (like WordPress), which make accessing past versions more difficult. While the author previously implemented a GitHub Action to take monthly screenshots, the combination of Eleventy and Git makes this less crucial.

Development

arXivLabs: Experimenting with Community Collaboration

2025-09-02
arXivLabs: Experimenting with Community Collaboration

arXivLabs is an experimental framework enabling collaborators to build and share new arXiv features directly on the website. Individuals and organizations involved share arXiv's values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only partners with those who adhere to them. Have an idea to enhance the arXiv community? Learn more about arXivLabs.

Development

Mori-bito: A Powerful Terminal-Based LDAP Browser

2025-09-02
Mori-bito: A Powerful Terminal-Based LDAP Browser

Mori-bito (forest-person) is a terminal-based LDAP server explorer built with Go and BubbleTea, offering an interactive interface for browsing LDAP directory trees, viewing records, and executing custom queries. Features include interactive tree navigation, a record viewer with clipboard integration, a custom query interface with real-time results and pagination, flexible configuration, secure authentication, automatic update notifications, a modern TUI, and support for multiple connections. Installation is easy via Homebrew, manual download, or quick install scripts. A robust and user-friendly tool for managing LDAP servers.

Development

RubyMine Goes Free for Non-Commercial Use

2025-09-02
RubyMine Goes Free for Non-Commercial Use

JetBrains has announced that RubyMine, their popular Ruby and Rails IDE, is now free for non-commercial use! Whether you're learning, contributing to open source, creating dev content, or building personal projects, you can now enjoy the full power of RubyMine without cost. This move aims to lower the barrier to entry and support the vibrant Ruby community. Commercial use still requires a paid subscription. The free version offers the same features as the paid version, except for some limitations in Code With Me. Getting a free license is easy – just select the non-commercial use option within the IDE.

Development Free IDE

Common Lisp's Tripartite Type System: Types, Classes, and the Machine's Truth

2025-09-02

This article delves into the unique aspects of Common Lisp's type system. It's not simply static or dynamic, but a sophisticated interplay of types, classes, and underlying machine implementation. Types govern function call compatibility, struct field compatibility, and compiler optimizations; classes dictate method dispatch and OO inheritance; while the machine hides implementation details like type tags. Through examples, the article shows how Common Lisp balances the fluidity of dynamic languages with runtime and compile-time type checking and optimization, ultimately boosting debuggability and performance.

Development

sd: A Blazing Fast CLI Find & Replace Utility

2025-09-02
sd: A Blazing Fast CLI Find & Replace Utility

sd is an intuitive command-line find and replace tool that's significantly faster and easier to use than sed and awk. It leverages regex syntax familiar from JavaScript and Python, offering a string-literal mode to avoid escaping hassles. sd boasts a clean, readable syntax and common-sense defaults. Its speed advantage is particularly noticeable with large files (e.g., a 1.5GB JSON file), outperforming sed by factors of 2.35x and even 11.93x. Features include in-place file modification, previewing changes, cross-project search and replace, and rich regex support, including capture groups and named capture groups. Install sd via cargo or various package managers.

Development

Firefox Launches New Tools for Focus, Privacy, and Smoother Mobile Browsing

2025-09-02

Firefox has rolled out several new features enhancing user privacy, focus, and mobile browsing experience. Android users get auto-locking private tabs for enhanced security, expanded language translation to Japanese, Chinese, Korean and more, while iOS users benefit from smarter password suggestions, a cleaner UI with an upgraded dark mode for a more focused browsing experience.

Development Mobile Browsing

GRiSP: Tiny BEAM VMs for Embedded and Real-Time Systems

2025-09-02
GRiSP: Tiny BEAM VMs for Embedded and Real-Time Systems

The GRiSP family introduces three Erlang/Elixir runtimes: Metal, a tiny BEAM for microcontrollers fitting in 16MB RAM; Alloy, a Buildroot-based real-time Linux system supporting multiple VMs; and Forge, a Yocto-based solution offering customization and long-term support. All boast fast boot times, security, and direct BEAM boot, offering a compelling option for edge computing and real-time applications.

Development Real-time systems

Next.js Logging Nightmare: A Struggle with Production Logging

2025-09-02
Next.js Logging Nightmare: A Struggle with Production Logging

The author encountered a series of challenges while attempting to add production logging to a Next.js service. Next.js's middleware mechanism is heavily restricted, and AsyncLocalStorage couldn't bridge the rendering context, resulting in logging failures in pages and layout components. The author tried various methods, including a custom server, ultimately discovering that Next.js's design limited the implementation of logging features. A comparison with SvelteKit highlights Next.js's shortcomings in logging and the inefficiency of its GitHub issue tracker. The author expresses dissatisfaction with Next.js and considers alternatives for future projects.

Development

The Thermocline of Truth in IT Projects

2025-09-02

This article explores the 'thermocline of truth' phenomenon in large IT projects: a barrier to accurate information within the organizational structure, where lower-level employees know the real progress while upper management holds an overly optimistic view. This stems from a lack of objective metrics, engineers' optimism, managers' reluctance to deliver bad news, and upper management rewarding good news and punishing bad news. The author uses personal anecdotes and real-world examples to illustrate this, emphasizing that breaking the 'thermocline' requires honesty from below, rewarding honesty from above, and avoiding unrealistic project timelines.

Development

A Programmer's Oath: Protect User, Data, and Truth

2025-09-02

Inspired by the Latin motto "Primum non nocere" (First, do no harm), the author proposes a new motto for programmers: "Tuere usorem, data, veritatem" (Protect user, data, truth). This emphasizes prioritizing user experience, ensuring data safety, and upholding truth in the face of technology's potential for misinformation. The author seeks feedback and discussion on this proposed ethical guideline.

Development programmer ethics

SpatialStudio Adds write_string Function

2025-09-02
SpatialStudio Adds write_string Function

SpatialStudio, a spatial video editing tool, recently added a new write_string function. This addition significantly enhances SpatialStudio's capabilities. Developer Daniel Habib shared the code on GitHub, encouraging users to check out the update. The related videos have already garnered over 200 views.

Development Spatial Video

OpenBSD Adds Raspberry Pi 5 Support, but with Known Issues

2025-09-02

A recent OpenBSD update adds support for RAMDISK on the Raspberry Pi 5 Model B. However, there are known issues: booting from PCIe storage HATs doesn't work (due to missing U-Boot support), WiFi on the Raspberry Pi 5 Model B "d0" boards is broken, and the active cooler (fan) doesn't function due to missing pwm/clock drivers (work in progress).

Development

The Demise of 32-bit Support in the Linux Kernel?

2025-09-02

At the Open Source Summit Europe 2025, Arnd Bergmann, the maintainer of architecture support in the Linux kernel, delivered a talk discussing the potential removal of 32-bit system support. While desktop and server systems have long transitioned to 64-bit, a significant number of 32-bit devices remain in embedded systems. Bergmann noted that while the kernel is still adding support for some 32-bit boards, the number of 64-bit boards supported has significantly surpassed 32-bit ones. He argued that removing 32-bit support is a gradual process, requiring consideration of existing hardware and software support and analyzing user numbers to determine when to remove support for specific architectures. The talk also addressed challenges and solutions related to 32-bit support, such as high-memory support, the year-2038 problem, and big-endian support. Ultimately, Bergmann stated that the kernel will retain support for armv7 systems for at least another ten years, while support for other 32-bit architectures will likely fade away sooner.

Custom Shader in Three.js Simulates Foil Stickers

2025-09-02
Custom Shader in Three.js Simulates Foil Stickers

This post details creating a custom shader in Three.js that realistically simulates foil stickers, complete with angle-dependent iridescence and sparkling metallic flakes. By approximating thin-film interference and using procedural noise, the shader renders a premium holographic effect in real-time within the browser. The author provides a detailed explanation of the vertex and fragment shader code, along with an interactive demo showcasing the results.

Development Foil Sticker

Ripple: A New UI Framework Blending React, Solid, and Svelte

2025-09-02
Ripple: A New UI Framework Blending React, Solid, and Svelte

Ripple is an early-stage TypeScript UI framework that combines the best parts of React, Solid, and Svelte. Built as a JS/TS-first framework, it features a unique .ripple extension and superset language designed to improve developer experience and work well with LLMs. It boasts built-in reactive state management, a component-based architecture, JSX-like syntax, and high performance. While still buggy and in alpha, Ripple's innovative features—like automatically reactive variables and object properties prefixed with $, the `untrack` function for controlling reactivity, reactive arrays, and the `effect` function—make it an intriguing project to watch.

Development

WinBoat: Run Windows Apps Seamlessly on Linux

2025-09-02
WinBoat: Run Windows Apps Seamlessly on Linux

WinBoat, currently in beta, lets you run Windows apps on your Linux penguin with seamless integration. Boasting a sleek interface and automated installation, it allows you to run almost any Windows application as native OS-level windows within your Linux environment. Access the full Windows desktop or integrate individual apps into your workflow. File sharing between Windows and Linux is also simplified. While requiring specific system resources (RAM, CPU, storage, KVM, Docker, FreeRDP), WinBoat offers a compelling solution for cross-platform compatibility. Contributions and feedback are welcome!

Development

Android App Developer Verification Mandate: A Library to Warn Users

2025-09-02
Android App Developer Verification Mandate:  A Library to Warn Users

A new open-source library, `FreeDroidWarn`, helps Android developers inform users about Google's upcoming developer verification requirement. Starting in 2026/2027, apps on certified Android devices will need developer verification. This library displays a warning dialog upon app launch, allowing developers to inform users without needing to share their personal information. The library is licensed under GPLv3 and is easily integrated.

Development App Compatibility

ABC: A Surprisingly Powerful and Easy-to-Learn Programming Language

2025-09-01

ABC is an interactive programming language designed as a user-friendly replacement for BASIC. Born from a task analysis of programming, it's surprisingly easy to learn (an hour or so for experienced programmers) yet powerful enough for experts. It boasts a concise set of five data types, strong typing without declarations, and no limitations besides memory exhaustion. Its environment is equally impressive, eliminating file management hassles and offering a consistent interface with undo functionality. ABC programs are often one-fourth to one-fifth the size of equivalent Pascal or C programs. The ABC Programmer's Handbook offers comprehensive documentation.

arXivLabs: Building New arXiv Features with Community Collaboration

2025-09-01
arXivLabs: Building New arXiv Features with Community Collaboration

arXivLabs is a new framework that enables developers and community collaborators to build and share new features directly on the arXiv website. Individuals and organizations involved share arXiv's values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners who adhere to them. If you have an idea for a project that will add value to the arXiv community, learn more about arXivLabs.

Development

Turso: A 1GB Mystery Solved by an LLN

2025-09-01
Turso: A 1GB Mystery Solved by an LLN

Turso, a Rust rewrite of SQLite, encountered a bizarre issue: databases exceeding 1GB were reported as corrupted by SQLite, despite being perfectly intact. The root cause? SQLite inserts a special page at the 1GB mark, a step missing in Turso. Nikita, a remarkably skilled engineer on the Turso team (suspected to be an LLM or alien!), leveraged his seemingly superhuman knowledge to pinpoint and fix the bug. This highlights the importance of thorough testing and comprehensive documentation, showcasing the potential of LLMs in code understanding and debugging.

Development

ChatGPT-Assisted Swift App Dev: From Amazing to Crashing

2025-09-01
ChatGPT-Assisted Swift App Dev: From Amazing to Crashing

The author attempted to build a Swift app using ChatGPT-5. Initially, it was impressive, with ChatGPT generating code and modifying the UI based on natural language prompts. However, testing revealed numerous issues: search functionality failed, adding shows to the library didn't work, and ChatGPT's modifications introduced increasing errors and unwanted UI changes. Eventually, the app became unbuildable, leading to a frustrating cycle of troubleshooting that the author couldn't resolve with ChatGPT. This experience highlights that while ChatGPT can assist in development, its reliability and accuracy need improvement, especially for complex projects, requiring significant manual intervention and code review.

Development

20 Rules for Efficient Knowledge Formulation in Learning

2025-09-01
20 Rules for Efficient Knowledge Formulation in Learning

This article by Piotr Wozniak outlines 20 rules for efficient knowledge acquisition, emphasizing the importance of understanding before memorization. It advocates for building a holistic picture before focusing on details, adhering to the minimum information principle, and utilizing imagery, mnemonic techniques, and avoiding sets and enumerations. The article uses numerous examples to illustrate how to transform complex knowledge into easily digestible formats, stressing the avoidance of interference, optimization of wording, personalized learning, leveraging emotional states, providing contextual cues, and the benefits of knowledge redundancy. Finally, it recommends providing sources, date stamping, and prioritization to ensure learning efficiency and long-term knowledge retention.

Development

Swift 6's Puzzling `@isolated(any)`: What You Need to Know

2025-09-01
Swift 6's Puzzling `@isolated(any)`: What You Need to Know

Swift 6 introduces the `@isolated(any)` attribute, which describes the isolation of asynchronous functions, initially appearing confusing. It always requires an argument, but this argument cannot vary. The article explains its introduction: to solve the problem of lost isolation information during asynchronous function scheduling. `@isolated(any)` provides access to a function's isolation property, enabling more intelligent scheduling, especially when handling `Task` and `TaskGroup`, ensuring the execution order of tasks on the MainActor. While it can mostly be ignored, understanding `@isolated(any)` is crucial for writing efficient and reliable concurrent code when dealing with asynchronous function isolation and scheduling.

Encrypted ZFS Backups with zfsbackrest: An Experimental Tool

2025-09-01
Encrypted ZFS Backups with zfsbackrest: An Experimental Tool

zfsbackrest is an experimental tool providing pgbackrest-style encrypted backups for ZFS filesystems. It requires the age tool for key generation; encryption is mandatory. It supports full, diff, and incremental backups, and offers cleanup for expired and orphaned backups. Restoring requires your age identity file (private key). zfsbackrest leverages zfs snapshots for backup and restore, without directly modifying zfs datasets.

Development

Bear Note-Taking App Changes License to Combat Free-Riding

2025-09-01
Bear Note-Taking App Changes License to Combat Free-Riding

Herman, the developer of the Bear note-taking app, has announced a change in the app's open-source license from MIT to the Elastic License. This decision stems from instances of others forking the project to create competing services, harming the developer's interests. The Elastic License is nearly identical to MIT but adds a stipulation prohibiting the software from being offered as a hosted or managed service. The developer cites the rise of AI-powered coding, making it easier to create competing products, as a reason for this change, prioritizing the protection of their work and the app's long-term sustainability.

Development
1 3 5 6 7 8 9 201 202