Category: Development

Coreboot Enables AMD Turin Support on Gigabyte MZ33-AR1: Phase 1 Complete

2025-08-16

This blog post details the first phase of enabling AMD Turin support in coreboot and porting it to the Gigabyte MZ33-AR1 motherboard. Funded by the NLnet Foundation, the project builds upon AMD's push for open-source firmware. The team successfully created the Turin SoC structure within coreboot, extracted and integrated the necessary PSP firmware packages, and built basic MZ33-AR1 motherboard support. While challenges remained with integrating public Turin PSP blobs, workarounds allowed a successful boot, paving the way for future improvements.

Development Open Source Firmware

Building Efficient AI Agent Systems: Lessons from UserJot

2025-08-16
Building Efficient AI Agent Systems: Lessons from UserJot

UserJot experimented with building a multi-agent AI system to analyze customer feedback at scale and auto-generate changelogs. The author shares key learnings, centering on a two-tier architecture: primary agents manage context and task decomposition, while stateless sub-agents focus on single tasks. Efficiency comes from task decomposition (vertical and horizontal), structured communication protocols, agent specialization, and orchestration patterns like MapReduce. The article stresses statelessness, context management strategies, and error handling, offering performance optimization tips and monitoring metrics.

Development

Unexpectedly Slow: A Simple Socket Benchmark Shows Linux Lagging Behind OpenBSD

2025-08-16

A simple C program creating threads and opening 256 sockets reveals a surprising performance disparity between Linux and OpenBSD. On Linux, execution times fluctuate between 17 and 26 milliseconds; on OpenBSD, they're a mere 2 to 6 milliseconds. Adding to the intrigue, OpenBSD initially threw a "too many open files" error, hinting at differences in resource management. The author notes the discrepancy isn't related to networking code and challenges readers to find a Linux system that outperforms OpenBSD in this benchmark.

Development OS Performance

47 Seconds of Gym Hell: How I Fixed PureGym's Broken Check-in with Apple Wallet

2025-08-16
47 Seconds of Gym Hell: How I Fixed PureGym's Broken Check-in with Apple Wallet

An iOS developer's frustration with PureGym's app (47 seconds to check in!) led him on a wild ride. He discovered laughably insecure APIs – an 8-year-old unchanging PIN was more secure than the minute-refreshing QR code. Using mitmproxy, he reverse-engineered the system, built an Apple Wallet pass using PassKit, and slashed check-in time to 3 seconds. The article details the process: reverse engineering, certificate wrestling, Swift backend development, and more. He even integrated it with Home Assistant. A humorous and technically detailed personal project highlighting the importance of user experience.

Development

Git's Large File Killer: The End of Git LFS is Nigh

2025-08-16

Large files have long been a thorn in Git's side. Git LFS, while a solution, introduced new complexities and costs. However, Git itself is gradually addressing this issue. The latest Git releases feature partial clones, offering the same benefits as Git LFS—fast clones and small checkouts—without the need for extra tools or server-side costs. Even more exciting, Git's large object promisors are under development, promising to eventually obsolete Git LFS entirely, making large file management simpler and more efficient. No more large file headaches!

Development

Kanji Amnesia: Why I Remember the Meaning But Not the Writing

2025-08-15
Kanji Amnesia: Why I Remember the Meaning But Not the Writing

The author mastered kanji by first learning their meanings and writing, then pronunciation. Years later, he can't handwrite most kanji. This 'Kanji Amnesia' is common in Japan and China. He explores the brain's separate processes for reading and writing, and his aphantasia (lack of mental imagery) adds to the mystery. Cognitive science suggests this stems from the brain's use of both verbatim and gist memory traces. Reading involves recognizing the gist, while writing activates motor memory of strokes – two distinct skills.

Development kanji

LLMs: Great Code Generators, Terrible Software Engineers

2025-08-15
LLMs:  Great Code Generators, Terrible Software Engineers

Years of interviewing software engineers reveals that building and maintaining clear mental models is key. While LLMs are good at generating and modifying code, they lack the crucial ability to maintain these models. They easily get confused, suffer from context omission and recency bias, and hallucinate details, preventing iterative problem-solving for complex tasks. The author concludes that LLMs are helpful tools for software engineers but cannot yet replace them for anything beyond simple projects.

Development

Deprecate XSLT in Browsers?

2025-08-15
Deprecate XSLT in Browsers?

Browsers' built-in XSLT processor (v1.0, standardized in 1999) is outdated and poses security risks. Modern web development uses JavaScript and JSON, rendering XSLT largely obsolete. Maintaining aging XSLT libraries (like libxslt in Chromium) is resource-intensive and prone to memory safety vulnerabilities, creating a significant attack surface. This proposal suggests deprecating XSLT from web standards to reduce security risks and optimize resource allocation, with no practical loss of developer functionality.

