Category: Development

Normal-Order Direct-Style Beta-Evaluator with Syntax-Rules and Repeated call/cc

2025-09-17

This paper explores less-frequently mentioned applications of call/cc within hygienic Scheme macros, particularly its use in assisting tedious lambda-calculations. The author presents a normal-order direct-style beta-normalizer cleverly combining syntax-rules and repeated applications of call/cc, proving its correctness via CPS transformation and an ingenious direct-style lambda-calculator. The paper also delves into delimited continuations, showing how simple macros can implement various delimited continuation operators like prompt and control. A call/cc-based factorial function implementation and discussion of delimited continuations highlight the elegance and practicality of the approach.

Development

Murex: An Easy-to-Install Command-Line Tool

2025-09-17
Murex: An Easy-to-Install Command-Line Tool

Murex is a powerful command-line tool easily installed on various operating systems, including macOS, Arch Linux, and FreeBSD. Users can install it effortlessly through package managers like Homebrew, MacPorts, or the AUR. Comprehensive language tutorials and an interactive shell guide are available to help users get started quickly. A Rosetta Stone cheat sheet is also provided for those wanting to jump straight in.

Development easy installation

The Demise of the 80x25 Text Console in Modern Linux

2025-09-17

The author encountered a frustrating issue: the classic 80x25 text console, a feature present in DOS, OS/2, FreeBSD, and Linux for over 40 years, is largely gone in modern Linux systems. This isn't simply a resolution problem; it involves UEFI booting, non-x86 platforms, and the shift to graphical rendering modes. Old solutions like the `vga=` parameter are ineffective, and newer attempts like using `kmscon` have significant issues. The author is resorting to finding an older PC, highlighting the declining compatibility between modern systems and legacy hardware.

Development text console

Obsidian Plugin Bounty: Improve Notion Import

2025-09-17
Obsidian Plugin Bounty: Improve Notion Import

The Obsidian Importer plugin is seeking a developer to improve its Notion import functionality. Currently, import relies on HTML export, which is inefficient. A $5,000 bounty is offered for a solution within 30 days that uses the Notion API for progressive file download and adds support for converting Notion databases to Bases. Applicants must be familiar with the Importer codebase and the Notion API, and should detail their approach, especially addressing the differences between Databases and Bases and determining which Notion database elements (views, columns, groups, etc.) can be imported.

Development

Midnight Commander: A Powerful Dual-Pane File Manager

2025-09-17

GNU Midnight Commander (mc) is a powerful, free, open-source, dual-pane file manager with a text-based interface. It lets you copy, move, delete files and directories, search for files, and even execute commands in a built-in subshell. mc supports various text interface libraries, allowing it to run in various environments, including regular consoles, X Window terminals, and over SSH connections. The easiest way to install mc is through your system's package manager. Comprehensive documentation and context-sensitive help (F1) are available.

Development

Solving Hard Problems with Rust and Z3: A Constraint Solver Adventure

2025-09-16

This article demonstrates how to use the Z3 constraint solver in Rust to tackle various problems, from simple equations to complex Sudoku puzzles and page layout. The author shares their learning journey with Z3, explaining core concepts, usage, and Rust integration through practical examples. It covers solving equations, optimizing solutions (like the coin change problem), and even tackling a Sudoku puzzle. Limitations and advanced features like arrays, bit vectors, and sets are also discussed, guiding readers towards further exploration.

Development Constraint Solver

25 Years in Open Source: A KDE Developer's Bitter Farewell

2025-09-16

A 25-year veteran of the open-source world recounts their journey with KDE. From early days with Linux and contributions to Ubuntu and Kubuntu, to spearheading KDE Neon, they witnessed both the triumphs and the harsh realities of open source. Ultimately, a clash of ideals led to their expulsion from the project, resulting in the loss of their job, friends, and family. This poignant account reflects on the commercialization of open-source communities and the crucial importance of worker rights.

Development

iina Player Enhancements: Title Display and Pause Minimization

2025-09-16

This code snippet adds two handy features to the iina video player. First, it displays the video title in a large 48px font at the top of the video player during playback. Second, it minimizes the window when the video is paused and resumes playback when the window is restored, enhancing the user experience.

Development

Microsoft Favors Anthropic AI Models, Prioritizing Claude Sonnet 4 for GitHub Copilot

