Category: Development

XLibre: A Rebellious Fork of X11 Challenges Wayland's Dominance

2025-06-29
XLibre: A Rebellious Fork of X11 Challenges Wayland's Dominance

Frustrated by Wayland's slow progress and shortcomings, developer Enrico Weigelt launched XLibre, a deep improvement of X11. XLibre isn't just a simple branch; it's a complete overhaul aimed at fixing Wayland's flaws and offering superior performance and security. Weigelt claims he was ousted from the Xorg project by Red Hat, sparking industry debate about Red Hat's control over Linux development. Surprisingly, Fedora, a Red Hat derivative, is considering replacing X11 with XLibre. XLibre's future remains uncertain, but it's undeniably injected new variables into the Linux desktop world.

Development

Linux Kernel Drama: Bcachefs Gets the Axe

2025-06-29
Linux Kernel Drama: Bcachefs Gets the Axe

The upcoming Linux kernel 6.17 will drop support for Bcachefs, a COW filesystem, due to escalating tensions between its maintainer, Kent Overstreet, and Linus Torvalds. The conflict stems from disagreements over code submission practices and timing, violating established community rules. A central point of contention was a new 'journal-rewind' feature submitted during the release candidate phase, raising concerns from other developers. Despite Overstreet's arguments about user data integrity, Torvalds ultimately decided to remove Bcachefs entirely, marking a notable event in Linux kernel development history.

Development Developer Conflict

Efficient Awk Function for JSON Parsing

2025-06-29

This code implements a robust Awk function designed to parse JSON data and extract the value associated with a specified key. It handles nested objects and arrays, supports dot-separated key paths, and gracefully manages various JSON data types. Leveraging Awk's string manipulation capabilities, the function efficiently traverses the JSON structure, locating the target key and returning its corresponding value, showcasing Awk's power in data processing.

(akr.am)
Development

AGL: A Concise Scripting Language Compiling to Go

2025-06-29
AGL: A Concise Scripting Language Compiling to Go

AGL is a new programming language that compiles to Go. It leverages Go's syntax but introduces improvements like single return values, tuple and result/option types for streamlined error handling, concise anonymous functions, and built-in array methods. AGL supports operator overloading, enums, and generics, and offers a VSCode extension and shell shebang support for enhanced developer experience. Its flexible compilation allows for both compiling to Go code and direct execution, facilitating rapid iteration and testing.

Development

arXivLabs: Community Collaboration on New arXiv Features

2025-06-29
arXivLabs: Community Collaboration on New arXiv Features

arXivLabs is an experimental framework enabling collaborators to develop and share new arXiv 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. Got an idea for a project that will benefit the arXiv community? Learn more about arXivLabs!

Development

MCP: The Accidental Universal Plugin Ecosystem

2025-06-29
MCP: The Accidental Universal Plugin Ecosystem

This article explores the unexpected uses of MCP (Model Context Protocol). Initially designed to enhance AI assistants, its ability to "provide a standardized way to connect AI models to different data sources and tools" transcends the AI realm. Like a USB-C port that can connect a toaster to a monitor, MCP has become a universal plugin ecosystem. Developers can create functional plugins without needing to understand other applications' inner workings. This dramatically enhances app functionality, creating unexpected applications. A task management app, for example, can use MCP servers for spell check, automated coffee ordering, and more.

Development plugin ecosystem

UK Passport Application: A Bureaucratic Adventure Game Solved with Haskell

2025-06-29

The UK passport application process is likened to a complex online game by a programmer. Applicants must gather various documents, akin to collecting artifacts, to prove British citizenship. The rules are intricate, filled with bureaucratic logic, even requiring ancestral birth certificates. Using Haskell, the programmer created a program simulating the process, generating all possible required document sets. This aids in understanding the complexity and sparks discussion on automating government processes and human-computer collaboration.

Development UK Passport Bureaucracy

Oracle's JavaScript Trademark Case: A Fight for Open Source

2025-06-29
Oracle's JavaScript Trademark Case: A Fight for Open Source

The creator of Node.js is fighting Oracle's claim to the "JavaScript" trademark. While a fraud claim was dismissed, the core dispute lies in the trademark's genericness and abandonment. The plaintiff argues "JavaScript" is a generic term, not an Oracle brand, and Oracle's use of a Node.js website screenshot as evidence further fuels the controversy. The case will proceed, with Oracle required to respond to allegations of genericness and abandonment. The outcome will determine whether "JavaScript" is freed from trademark restrictions and returned to the community.