Development

Simulating and Visualizing the Central Limit Theorem: A Practical Exploration

2025-08-15

This post explores the Central Limit Theorem (CLT) through simulation and visualization. The author, having previously avoided statistics, uses R to generate samples from various distributions (uniform, normal, binomial, beta, exponential, chi-squared) and calculates sample means. The results visually demonstrate how the distribution of sample means approaches a normal distribution as sample size increases, confirming the CLT. The post further investigates the practical implications of using the t-distribution instead of the normal distribution for confidence interval calculations when dealing with limited sample sizes and unknown population variance. Simulations highlight the difference in confidence interval coverage across various sample sizes. Finally, an animation showcases how the distribution of sample means converges to a normal distribution as the sample size grows, offering a compelling visual understanding of this fundamental statistical concept.

MacBook Notch Breaks Game Rendering: A Developer's Nightmare

2025-08-15
MacBook Notch Breaks Game Rendering: A Developer's Nightmare

Many games render incorrectly on MacBooks with notched displays. The issue stems from how games obtain screen resolutions (CGDisplayCopyAllDisplayModes), which returns resolutions including the notch area, resulting in compressed and distorted game visuals. The article analyzes the differences between various screen regions (full screen, safe area, AppKit fullscreen area) and offers a solution for filtering resolutions. However, it ultimately points to Apple's API design as the root cause. The article also lists affected games and potential improvements Apple could implement, such as updating the HIG, improving CGDisplayMode, or creating a new game-centric API.

WTF: Visualizing Builds to Find Performance Bottlenecks

2025-08-15
WTF: Visualizing Builds to Find Performance Bottlenecks

What the Fork is a cross-platform tool that visualizes the build process of any build system, helping developers identify and resolve performance bottlenecks. By monitoring system calls, it tracks process start and termination, generating an interactive visualization showing process timelines, commands, and arguments. The author demonstrates its power through examples from various projects, revealing issues like lack of parallelism and redundant operations. This allows developers to significantly optimize build times, particularly beneficial for CI builds.

Development build optimization

Linux Copy & Paste Gets a Retro Upgrade: Say Goodbye to Ctrl+Shift

2025-08-15
Linux Copy & Paste Gets a Retro Upgrade: Say Goodbye to Ctrl+Shift

Tired of Ctrl+Shift+C/V for copy and paste in Linux terminals? Good news! By the end of 2025, most Linux applications will natively support the legacy 'Copy' and 'Paste' keycodes. This is thanks to the rise of programmable keyboards and support for these keycodes in software toolkits like GTK and QT. Several terminal emulators like Alacritty, Foot, and Wezterm already support them, while Gnome Terminal and Konsole are expected to support them after updates by the end of the year. This will revolutionize the Linux copy-paste experience, making it more convenient and efficient.

Ghostty's GTK Rewrite: A Triumph of GObject and Valgrind

2025-08-15

The Ghostty terminal emulator's GTK application underwent a complete rewrite, fully embracing the GObject type system from Zig and rigorously using Valgrind for memory verification at every step. The result is a more feature-rich, stable, and maintainable Ghostty on Linux and BSD. The rewrite addressed previous memory management issues stemming from avoiding the GObject system, simplifying tasks like configuration reloading using GObject's property change notification system. Valgrind uncovered a few memory issues, mostly related to C API interactions, demonstrating the effectiveness of Zig's memory safety features in a large, complex project.

Development

EmbedPDF: A Slick, Open-Source JavaScript PDF Viewer

2025-08-15
EmbedPDF: A Slick, Open-Source JavaScript PDF Viewer

EmbedPDF is a framework-agnostic, MIT-licensed, open-source JavaScript PDF viewer easily integrated into any JavaScript project (React, Vue, Svelte, Preact, or vanilla JS). It boasts a smooth, modern reading experience with a clean developer API. Features include annotations (highlighting, sticky notes, free text, ink), true redaction, search, text selection, zoom, rotation, and smooth, virtualized scrolling. It's built with a pluggable architecture and tree-shakable plugins. Contributions are welcome!

Development PDF viewer

Jujutsu + Radicle: A Near Branchless Workflow

2025-08-14
Jujutsu + Radicle: A Near Branchless Workflow

This article details how the author uses Jujutsu and Radicle together to achieve a nearly branchless version control workflow. Jujutsu, as a transparent layer on top of Git, manages changes using change IDs, simplifying complex Git operations like rebasing and squashing. Radicle leverages Git's storage and protocol, providing a secure and reliable platform for code collaboration. The author details their `.git/config` and `.jj/config` configurations, and how they use commands like `jj new`, `jj edit`, `jj squash`, and `jj rebase` to create, edit, merge, and reorder changes. Radicle's patch mechanism enables efficient code contribution and maintenance, ultimately eliminating cumbersome branch management and improving development efficiency.

