Category: Development

KDE Plasma Tightens Wayland Focus Management to Prevent Focus Stealing

2025-08-04
KDE Plasma Tightens Wayland Focus Management to Prevent Focus Stealing

KDE Plasma's window manager, KWin, is enhancing Wayland's window focus management. Previously, focus stealing in X11 was frustrating and even a security risk. Wayland uses the XDG Activation protocol to mitigate this, but some applications still violate it. KWin's new "Extreme" focus stealing prevention setting will enforce the use of valid tokens for window activation, eliminating focus stealing and improving user experience. This update fixes focus issues in applications like Dolphin and KRunner and improves backend DBusRunner activation token management.

Development

arXivLabs: Community Collaboration on arXiv Features

2025-08-04
arXivLabs: Community Collaboration on arXiv Features

arXivLabs is a platform enabling developers to build and share new features directly on the arXiv website. Participants must embrace arXiv's values of openness, community, excellence, and user data privacy. Got an idea to enhance the arXiv community? Learn more about arXivLabs.

Development

Anti-Aliasing SDFs: It's More Complicated Than You Think

2025-08-04
Anti-Aliasing SDFs: It's More Complicated Than You Think

This article delves into the intricacies of anti-aliasing signed distance fields (SDFs). While seemingly straightforward, the process involves numerous considerations, including gradients, transition zone width, coordinate spaces, and color space choices. It explains the use of linear interpolation and smoothstep functions for anti-aliasing SDFs, compares different approaches, and provides practical solutions using pixel size, numerical derivatives, and various color spaces.

Development Anti-aliasing

arXivLabs: Experimenting with Community Collaboration

2025-08-04
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 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. Got an idea for a project that will benefit the arXiv community? Learn more about arXivLabs.

Development

gmap: Command-Line Git Repo Explorer

2025-08-04
gmap: Command-Line Git Repo Explorer

gmap is a powerful command-line tool providing a quick and intuitive way to analyze Git repository activity. Visualize commit history with heatmaps, identify churn-heavy files, explore contributor dynamics, and more. Answer crucial questions like 'which files change most?', 'who contributed the most?', and 'are there dormant code areas?'—all without complex commands. It's a developer's efficiency booster.

Development

Configuring BorgBackup and borgmatic for Backups on macOS

2025-08-04

This article details configuring BorgBackup and borgmatic for backups on macOS. It explains creating a LaunchAgent using launchctl to schedule borgmatic, addressing its logging limitations. Methods for restoring files, exporting keys, validating backups, and testing backups are provided. The author compares BorgBackup and Time Machine, suggesting using both and following the 3-2-1 backup rule for robust data protection.

Development

IOCCC 28: A Record-Breaking 23 Winners!

2025-08-04

After a four-year hiatus, the 28th International Obfuscated C Code Contest (IOCCC) returned with a bang, boasting a record-breaking 23 winning entries! The contest saw a significant increase in both the quantity and quality of submissions. Major improvements were made to the website, judging process, and tools, resulting in a streamlined judging period of just 33 days. Winning entries showcased impressive creativity, including the world's smallest LLM inference engine, an Intel 4004 emulator, and a diverse array of mind-bending code techniques. The organizers encourage continued participation and innovation for future contests.

Development

Arch Linux Added to url.town Directory

2025-08-04
Arch Linux Added to url.town Directory

url.town, a web directory curated by the omg.lol community, has added Arch Linux. Arch Linux is a lightweight, flexible DIY general-purpose GNU/Linux distribution where users only get what they install. The directory also features a wide range of other resources, spanning blogs, games, art, tech news, and much more.

Development Linux Distribution

Schematra: A Minimal Sinatra-inspired Web Framework in CHICKEN Scheme

2025-08-04
Schematra: A Minimal Sinatra-inspired Web Framework in CHICKEN Scheme

Schematra is a minimal web framework for CHICKEN Scheme, inspired by Sinatra. Designed for learning and experimentation, it offers simple route definition, middleware support, and a basic templating system. Schematra is easy to pick up and plays nicely with modern tools like Tailwind CSS and htmx, making it ideal for learning Scheme, prototyping simple applications, and exploring how web frameworks work under the hood.

Development

Rethinking Programming Education: Towards Visual and Understandable Programming

2025-08-04