Development

Undergrad Team Runs Xv6 on a Homebrew CPU

2025-06-28

In 2015, a University of Tokyo undergraduate team tackled an ambitious project: designing, building, and running the Xv6 operating system on a homebrew CPU with a custom RISC ISA. Over four months, they built a C compiler from scratch, overcame numerous challenges in understanding and implementing the necessary CPU features for an OS (interrupts, memory management), and successfully ported Xv6, even adding games like 2048 and Minesweeper. Their final demo ran the required ray-tracing program on top of Xv6, showcasing incredible ingenuity and problem-solving skills. This project serves as a testament to the rewards of reinventing the wheel and the educational value of hands-on learning.

Development CPU Design

Why Senior Developers Are More Crucial Than Ever in the Age of AI Code Generation

2025-06-28
Why Senior Developers Are More Crucial Than Ever in the Age of AI Code Generation

In the era of AI-powered code generation, senior developers are more vital than ever. The article argues that a program is not just code, but a theoretical model built upon a deep understanding of the system. AI-generated code often lacks this theoretical foundation, leading to incoherent codebases and accumulating technical debt. Senior developers build and maintain this theoretical framework, ensuring code aligns with business needs and mentoring junior developers to transform scattered code into coherent programs. Therefore, organizations need to prioritize knowledge sharing and theoretical inheritance to cultivate developers with strong theoretical foundations, ensuring software quality and long-term maintainability.

Development senior developers

Whitesmiths C Compiler Open Source Initiative: A Legend Returns

2025-06-28
Whitesmiths C Compiler Open Source Initiative: A Legend Returns

The Whitesmiths C compiler, originally released in 1978, supported architectures like DEC PDP-11 and Intel 8080, is poised to become open source! Its creator, P.J. Plauger, has granted permission for non-commercial use. Binaries and some source code for versions including CP/M-80 and an IBM System/36 cross-compiler are now available for download. This historically significant compiler will be a valuable resource for studying the history and development of the C language.

Development

Bare-Metal Nim on Raspberry Pi: A Headless Adventure

2025-06-28
Bare-Metal Nim on Raspberry Pi: A Headless Adventure

This project details a bare-metal environment for Raspberry Pi 1/Zero using the Nim programming language. It features a cooperative scheduler, asynchronous programming model, and direct hardware access without vendor-specific APIs. The project includes memory management, exception handling, and runtime monitoring, along with comprehensive setup instructions. Future plans involve expanding to more target platforms and adding more peripheral drivers.

Development

Generative AI: A Paradigm Shift in Programming

2025-06-28
Generative AI: A Paradigm Shift in Programming

Large Language Models (LLMs) are revolutionizing software development, a change comparable to the shift from assembly language to high-level programming languages. The author argues that LLMs not only raise the level of abstraction but also introduce non-determinism, fundamentally altering the nature of programming. The evolution from Fortran to Ruby improved efficiency but didn't change the core essence of programming. The non-determinism introduced by LLMs requires programmers to adapt, presenting both challenges and opportunities.

Development

Multi-Stage Programming with Splice Variables: Safe and Predictable Code Generation

2025-06-28

This paper introduces a novel technique called Multi-Stage Programming (MSP) that allows programs to generate other programs. To ensure safe and predictable code generation, the authors introduce the concept of "splice variables." Splice variables provide fine-grained control over the code generation process and seamlessly scale to advanced features like code pattern matching and rewriting. The type system automatically tracks variable dependencies, ensuring that the generated code is always well-formed, properly scoped, and type-checks correctly. The paper demonstrates the power of splice variables with examples such as generating a power function and showcases features like code pattern matching and rewriting.

arXivLabs: Experimental Projects with Community Collaborators

2025-06-28
arXivLabs: Experimental Projects with Community Collaborators

arXivLabs is a framework enabling collaborators to develop and share new arXiv features directly on our website. Individuals and organizations working with arXivLabs embrace our 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 for a project that will benefit arXiv's community? Learn more about arXivLabs.

Development

A Concise Rust Kernel Driver: The AX88796B Ethernet Controller Example

2025-06-28