2025-09-16
Microsoft Favors Anthropic AI Models, Prioritizing Claude Sonnet 4 for GitHub Copilot

Microsoft is adding automatic AI model selection to Visual Studio Code, prioritizing optimal performance. GitHub Copilot free users will see automatic selection between models like Claude Sonnet 4, GPT-5, and GPT-5 mini, while paid users will primarily use Claude Sonnet 4. Internal documents reveal Microsoft is instructing developers to favor Claude Sonnet 4 and is making significant investments in its own AI model cluster. Furthermore, parts of Microsoft 365 Copilot will leverage Anthropic models. Despite a new deal with OpenAI, Microsoft's preference for Anthropic's AI signals a shift in its AI strategy.

Development

Java 25 GA: Performance Boost and New Features

2025-09-16

Java 25 (JDK 25) is now generally available! This release includes 18 JEPs focusing on improvements in areas like cryptographic object encodings, stable values, vector API enhancements, and structured concurrency, aiming to boost performance and developer productivity. Thousands of bugs have been fixed, and JFR has received enhancements. Java 25 is ready for production use, with open-source builds available for download.

Explicit vs. Implicit ODE Solvers: Stability, Robustness, and Practical Implications

2025-09-16
Explicit vs. Implicit ODE Solvers: Stability, Robustness, and Practical Implications

This article delves into the strengths and weaknesses of explicit and implicit ordinary differential equation (ODE) solvers. While implicit methods are often considered more robust due to their superior stability, the author argues that explicit methods can be preferable for certain problems, especially those requiring the preservation of oscillations. Through linear ODE analysis, the concept of stability regions, and real-world examples (like cooling and oscillatory systems), the article illustrates the performance of both methods in different scenarios. It emphasizes that selecting the appropriate solver requires a nuanced understanding of the problem at hand, rather than a blanket approach.

DuckDB 1.4.0 “Andium” Released: Database Encryption, MERGE Statement, and Iceberg Writes

2025-09-16
DuckDB 1.4.0 “Andium” Released: Database Encryption, MERGE Statement, and Iceberg Writes

DuckDB v1.4.0, codenamed "Andium," is now available! This LTS release offers one year of community support and includes several key features: database file encryption using industry-standard AES, a new MERGE statement for flexible upsert operations (without requiring primary keys), and support for writing to Iceberg data lakes. Performance improvements, a new window function, and enhanced macOS support are also included. This release marks a significant step forward in DuckDB's capabilities and stability.

Development LTS Release

Less JavaScript, More HTML: Building Faster, Simpler Web Apps

2025-09-16
Less JavaScript, More HTML:  Building Faster, Simpler Web Apps

The author argues that many projects over-rely on JavaScript to generate HTML, resulting in slower loading times, slower execution, increased fragility, and reduced readability. The article advocates for using HTML directly whenever possible, reserving JavaScript for enhancing interactivity. Examples of form submission and API responses illustrate the cleaner and more efficient approach of using HTML. The author concludes that this method leads to faster, simpler, and more reliable applications, although it requires a shift in development workflow towards more backend processing.

Development

Shopify's Epic React Native New Architecture Migration

2025-09-16
Shopify's Epic React Native New Architecture Migration

Shopify successfully migrated its massive Shopify Mobile and Shopify POS apps to React Native's New Architecture while maintaining weekly releases and serving millions of merchants. This involved a complex codebase, hundreds of screens and native modules, extensive custom components, and deep integration with first-party libraries like FlashList. The post details their migration strategy, key decisions, and lessons learned, including maintaining development velocity, dual architecture compatibility, and performance/stability parity. Common migration issues like state batching, blank screens, shadow tree manipulation, and view flattening are addressed. The migration resulted in improved app launch times and valuable contributions back to the React Native community.

Critical Alert: Massive Supply Chain Attack Hits NPM Ecosystem

2025-09-16
Critical Alert: Massive Supply Chain Attack Hits NPM Ecosystem

Over 40 npm packages, including the popular @ctrl/tinycolor package (over 2 million weekly downloads), have been compromised in a sophisticated supply chain attack. The attacker used a self-propagating mechanism to infect downstream dependencies, causing a cascading compromise. The payload is a Webpack-bundled script that steals AWS, GCP, GitHub, and other cloud credentials and sensitive information, establishing persistence via GitHub Actions. The attack has resulted in widespread credential theft; immediate action is required to check affected packages and rotate all credentials.