This essay critiques the shortcomings of current "live coding" environments, exemplified by JavaScript and Processing, in programming education. It argues that these environments fail to effectively support powerful ways of thinking and don't allow programmers to see and understand program execution. The author proposes that understanding program flow and data state is key to learning programming, advocating for visualization techniques like timelines and data visualization to make the process more transparent and understandable. The importance of programming language design is also stressed, promoting metaphors closer to human thought processes and more easily understandable syntax. The essay emphasizes decomposition and recomposition methods to encourage creative learning.

Development program understanding

UniFi OS Server Early Access: Incremental Improvement or Game Changer?

2025-08-04
UniFi OS Server Early Access: Incremental Improvement or Game Changer?

Ubiquiti's UniFi OS Server, now in early access, promises a significant upgrade for MSPs and enterprise IT. This self-hosted platform allows running UniFi Network and select apps (InnerSpace, Identity) on your own hardware, eliminating the need for Dream Machines or Cloud Keys. While it unlocks newer cloud features like InnerSpace, Site Magic, and UniFi Identity, limitations remain. Cloud Gateway incompatibility and incomplete organization management hinder its full potential. For those already self-hosting UniFi Network, it's a welcome addition, but it falls short of replacing unifi.ui.com or providing a comprehensive MSP control panel. More of an iterative enhancement than a revolution.

Development

Random Number Generation Bottleneck: It's Not Your PRNG

2025-08-04

This article uses a story to highlight a key issue in optimizing random number generation algorithms: the bottleneck may not be the PRNG itself, but the method of generating random numbers within a specific range. The author compares several methods for generating random numbers within a given range, including classic modulo, floating-point multiplication, integer multiplication, and several unbiased methods such as rejection sampling and bitmasking. Experimental results show that the best method varies depending on the PRNG and data scale, but Lemire's integer multiplication-based method, after optimization, performs exceptionally well, significantly improving performance. The article also compares the performance of various PRNGs, finding that even the fastest PRNGs offer far less performance improvement than optimizing the range generation method.

Development

My Programming Habits Have Changed Thanks to Claude Code: Farewell Python, Hello Type Safety

2025-08-04

My programming habits have drastically changed since using Claude Code. For over 10 years, Python was my go-to language, but now I'm comfortably managing projects in TypeScript, Rust, and Go, even though I'm not fully fluent in them. The safety guarantees of typed, compiled languages make them surprisingly well-suited for 'vibe coding,' a style I previously associated solely with Python. Paradoxically, with larger projects, Claude Code combined with languages like Rust is faster and safer than with Python, purely due to AI-assisted development. For example, refactoring large parts of our TypeScript frontend code, Claude Code's integration with tsc ensures compile-time safety, letting me make substantial changes (3-5k lines) in hours without breaking anything. While LLMs aren't perfect, they offer the speed of Python prototyping without its drawbacks, leading me to predict decreased Python adoption in production deployments.

Development

Python's Ascent: A Community-Driven Open Source Saga

2025-08-04
Python's Ascent: A Community-Driven Open Source Saga

From its humble beginnings in 1991 to its current status as the world's most popular programming language, Python's journey is a compelling tale of passion, perseverance, and community. Early days were marked by financial struggles and organizational growing pains. However, guided by creator Guido van Rossum's vision and fueled by a vibrant community, Python ultimately thrived through the establishment of the Python Software Foundation. This documentary highlights the importance of community, shared values, and the power of open source collaboration in overcoming challenges and achieving remarkable success.

Development

TypeScript Type Parser: A TypeScript Type Parser Written Entirely in TypeScript Types

2025-08-04
TypeScript Type Parser:  A TypeScript Type Parser Written Entirely in TypeScript Types

A developer has created a TypeScript type parser written entirely in TypeScript types—no JavaScript required! This parser transforms TypeScript type strings into an AST similar to that produced by @babel/parser. While the code is elegant and efficient, it sparks discussion about compilation speed, as each tsc run incurs extra time to evaluate the parsing code.

Development

PDF Parsing: A Battle Against the Spec

2025-08-04

Parsing a PDF seems straightforward: find the version header, cross-reference table, object offsets, and finally build the catalog dictionary. Reality, however, is brutal. The PDF specification is not a hard and fast rule; real-world files are full of non-compliant situations, such as incorrect `startxref` pointer locations, garbage data at the beginning of the file, and malformed cross-reference tables. The author, by analyzing a large number of real PDF files, reveals these problems and points out that existing PDF viewers work because they handle non-compliant situations. This article explains the challenges of PDF parsing in an easy-to-understand way and provides valuable experience for developers.