This article details the experience of writing a Linux kernel driver for the AX88796B embedded Ethernet controller using Rust. The author contrasts the Rust version with its C counterpart, highlighting differences in syntax, types, and APIs. The Rust version is remarkably concise, at just over 100 lines, leveraging macros to simplify driver registration and using traits and the `#[vtable]` macro for seamless integration with existing C code. The article clearly explains the advantages of Rust in kernel driver development, such as memory safety guarantees through references and simplified error handling using `Result` and the `try` operator, providing valuable insights for Rust kernel driver development.

Development Kernel Driver

bootc-image-builder: Craft Bootable Disk Images from Containers

2025-06-28
bootc-image-builder: Craft Bootable Disk Images from Containers

bootc-image-builder is a powerful tool for creating disk images from Fedora/CentOS bootc containers or derivatives. It supports various image types (qcow2, AMI, ISO, etc.) and allows customization of users, filesystems, kernel parameters, and more. Using Podman and QEMU, users can easily build and run virtual machines. This guide details its usage, options, and advanced configurations such as creating AMIs on AWS and customizing the Anaconda installer.

Development disk image

Rust's Weird Expressions: Pushing the Type System to its Limits

2025-06-28
Rust's Weird Expressions: Pushing the Type System to its Limits

This article delves into some extreme and seemingly paradoxical expressions within Rust's powerful type system. By dissecting examples from the `weird-expr.rs` test file, such as the creative use of `return true`, nested loops and `break` statements, and a deep understanding of type inference and coercion, the article explains their validity in Rust. These are not bugs, but rather showcases of Rust's flexible type system and expressive power, demonstrating its robustness in handling edge cases.

Development

The 14-Year-Old Who Shaped the Mac Calculator

2025-06-28

Chris Espinosa, a 14-year-old Apple employee, played a pivotal role in the Macintosh's development. Tasked with documenting Quickdraw, he built a calculator program. Steve Jobs initially disliked it, but Espinosa's innovative solution—a customizable 'Steve Jobs Roll Your Own Calculator Construction Set'—impressed Jobs and became the iconic Mac calculator for years, lasting until OS 9.

Development

SymbolicAI: A Neuro-Symbolic Framework for LLMs

2025-06-28
SymbolicAI: A Neuro-Symbolic Framework for LLMs

SymbolicAI is a neuro-symbolic framework blending classic Python programming with the differentiable programmability of LLMs. Its modular design allows easy extension and customization, enabling users to write their own engines, host them locally, or interface with tools like web search and image generation. Core concepts are Symbol objects (syntactic and semantic) and contracts (ensuring code correctness via decorators). SymbolicAI supports numerous primitive operations and integrates with neuro-symbolic engines like OpenAI and Anthropic via APIs, along with tools such as Wolfram Alpha and search engines. A priority-based configuration system simplifies management.

Development neuro-symbolic

c4wa: A Minimalist and Efficient C to WebAssembly Compiler

2025-06-28
c4wa: A Minimalist and Efficient C to WebAssembly Compiler

c4wa is a compiler that translates a subset of C into WebAssembly. Unlike other compilers, it generates minimalistic and well-optimized WebAssembly code without any glue, embedded libraries, or overhead. It's fully compatible with any WASM runtime out of the box. c4wa supports loops, conditionals, structs, arrays, pointers, and other typical C features, and can output readable WAT format code. It strikes a balance between the higher-level convenience of C and the low-level efficiency of WebAssembly, offering developers a new way to write performant WebAssembly code.

Development

ZubanLS: A Blazing-Fast Python Language Server Built in Rust

2025-06-27

In 2012, the author created Jedi, a widely used Python autocompletion library. However, its speed limitations became apparent. In 2020, the author rebuilt from scratch using Rust, resulting in ZubanLS, the first truly fast Python language server after five years of dedicated work. ZubanLS targets professionals needing precision, reliability, and speed, addressing longstanding issues in tools like Mypy and Pyright by prioritizing performance without sacrificing features. Support for Django, go-to-definition, completions, and other LSP features is in progress. The initial 2025 release might not be perfect; feedback is welcome to shape future development.

Development

A Lisp Adventure in the Dead Waters of C

2025-06-27

This article explores the power of Lisp's abstractions and the limitations of C, using a C-like language. The author analyzes function parameter evaluation strategies, highlighting how C's pass-by-value mechanism restricts control over function parameters, preventing the implementation of flexible conditional statements and loops like Lisp's if, while, and cond. The article further delves into advanced features like closures and runtime function creation, unavailable in C, ultimately concluding on C's shortcomings in extensibility.

Development

Linux Community: Fortress of Freedom or Cage of Exclusion?

2025-06-27