Development

Linux ASI Performance Breakthrough: From 70% to 13% I/O Overhead Reduction

2025-08-14

For years, Google engineers have been working on Address Space Isolation (ASI) for the Linux kernel to combat growing CPU speculative execution vulnerabilities. Early implementations resulted in a crippling 70% I/O throughput penalty. Now, that overhead is down to just 13%. Google engineer Brendan Jackman has revived the effort, presenting a solution to the page cache performance issues. While challenges remain, particularly concerning context switching and copy-on-write operations, the significant progress makes ASI a viable contender for a mainstream CPU vulnerability solution.

Development CPU Vulnerabilities

Org-social: A Decentralized Social Network Built on Org Mode

2025-08-14
Org-social: A Decentralized Social Network Built on Org Mode

Org-social is a decentralized social network running on an Org Mode file served over HTTP. Users create a `social.org` file, add personal info and posts, and upload it to a web server. Simple, registration-free, and database-less, it leverages Org Mode's features for posting, replying, mentions, polls, and more, while remaining compatible with various text editors. Its core values are simplicity, accessibility, decentralization, and adherence to Org Mode principles.

Development org mode

ArchWiki's Secrets to Success: Lessons from DebConf25

2025-08-14

Arch Linux's ArchWiki is renowned in the Linux community for its high-quality documentation. At DebConf25, ArchWiki maintainers shared their secrets, covering content strategy, contribution guidelines, and community management. While leveraging MediaWiki's strengths—comprehensive, high-quality, and up-to-date content—they also addressed challenges like the complexity of MediaWiki markup, the high barrier to entry for contributors, and threats from AI-generated content and scraping bots. Future plans include improving community involvement, developing more editor tools, and cautiously incorporating AI. The presentation inspired Debian to revamp its wiki using MediaWiki.

Development Open Source Wiki

One-Handed iPhone Coding: Beyond Pythonista, a Trio of Apps Emerges

2025-08-14

The author's dream of single-handedly coding on an iPhone has become a reality. Abandoning Pythonista, they now use a combination of three apps: Secure Shellfish (with offline folder syncing), Textastic (code editor), and Working Copy (Git client), running code on a VPS. While this setup has a higher upfront cost (around €57 plus monthly VPS fees), it provides a distraction-free coding experience, offering an alternative to social media and enabling focused, one-handed development.

Development

500 Days of Daily Math: A Journey from Zero to (Almost) Hero

2025-08-14
500 Days of Daily Math: A Journey from Zero to (Almost) Hero

The author recounts his 500-day journey of daily math practice using Math Academy. Initially motivated by a need to understand the math behind AI, he discovered a significant gap in his foundational knowledge, starting from the very beginning. Through consistent effort and strategic adjustments (like dedicated study time, utilizing spare moments, and publicly sharing progress), he's completed multiple foundational courses and is now tackling calculus and linear algebra. This journey has not only boosted his math skills but also cultivated better learning habits and resilience, positively impacting other aspects of his life.

Development

Level Up Your Debian 13 Desktop: Essential Tweaks and Tips

2025-08-14

Debian 13 is here! This guide provides essential tweaks to optimize your new Debian desktop experience. Learn how to enable additional repositories (including non-free software), configure your PATH for easier command-line access, join system groups for simplified administration, use Cloudflare DNS for faster browsing, switch to local mirrors for quicker package downloads, enable Snap and Flatpak for broader software access, install the GNOME Software Center, and manage packages with Synaptic. These steps significantly enhance Debian's usability and efficiency.

Development Desktop Optimization

Debian 13 Trixie Released: Saying Goodbye to 32-bit, Embracing RISC-V

2025-08-14
Debian 13 Trixie Released: Saying Goodbye to 32-bit, Embracing RISC-V

Debian 13, codenamed Trixie, has been released, bringing numerous improvements. The most significant change is dropping support for 32-bit x86 architecture in favor of RISC-V and upgrading to Linux kernel 6.12. Trixie also features updated programming languages (Python 3.13, PHP 8.4, etc.), an improved Apt package manager, enhanced security (supporting CET, PAC, BTI, etc.), and performance and UX boosts for GNOME and KDE desktops. While Go and Rust ecosystem security support is limited, Trixie is overall a stable, secure, and powerful distribution.

Development

Finite State Machines as Data Structures: Indexing Billions of URLs

2025-08-14