Crafting Killer Design Docs: A Practical Guide

2025-08-04

This essay provides a practical guide to writing effective design documents. It likens design docs to mathematical proofs, aiming to convince the reader of a design's optimality. The author stresses clear organization, avoiding the pitfalls of disorganized 'spaghetti design docs'. Key advice includes concise language, one central idea per paragraph, and using appendices for detailed information. Through practice and rigorous editing, the goal is a clear, concise, and persuasive document.

Development design documents

Node.js's Modern Transformation: A New Development Paradigm for 2025

2025-08-04

Node.js has undergone a remarkable transformation, evolving from a callback-heavy, CommonJS-dominated landscape to a modern development experience built on web standards. This article explores key improvements such as ESM modules, built-in Web APIs (like Fetch API and AbortController), a built-in test runner, top-level await, Worker Threads, enhanced developer experience, security and performance monitoring, and modern package management. These advancements make Node.js applications more maintainable, performant, and aligned with the broader JavaScript ecosystem. By gradually adopting these modern patterns, developers can build more robust and maintainable Node.js applications.

Development Modern Development

JSAR: A Powerful Engine for Building the Future of Spatial Web

2025-08-03
JSAR: A Powerful Engine for Building the Future of Spatial Web

JSAR framework provides comprehensive support for modern Web standards, including full ES2023 JavaScript, native TypeScript compilation, ECMAScript modules, WebAssembly, and Web Workers. In 3D graphics, it fully supports WebGL 1.0 and 2.0, with WebGPU support under development. JSAR also offers complete WebXR Device API support, including spaces, stereo rendering, input sources, and hand tracking. While DOM API, HTML5, and CSS3 support are ongoing, its Canvas 2D rendering is fully implemented. JSAR provides quick start guides and example tutorials, and boasts a growing community of developers.

Development

GitHub Copilot Surpasses 20 Million Users, Igniting AI Coding Tool Wars

2025-08-03
GitHub Copilot Surpasses 20 Million Users, Igniting AI Coding Tool Wars

GitHub Copilot, Microsoft's AI coding tool, has surpassed 20 million users, with 5 million joining in the last three months alone. Boasting adoption by 90% of Fortune 100 companies and 75% quarter-over-quarter enterprise growth, Copilot is a major player. While its user base pales in comparison to general-purpose AI chatbots, Copilot's focus on enterprise clients and expanding capabilities like AI-powered code review and workflow automation give it a strong position. However, the market is heating up. Competitors like Cursor, with its impressive growth and funding, are challenging Copilot's dominance, and tech giants like Google and OpenAI are entering the fray, setting the stage for an intense battle in the AI coding tool arena.

Development enterprise market

arXivLabs: Community Collaboration on New arXiv Features

2025-08-03
arXivLabs: Community Collaboration on New arXiv Features

arXivLabs is a framework for 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 partners with those who adhere to them. Have an idea to enhance the arXiv community? Learn more about arXivLabs.

Development

Ski Rental Conundrum: A Randomized Algorithm for Optimal Cost

2025-08-03

This article tackles the classic ski rental problem, a fascinating example in online algorithms. The problem: a skier doesn't know how many days they'll ski; renting costs 1 unit per day, buying costs B units. The article details an optimal offline solution, then analyzes a simple online algorithm with a competitive ratio of 2. Crucially, it dives into a randomized algorithm using a continuous probability distribution to approximate the discrete problem, achieving an expected competitive ratio of approximately e/(e-1), significantly better than the simple approach. While not directly applicable in reality for single decisions, this algorithm offers a theoretically optimal strategy for scenarios involving many similar choices.

Eliminating Noise in CI Performance Testing: The CodSpeed Macro Runners Breakthrough

2025-08-03
Eliminating Noise in CI Performance Testing: The CodSpeed Macro Runners Breakthrough

Creating performance gates in CI to prevent significant regressions has been a challenge due to noise in hosted runners. This article explores measuring this noise using various benchmarking suites. Results on GitHub Actions showed a 2.66% coefficient of variation, leading to a 45% false positive rate for a 2% performance gate. CodSpeed's Macro Runners, running on bare-metal cloud instances with enhanced stability, drastically reduced this noise. Macro Runners achieved a 0.56% average variance, lowering the false positive rate to 0.04%. This allows for more precise performance gates, catching subtle regressions without overwhelming contributors with false alarms.

Development

Boost Remote Team Cohesion: The 'Ramblings' Channel Hack