A blog post sparked a heated debate about inclusivity within the Linux community. The author shared a condescending and exclusionary comment criticizing their use of "Linux" instead of "GNU/Linux" and accusing them of trying to "dumb down" the system. The author counters that true "freedom" shouldn't come at the expense of marginalized groups, highlighting serious accessibility flaws in the Linux ecosystem. This ignited a discussion about community culture, the importance of inclusivity and accessibility, and respect for those who contribute to improving the system.

Development

zenta: Terminal-Based Mindfulness for Coders

2025-06-27
zenta: Terminal-Based Mindfulness for Coders

zenta is a terminal-native tool designed to help programmers maintain focus while coding. It guides users back to the present moment through simple breathing exercises, without the need for tracking or metrics. A single command, `breath` or `breathe`, initiates short or longer breathing sessions, aided by pure visual animations and calming quotes. The `reflect` command facilitates a gentle daily review. zenta advocates for genuine mindfulness, not gamification, emphasizing presence over productivity hacks. It supports multiple operating systems and is open-sourced under the MIT license.

Development

BQN Matrix Multiplication Performance Optimization: Cache Blocking and Divide and Conquer

2025-06-27

This article explores optimizing large matrix multiplication performance using the BQN language. The author first uses a simple square partitioning method to effectively utilize cache, achieving a speedup of about six times. Then, a Strassen algorithm based on a divide-and-conquer strategy is introduced and experimentally shown to achieve up to a 9x speedup on large matrices. The article also compares the performance impact of different block sizes and nested tiling strategies, concluding that the performance limit of a pure, single-threaded BQN implementation has essentially been reached.

Development

Blazing Fast Fibonacci on the GPU with Thrust

2025-06-27
Blazing Fast Fibonacci on the GPU with Thrust

This blog post demonstrates how to perform incredibly fast Fibonacci sequence calculations using GPU programming and the NVIDIA Thrust library. It starts by explaining the scan algorithm, then shows how to use scan operations in Thrust for simple addition and multiplication, extending this to matrix operations. Finally, it illustrates calculating Fibonacci numbers efficiently via matrix operations and the scan operation, using modulo arithmetic to avoid integer overflow. The author calculates F99999999 (mod 9837) in just 17 milliseconds on an NVIDIA GeForce RTX 3060 Mobile GPU.

Cache Locality and Array Summation Performance: A Surprising Experiment

2025-06-27

This article explores the impact of array element order on summation performance through experimentation. The author compares sequential and random access methods, finding that random access performance drastically degrades when array size exceeds cache capacity, while sequential access remains relatively stable. Experiments also investigate memory-mapped files and cross-platform differences, revealing that OS handling of memory-mapped files significantly impacts performance. The conclusion: sequential access is optimal for large array summation, while larger-than-memory data requires more efficient algorithms and data reading strategies.

Development cache locality

From Flutter & Rust to Pure Rust: A Case Study in Simplifying AI App Development

2025-06-27

The developer of a small AI application, BoquilaHUB, shares their experience transitioning from a Flutter/Rust architecture to a pure Rust application using egui. Initially using flutter_rust_bridge to connect a Flutter UI with a Rust backend, the developer encountered frustration with code generation overhead, FFI complexities, and the challenges of designing a cross-language API. Switching to egui, a Rust-based GUI library, and rewriting the UI over a weekend proved transformative. The pure Rust approach simplified project complexity, improved code readability and maintainability, and yielded significant performance gains. The developer highlights egui's ease of use in eliminating common Flutter UI refresh issues and complex state management, resulting in a faster and more responsive application.

Development

SigNoz: Open Source Application Monitoring Dev Advocate Wanted

2025-06-27
SigNoz: Open Source Application Monitoring Dev Advocate Wanted

SigNoz, a global open-source application monitoring project with 21,000+ GitHub stars and 6,000+ Slack community members, is hiring a Developer Advocate. This role involves engaging with the community, creating dev-focused blogs and videos, presenting SigNoz at meetups and conferences, and assisting users with setup and use cases. You'll work on a global dev infra product, engage with the open-source community, and be backed by YC and prominent US VCs. Requires 1+ years of software engineering experience, familiarity with various programming languages and deployment methods (e.g., k8s, Docker), active participation in developer communities, and knowledge of cloud-native ecosystems, Kubernetes, and OpenTelemetry is a plus.

Development developer advocate
1 2 50 51 52 54 56 57 58 214 215