This article explores using finite state machines (FSMs) as data structures for representing ordered sets and maps, showcasing the efficiency of Rust's fst crate for building indexes. It delves into FSM construction, covering Trie and FSA construction, and demonstrates indexing over 1.6 billion URLs from the July 2015 Common Crawl Archive. Techniques like memory mapping, automaton intersection with regular expressions, fuzzy searching with Levenshtein distance, and streaming set operations are also discussed. The author builds and benchmarks FSTs against other compression schemes (gzip, xz) across multiple datasets of varying sizes and characteristics.

Development Indexing

Privacy Infrastructure for Smart Glasses: Building Apps Without the Privacy Headaches

2025-08-14
Privacy Infrastructure for Smart Glasses: Building Apps Without the Privacy Headaches

This project tackles the privacy challenges inherent in smart glasses applications. It introduces a real-time privacy filter that sits between the camera and the app, automatically ensuring compliance. The filter anonymizes faces, manages consent (detecting verbal consent like "I consent to be captured"), and processes video at 720p 30fps, all offline. Built using FFmpeg, OpenCV, Faster Whisper, and Phi-3.5 Mini, it offers easy camera integration, RTMP input/multiple output formats, and an HTTP API for control. Ideal for AI assistants, social apps, enterprise solutions, and content creation, this tool empowers developers to build privacy-conscious smart glasses applications.

Development smart glasses

The AI Revolution: A Coder and Writer's Existential Crisis

2025-08-14
The AI Revolution: A Coder and Writer's Existential Crisis

A seasoned programmer and author grapples with the existential threat posed by rapidly advancing AI. He prides himself on his ability to clearly explain complex technical concepts, a skill evidenced by the success of his books. However, the rise of AI threatens his livelihood, as AI is already proving effective at technical writing. While acknowledging AI's capabilities in explaining technical topics, he questions AI's ability to fully replace human authors, especially regarding style and nuance. He's planning a new book, leveraging AI for assistance, yet remains uncertain about his future role in an AI-dominated world, questioning his value and purpose.

Development Existential Crisis

Nyxt: The Emacs-Inspired Browser for Developers

2025-08-14

Nyxt is an unconventional web browser built on the philosophy of Emacs: highly customizable and keyboard-driven. Written in Common Lisp and licensed under the BSD 3-clause license, it prioritizes Linux users and empowers developers to extend its functionality. While inspired by Emacs, Nyxt runs independently and supports vi and CUA keybindings. The current 3.x series uses WebKitGTK, while the upcoming 4.0 will leverage Electron for improved performance and cross-platform support (macOS and Windows). Nyxt's minimalist interface and extensive customization options appeal to developers seeking ultimate efficiency, but its steep learning curve and limited community resources present a challenge.

Development

10 PRINT: A Single Line of Code, A Cultural Phenomenon

2025-08-14
10 PRINT: A Single Line of Code, A Cultural Phenomenon

10 PRINT, a book published in 2012, explores the creative computing phenomenon through a single line of Commodore 64 BASIC code. The authors treat this code as a text, examining its creation, purpose, and assumptions. The book delves into randomness and regularity in computing and art, the cultural significance of mazes, the popularity of BASIC, and the influence of the Commodore 64. Generated book covers, inspired by the code, are now used by the New York Public Library and Project Gutenberg.

Development creative computing

OCaml: A Surprisingly Relevant Language for the Modern Era

2025-08-14

This article makes a strong case for OCaml, highlighting its strengths as both a research language and a practical tool for industry. The author details OCaml's powerful features—including its static type system, multi-paradigm support, and evolving ecosystem—arguing that it's well-suited for diverse projects. Several common misconceptions about OCaml are addressed, and the author paints a picture of a vibrant and supportive community. The piece concludes with a compelling invitation to explore this often-overlooked language.

Development

Convo-Lang: An AI-Native Language for Simplifying LLM Prompt Engineering

2025-08-14
Convo-Lang: An AI-Native Language for Simplifying LLM Prompt Engineering

Convo-Lang is an open-source AI-native programming language and ecosystem designed for building powerful, structured prompts and agent workflows for LLMs like GPT-4, Claude, and Llama. Instead of writing freeform English prompts, Convo-Lang lets you define multi-step conversations, add structure and variables, integrate external tools and knowledge bases (RAG), and switch between different LLMs. Its readable syntax simplifies complex AI application development, making it easier to manage logic, debugging, and maintainability.

Development AI-native language

ForgeFed: Decentralizing Code Collaboration

2025-08-14

ForgeFed is a federation protocol for software forges, aiming to break the dominance of large, centralized platforms. Built on ActivityPub, it enables interoperability between different code hosting sites, issue trackers, code review applications, and more. This means you can host your code anywhere and still interact with projects on other platforms without needing separate accounts. ForgeFed empowers users, creating a free, connected, and secure collaboration network, independent of single company policies or platform shutdowns.

Development
1 2 24 25 26 28 30 31 32 214 215