Development

Equality Saturation Optimizer for Linear Algebra with Egglog

2025-09-16

This tutorial demonstrates building a linear algebra optimizer using Egglog. Starting with simple arithmetic expressions (constants, variables, addition, multiplication), it leverages equality saturation to build optimization rules (commutativity, associativity, constant folding). The tutorial details defining converters, writing rewrite rules, and using `egraph.run()` for optimization, finally verifying expression equivalence, such as the equivalence of 2 * (x * 3) and 6 * x.

Automating Linux Distro Version Updates in CI

2025-09-16
Automating Linux Distro Version Updates in CI

Manually tracking Linux distro updates and end-of-life versions was a tedious monthly task. Now, we automate this using the endoflife.date API, GitHub Actions, and create-pull-request. A weekly GitHub Action queries the API, updates our CI matrix, and opens a pull request with the changes. Dead Man's Snitch monitors the action to ensure reliability. This frees up engineering time and prevents issues from outdated versions.

Development

Make Software Development Feel Like a Blockbuster

2025-09-16

Tired of mundane software development? This article argues that many everyday development problems are actually full of challenges, just like the thrilling plot of a movie. For example, slow CI/CD, too many database connections, memory leaks, poor code readability, high latency, and slow database batch imports are all waiting for us to solve. The author encourages developers to actively face these "villains," treating them as challenges to overcome, making daily work fun and rewarding. Even if you can't solve all the problems at work, you can practice them in personal projects, creating your own "exciting story."

Development

My Home, My Server: Reclaiming the Physical Internet

2025-09-16
My Home, My Server: Reclaiming the Physical Internet

The author reminisces about running a speech synthesizer website from their college dorm room in 2000, highlighting the magical feeling of someone remotely accessing their server. Now, they aim to recreate this physical connection, exploring the feasibility of building a reliable and secure home website. The ultimate goal is to blend the virtual and physical worlds, creating a more interactive and personalized online experience. The article prompts reflection on the nature of the internet, user agency, and the future direction of online interactions.

Development physical internet

Goodbye, Java's Hello World: A Programmer's Catharsis

2025-09-16

On September 16th, 2025, Ethan McCue penned a scathing critique of the classic Java "Hello World" program, highlighting its verbose and cumbersome nature. He juxtaposes the old, lengthy code with a streamlined modern equivalent, expressing his relief at its simplification. The article is filled with emotional outbursts, inviting fellow programmers to celebrate the demise of this outdated ritual and share their own memories of wrestling with the archaic code. A humorous anecdote about a former classmate adds a personal touch to the rant.

Development

The Complexity Trap in Software Development: Why We Build 'Code Pyramids'

2025-09-16
The Complexity Trap in Software Development: Why We Build 'Code Pyramids'

This article explores the pervasive issue of complexity in software development. Using the metaphor of pyramids, the author likens complex software systems to impressive but ultimately empty structures, expensive to maintain and lacking substance. From a marketing perspective, complexity is often presented as a high-status symbol, but ultimately simplicity and efficiency reign supreme. The article analyzes various factors contributing to complexity, including the allure of creativity, legacy systems, team dynamics, and the pressure to innovate. It urges developers to strike a balance between simplicity and practicality, avoiding over-engineering and building truly valuable software.

Development

Run Python like a Local Function in Go: No CGO, No Microservices

2025-09-16
Run Python like a Local Function in Go: No CGO, No Microservices

pyproc is a Go library enabling you to call Python functions as if they were local, eliminating the need for CGO or microservices. Leveraging Unix Domain Sockets for inter-process communication, it offers zero network overhead, process isolation, and true parallelism to bypass Python's GIL. Ideal for integrating existing Python ML models, data processing, and gradually migrating from Python microservices to Go, pyproc boasts high performance handling thousands of requests per second.

macOS Update: Accessibility, Family Features, Gaming & More

2025-09-16
macOS Update: Accessibility, Family Features, Gaming & More

Apple released a major macOS update boasting improvements across accessibility, family features, gaming, and more. New accessibility features include a magnifier, reader, braille support, and motion sickness reduction. Enhanced parental controls offer increased safety for children. Journal, a new note-taking app, makes capturing daily moments easier. Photos gets a design refresh with customizable collections. FaceTime features personalized contact posters. Reminders leverage AI for smarter suggestions. A new Games app centralizes gaming on Mac, with Metal 4 enhancing graphics. Messages adds polls, customizable backgrounds, and improved spam detection. Password management offers enhanced history viewing. Notes now transcribes audio recordings and allows Markdown export.