2025-08-03
Boost Remote Team Cohesion: The 'Ramblings' Channel Hack

For remote teams of 2-10, create individual 'Ramblings' channels in your team chat. These act as personal journals, fostering connection without cluttering group channels. Members post short updates (1-3 times/week) on project ideas, article musings, 'what if' scenarios, or personal updates. Each channel is named after the member, allowing only them to initiate posts. Others can reply. Channels are grouped, muted by default, and reading isn't mandatory. Obsidian's two-year experiment shows 'Ramblings' as a surprisingly effective way to maintain human connection, spark creativity, and even solve long-standing problems, acting as a low-overhead replacement for water-cooler chat.

Development remote team

A Bytecode VM for Arithmetic in Haskell: The Parser

2025-08-03
A Bytecode VM for Arithmetic in Haskell: The Parser

This post details the first part of a project to build a bytecode virtual machine for arithmetic expressions in Haskell. The VM will parse, compile, interpret, and run simple arithmetic expressions, including let bindings and nested let expressions. The author explains the expression grammar, parser implementation (using the attoparsec library), and error handling. Unit tests are presented to validate the parser's correctness. A brief overview of the AST interpreter's implementation and testing is also included. Future posts will cover the compiler and virtual machine.

Development

The Unexpected Persistence of Traditional Unix Login Servers

2025-08-03

The author explores the surprising continued use of traditional Unix login servers in a hypothetical rebuild of their computing environment as a modern, greenfield development. Despite the prevalence of containerization, they maintain two types: a general-purpose server with CPU and RAM limits, and compute servers offering unrestricted resource access. While usage has declined, these servers remain surprisingly relevant, particularly for SSHing to internal machines or running backends for development environments like VSCode. The author also notes the use of login servers for cron jobs and the reason for users storing code on fileservers, which is closely tied to the use of their SLURM cluster and compute servers. The lack of a robust support model makes tracking exact usage difficult.

Development Unix servers

Claude Code: The Photography Era of Programming?

2025-08-03

This article reflects on six weeks of using Claude Code, an AI coding assistant that has dramatically changed the author's approach to coding. He completed numerous tasks that would have normally taken months or even years, including codebase migrations and building testing strategies. Claude Code enabled a 'write first, decide later' approach and significantly boosted the team's game prototyping efficiency. While acknowledging its imperfections, the author believes Claude Code has fundamentally altered programming paradigms, similar to how photography revolutionized painting.

Development

Guix's G-Expressions: Embedding Lower-Level Code in Higher-Level Code

2025-08-03

Guix uses Scheme for both high-level actions (like defining packages) and low-level actions (like building derivations). To embed lower-level code within higher-level code, it employs G-expressions. For example, in the `start` field of `wesnoth-shepherd-service`, `#~(...)` passes lower-level code, while `#$(...)` escapes higher-level code, which the compiler lowers to lower-level code. The `make-forkexec-constructor` function creates and executes child processes, offering features like setting user, group, umask, and environment variables.

Development G-expressions

Boosting Development Efficiency in Complex Codebases with Claude Code

2025-08-03
Boosting Development Efficiency in Complex Codebases with Claude Code

This article details how the author uses Claude Code, an AI coding tool, to implement new features in a complex codebase with many users. The author emphasizes that AI tools are not a silver bullet and require active developer involvement, code review, and adherence to best practices. The article outlines the author's `CLAUDE.md` file, containing AI coding rules covering pre-coding preparation, the coding process, testing, database interactions, code organization, and tooling. The author shares their workflow with Claude Code, using shortcuts like `qnew`, `qplan`, `qcode`, and `qcheck` commands to guide the AI and review its code. Finally, `qgit` is used for committing changes. The author cautions readers to closely monitor AI-generated code, correcting errors and inefficiencies to avoid accumulating technical debt.

Development code guidelines

LangExtract: An LLM-Powered Structured Information Extraction Library

2025-08-03
LangExtract: An LLM-Powered Structured Information Extraction Library

LangExtract is a powerful Python library that leverages large language models (LLMs) to extract structured information from unstructured text documents. It processes materials like clinical notes and reports, precisely identifying and organizing key details while ensuring extracted data perfectly matches the source text. Supporting various LLMs including Google Gemini, LangExtract boasts long-document handling, interactive visualization, and simplifies complex information extraction tasks with minimal code, revolutionizing data processing workflows.

1 2 30 31 32 34 36 37 38 214 215