Development system upgrade

Learn x86-64 Assembly by Writing a GUI from Scratch

2025-09-16

This article details the author's journey of learning x86-64 assembly language by creating a simple GUI program. Starting with a basic exit program, the author progressively explains system calls, stack operations, the X11 protocol, and more, ultimately achieving a window displaying "Hello, world!" in a binary under 1KB. The article is well-structured and suitable for readers with some programming experience.

Development GUI programming

React's Default Dominance Stifles Frontend Innovation

2025-09-15
React's Default Dominance Stifles Frontend Innovation

React's dominance in the frontend landscape isn't due to technical superiority but rather a default preference, hindering innovation. Teams often default to React without considering project-specific needs, creating a self-perpetuating cycle. Frameworks like Svelte, Solid, and Qwik, offering superior compile-time optimizations, fine-grained reactivity, and resumability, struggle for adoption. The author argues that this default mindset prevents fair evaluation and urges a shift toward choosing frameworks based on merit, fostering diversity and ultimately, greater innovation in the frontend ecosystem.

Development Frontend Frameworks

Mac App Store's AI Chat App Clone Frenzy

2025-09-15
Mac App Store's AI Chat App Clone Frenzy

Searching for "AI chat" on the Mac App Store reveals a comical abundance of ChatGPT lookalike app icons. These apps have nearly identical icons with subtle differences, and their names are equally creative, like "Al Chatbot." The irony? The official ChatGPT desktop app isn't even on the Mac App Store; it's only available from OpenAI's website. This highlights potential weaknesses in the App Store's review process and the opportunistic behavior of developers capitalizing on popular trends.

Development AI chat apps clone apps

Goodbye Tedious `systemctl` Commands: fzf-Powered Shell Aliases and Functions

2025-09-15
Goodbye Tedious `systemctl` Commands: fzf-Powered Shell Aliases and Functions

Tired of typing lengthy `systemctl` commands? This post introduces a set of fzf-powered shell aliases and functions for efficient systemd service management. Leveraging fzf's fuzzy-finding capabilities, it simplifies `systemctl` and `journalctl` into short, memorable commands, automatically handles errors and logs, significantly boosting efficiency, especially on resource-constrained devices.

Development

LLM in Pure Rust: RustGPT-demo-zoon

2025-09-15
LLM in Pure Rust: RustGPT-demo-zoon

RustGPT-demo-zoon demonstrates building a transformer-based language model entirely in Rust, using only ndarray for matrix operations. It features pre-training on factual statements and instruction tuning for conversational AI. The model boasts interactive chat capabilities, answering questions like "How do mountains form?" The modular codebase, comprehensive testing, and lack of external ML frameworks make it ideal for learning how modern LLMs work.

Development

Coreboot on AMD Turin: A Firmware Showdown

2025-09-15

Running Coreboot on the Gigabyte MZ33-AR1 motherboard with AMD's newest Turin server processor presented unexpected challenges. AMD's provided firmware blobs proved insufficient to release the CPU from a PSP reset. A workaround involving injecting Coreboot into the vendor firmware and flashing it back was implemented, but this wasn't ideal. The article delves into the AMD PSP firmware structure, including EFS, PSP, and BIOS directories, detailing how comparing vendor and Coreboot firmware differences, specifically fixing SPI speeds, eSPI configuration, and Multi Gen EFS values, led to successful booting. However, using public PSP blobs failed due to a differing root key. The authors discovered flawed firmware from AMD and have submitted a fix request. Finally, using official firmware from the Turin PI package achieved successful booting.

Development

Gentoo Bans AI-Generated Contributions

2025-09-15

The Gentoo Council voted on April 14th to prohibit contributions created using AI natural language processing tools. This policy addresses copyright, quality, and ethical concerns. While AI-related software packages are permitted, directly using AI-generated code is banned due to potential copyright infringement, the risk of low-quality or nonsensical output, and ethical issues surrounding AI model training (e.g., copyright violations, high energy consumption). The policy aims to maintain the quality and integrity of Gentoo projects.

Development
1 2 3 4 5 7 9 10 11 214 215