Category: Development

A Masochist's Guide to WebAssembly: A C/C++ Dev's Web App Odyssey

2025-06-06

An experienced C developer documents their journey of porting a complex Rubik's Cube solver to WebAssembly using Emscripten. The post details the challenges encountered, from simple 'Hello World' programs to multithreading, persistent storage, and the intricacies of Web Workers and IndexedDB. It highlights the realities of leaky abstractions in web development, showcasing the unexpected complexities that arise when bridging the gap between C/C++ and the browser environment. Despite the difficulties, the project culminates in a successful web application deployment, offering valuable lessons learned along the way.

Development

Small but Mighty: Exploring the Beauty of Concise Programming Languages

2025-06-06

This article explores the trade-off between the size and expressiveness of programming languages. The author argues that smaller languages like assembly are limited in expressiveness, while languages like Forth, Lisp, and Tcl achieve powerful expressiveness with concise syntax. Lua is highlighted as a small and easy-to-learn language due to its tiny core (just 27 pages!). The impact of standard libraries on perceived language size is discussed, with Ramda's extensive functionality used as an example of increased learning curve. Ultimately, the author champions the elegance and joy of small languages, suggesting that simplicity can sometimes trump expressiveness.

Development conciseness

Exploiting Dependabot: Bypassing GitHub's Merge Protection

2025-06-06
Exploiting Dependabot: Bypassing GitHub's Merge Protection

Researchers have discovered a novel attack leveraging the "Confused Deputy" vulnerability in GitHub's Dependabot (and similar bots). Attackers can trick Dependabot into merging malicious code by crafting branch names, potentially bypassing branch protection rules and leading to command injection. Two previously unknown attack techniques were also disclosed, enhancing the effectiveness of this exploit. This highlights the need for developers to carefully manage automated tools and enhance code security audits.

TigerBeetle: A High-Performance OLTP Database Prioritizing Safety and Speed

2025-06-06

TigerBeetle is an Online Transactional Processing (OLTP) database built for double-entry accounting, emphasizing safety and speed. It leverages the Viewstamped Replication (VR) consensus protocol for Strong Serializable consistency. Unlike general-purpose databases, TigerBeetle only stores accounts and transfers, ideal for financial transactions and similar applications. For high-contention workloads, it funnels writes through a single core on the primary node, prioritizing scale-up over scale-out. Robust fault tolerance is a core design principle, with explicit models for various failures and mechanisms to prevent data loss even with single replica survival. A unique upgrade process uses multi-version binaries for seamless transitions. Jepsen testing revealed several bugs, primarily related to client handling and single-node failures, most of which were subsequently addressed by the TigerBeetle team.

Development Fault Tolerance

TigerBeetle's Hidden Bug: How Sophisticated Fuzzing Failed

2025-06-06
TigerBeetle's Hidden Bug: How Sophisticated Fuzzing Failed

The TigerBeetle team discovered a bug in their query engine using Jepsen, surprisingly in a component previously fuzzed extensively by four separate fuzzers. The investigation revealed a blind spot in the fuzzer's input generation strategy, leaving certain query combinations uncovered. This stemmed from the fuzzer pre-registering queries during initialization—a simplification that inadvertently constrained input space diversity. By improving the fuzzer to generate more random inputs and perform more precise verification, the bug was successfully reproduced and fixed. This case highlights how even sophisticated fuzzing strategies can have blind spots, necessitating a combination of testing approaches for comprehensive software quality assurance.

Development

Aether CMS: A Minimalist Static Site Generator That's Actually Fast

2025-06-06

Tired of bloated CMSs like WordPress? Aether CMS is a fast, minimal static site generator built for simplicity. It uses a file-based system instead of a database, leverages Markdown and YAML, and features an intuitive admin interface. Developers can quickly create custom pages and themes, while content creators can easily create and publish content. Aether's core strength lies in its lightweight architecture and blazing speed; it relies on only four core modules and generates pure static HTML for lightning-fast loading. Perfect for personal blogs, company documentation, marketing sites, and more, Aether is the ideal choice for those who prioritize speed and simplicity.

Development lightweight CMS

TiddlyWiki: Reclaim Control of Your Information

2025-06-06
TiddlyWiki: Reclaim Control of Your Information

TiddlyWiki is a powerful, interactive tool for managing complex data that doesn't easily fit into spreadsheets or word processors. It breaks information down into the smallest meaningful units – tiddlers – organizing them with titles, links, tags, lists, and macros for easy access and control. Its serverless architecture and open-source nature give users unprecedented freedom over their information.

Development

YouTube Kills My Open-Source Media Library Video!

2025-06-06

A YouTuber received two community guideline violations for a video demonstrating LibreELEC on a Raspberry Pi 5 for 4K video playback. The video didn't promote any copyright circumvention tools, only self-hosting a media library. Yet, YouTube removed it for "promoting dangerous or harmful content." The creator uploaded the video to the Internet Archive and Floatplane. The creator reflects on YouTube's monetization model and AI content scraping, expressing concerns about the future of content creation.

Development Media Library

Open Source Distilling: Bringing Tradition into the 21st Century

2025-06-06

This project aims to create the world's first open-source software for home distilling. The author, with 15 years of homebrewing and 5 years of distilling experience, plans to leverage the Raspberry Pi and Python to automate the distilling process, including temperature monitoring and alerts. Early development of hardware and software is complete, with ongoing updates planned; community contributions are welcome.

Development distilling

In Defense of Adverbs: A Counterintuitive Approach to Writing

2025-06-06
In Defense of Adverbs: A Counterintuitive Approach to Writing

This article challenges the common writing advice to avoid adverbs. The author argues that adverbs are a valuable part of language and shouldn't be dismissed outright. The piece dissects the misconceptions surrounding adverb use, highlighting how adverbs can be precise and effective when used intentionally, rather than merely repeating information already conveyed. Using Denis Johnson's work as an example, the author demonstrates how adverbs contribute to unique style and character development. Ultimately, the article emphasizes the importance of practical principles over rigid rules in writing.

Development adverbs craft

A Comedy of Errors: My Amateur Search Library vs. Elasticsearch

2025-06-06
A Comedy of Errors: My Amateur Search Library vs. Elasticsearch

The author compares their Pandas-based full-text search library, SearchArray, against Elasticsearch using the BEIR benchmark. The results are humbling: SearchArray significantly underperforms Elasticsearch in all aspects. The article delves into the reasons, highlighting optimizations in production-ready search engines like Elasticsearch, such as the WAND algorithm and efficient inverted indices. SearchArray's lack of these optimizations leads to poor performance. The author concludes that SearchArray is suitable for prototyping on smaller datasets, but not for large-scale retrieval systems.

Development

Blazing Fast In-Memory PostgreSQL Testing with py-pglite: No PostgreSQL Installation Needed

2025-06-06
Blazing Fast In-Memory PostgreSQL Testing with py-pglite: No PostgreSQL Installation Needed

py-pglite is a Python testing library providing seamless integration between PGlite and Python test suites. Harness the power of PostgreSQL in your tests without the overhead of a full PostgreSQL installation. It boasts blazing-fast in-memory PostgreSQL for ultra-quick test runs, effortless setup requiring only Node.js, native support for SQLAlchemy & SQLModel, full test isolation with a fresh database per module, 100% PostgreSQL compatibility via PGlite, pytest plug-and-play fixtures, and customizable configurations (timeout, logging, etc.). Utility functions simplify database cleanup and schema management.

Development

Lambduck: A Minimalist Functional Programming Language

2025-06-06

Lambduck is a minimalist functional programming language with a syntax consisting of only a few special forms: `` for lambda abstraction, `` for function application, and numbers 0, 1, etc., as de Bruijn indices. Built-in functions `,` reads a character from stdin and converts it to a Church numeral, and `.` converts a Church numeral to a character and outputs it to stdout. Examples include definitions for true, false, and the Z combinator, and a simple "hello world" program. Its simplicity makes it ideal for exploring functional programming concepts.

Development minimalist language

SCIM: A Lifeline for Enterprise User Management?

2025-06-06

Large enterprises face the challenge of managing numerous SaaS applications and employee access permissions. SCIM (System for Cross-domain Identity Management) emerges as a solution, synchronizing user information (add, modify, delete) between Identity Providers (like Okta, Entra) and various software applications via standardized JSON. This simplifies integration, avoiding complex custom development. However, SCIM isn't perfect; PATCH operations are complex, and some Identity Providers (like Microsoft) deviate from the specification, requiring extra handling. Therefore, unless absolutely necessary, building SCIM support from scratch is not recommended; opt for off-the-shelf solutions instead.

Development

StringFlux: Streamline Your String Transformations

2025-06-05

StringFlux is a powerful online string transformation tool allowing users to convert strings between various formats like JSON, YAML, and Base64. Its unique chaining feature, similar to Unix/Linux pipes, enables efficient complex transformations—like clearly viewing stack traces from JSON-formatted log messages. While powerful for advanced use, StringFlux maintains a simple, intuitive interface for common tasks such as JSON formatting and Base64 encoding. Smart operation recommendations, search, and categorized operations ensure a smooth experience even with numerous transformations available. StringFlux aims to save developers time and keep them focused.

Development string transformation

Claude Composer: A CLI Wrapper for Enhanced Claude Code Automation

2025-06-05
Claude Composer: A CLI Wrapper for Enhanced Claude Code Automation

Claude Composer is a command-line interface (CLI) wrapper designed to enhance Claude Code's user experience and automation capabilities. It automates permission dialogs, provides system notifications, and allows for custom rulesets and toolsets to fine-tune Claude Code's behavior. With flexible configuration, users can precisely control the level of automation, ranging from maximum security to maximum automation, supporting both project-specific and global configurations.

Development

Containerized Environments for Coding Agents: Multi-Agent Collaboration, Simplified

2025-06-05
Containerized Environments for Coding Agents:  Multi-Agent Collaboration, Simplified

Container-use is an open-source CLI tool providing each coding agent with its own containerized environment. Run multiple agents safely and independently, supporting Claude Code, Cursor, and other MCP-compatible agents. Each agent gets an isolated git branch and container, with real-time visibility of command history and logs, allowing for direct intervention and control. Standard git workflows are supported, and it's compatible with any agent, model, or infrastructure, avoiding vendor lock-in. While in early development with potential rough edges, it features rapid iteration and responsive feedback.

Development multi-agent

Haskell APL Interpreter: A Challenging Journey

2025-06-05

This project details the creation of an APL interpreter in Haskell. APL's array-based nature and highly concise syntax presented significant challenges. The author iteratively refined the interpreter, starting with a basic parser and evolving to a sophisticated implementation leveraging Haskell's capabilities and refining parsing techniques, from context-free grammars to optimized uses of monads and applicatives. While the final interpreter has minor discrepancies compared to Dyalog APL, it functions effectively. The project highlights Haskell's power in handling complex grammars and higher-order functions, while also revealing the steep learning curve and debugging complexities inherent to the language.

Development

HyperDX: Blazing-Fast Log and Trace Visualization on ClickHouse

2025-06-05
HyperDX: Blazing-Fast Log and Trace Visualization on ClickHouse

HyperDX, a core component of ClickStack, empowers engineers to rapidly diagnose production issues. It provides lightning-fast search and visualization of logs and traces atop any ClickHouse cluster (think Kibana, but for ClickHouse). Offering intuitive full-text and property searching, anomaly trend analysis, alerting, and performance monitoring from HTTP requests to database queries, HyperDX integrates seamlessly with OpenTelemetry and supports numerous languages and platforms. Deployable via Docker or ClickHouse Cloud, HyperDX aims to simplify production telemetry analysis, addressing the cost, usability, and tool-hopping limitations of existing solutions. It's designed to make production observability accessible to all engineers.

Development Log Visualization

Dino Programming Language: Scripting, Functional, and Object-Oriented Powerhouse

2025-06-05
Dino Programming Language: Scripting, Functional, and Object-Oriented Powerhouse

Dino is a high-performance programming language blending scripting, functional, and object-oriented paradigms. Its history dates back to 1993, initially used at the Russian game company ANIMATEK. This document details the implementation of Dino's 0.98 development version, covering its bytecode compiler, interpreter, JIT compiler, and type inference. Performance comparisons against Python, PyPy, Ruby, and others are presented across architectures like x86-64 and AARCH64. Dino boasts features like multi-precision integers, heterogeneous extensible arrays, associative tables, first-class functions, fibers, exception handling, and pattern matching, with innovative class composition for safe and powerful object orientation.

Apple's App Store Free Lunch: Who's Paying for the Ecosystem?

2025-06-05

Apple's App Store boasts of generating trillions in billings and sales for developers, yet a significant majority pay zero commission. However, a small minority, particularly indie developers, are burdened with hefty in-app purchase (IAP) fees, sparking controversy. The author argues Apple leverages IAP to force a select few to subsidize the entire ecosystem, including 'free' apps generating billions through ads or other means—a blatant 'free lunch' scenario. The article questions the fairness and rationale behind this practice, suggesting Apple's profitability stems from hardware sales, not developer commissions, and ultimately accusing Apple of exploiting a small subset of developers.

Development Commissions

PURLs: Uniquely Identifying Software Packages

2025-06-05
PURLs: Uniquely Identifying Software Packages

Package URLs (PURLs) are an open standard for uniquely identifying software packages across various ecosystems. Created in 2017, PURLs address the need for standardized software package references. A PURL is a specially formatted URL encoding package type, name, version, and other qualifiers. Crucially, PURLs are essential for Software Bills of Materials (SBOMs), acting as unique identifiers for software components. This enables accurate vulnerability tracking and license verification. While offering simplicity and broad open-source support, PURLs currently lack comprehensive commercial product coverage, a domain where CPE remains more prevalent.

arXivLabs: Experimental Projects with Community Collaborators

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

arXivLabs is a framework that lets collaborators 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 works with partners who share them. Have an idea for a project that will add value to the arXiv community? Learn more about arXivLabs.

Development

FastHTML Best Practices: Streamlining Web Development

2025-06-05

FastHTML differs significantly from frameworks like FastAPI/React. Its best practices emphasize conciseness and efficiency, leveraging smart defaults to minimize code. This article highlights several key FastHTML best practices: simplifying database table creation with `db.create()`; using function names as route names; preferring query parameters over path parameters; utilizing return values for functional chaining; employing the `.to()` method for URL generation; leveraging PicoCSS's automatic styling; and adopting functional programming patterns. These techniques result in cleaner, more readable, and maintainable FastHTML applications.

Development

No-Build Web App: Little Webby Press Reborn

2025-06-05

The author rewrote his ebook generator, Little Webby Press, to eliminate the build process. The new version ditches Svelte, BrowserFS, and other build tools and dependencies, opting instead for Mithril and Pico CSS, cleverly using importMap to load dependencies from JsDelivr. This resulted in cleaner code and a massive performance boost; generating the ebook and website for Moby Dick went from 4.7 seconds to under 0.5 seconds. The author finds this "no-build" approach more enjoyable and plans to focus on such web app development in the future.

Development no-build

Track Errors First: The Most Valuable Observability Signal

2025-06-05
Track Errors First: The Most Valuable Observability Signal

This article argues that error tracking should be prioritized when building observability systems. The standard 'three pillars' model (logs, metrics, and traces) overlooks the most valuable signal: errors. Exceptions directly indicate failed assumptions in the code, offering more direct and valuable information than logs, metrics, or traces. The author advocates for deep error tracking, collecting full stack traces, local variables, request data, and user context, rather than simply counting errors. He criticizes the abstraction of errors as generic events and the trend of full-stack APM tools marginalizing error tracking, emphasizing that error tracking should be paramount, not an afterthought.

Development error tracking

Apple Notes to Support Markdown Export: A Controversial Upgrade?

2025-06-05
Apple Notes to Support Markdown Export: A Controversial Upgrade?

9to5Mac reports that Apple is adding Markdown export to Apple Notes. John Gruber, creator of Markdown, has mixed feelings. He argues Markdown is ideal for web writing and plain text storage, not the core function of a note-taking app. Apple Notes' excellent WYSIWYG editor and streamlined formatting better fit the Macintosh philosophy. While Markdown export is an improvement, Gruber worries turning Notes into a Markdown editor would be counterproductive, harming its ease of use and simplicity. He prefers Apple Notes focus on core improvements rather than chasing the 'Markdown trend'.

Development

A Decade of Rust: Reflections and Future Outlook

2025-06-05
A Decade of Rust: Reflections and Future Outlook

A founder who started using Rust a month after the release of Rust 1.0 reflects on a decade of experience building two startups with over 500,000 lines of Rust code. The article recounts initial challenges like poor version compatibility, long compile times, and the steep learning curve, but also praises the exceptional contributions of the Rust community and highlights Rust's advancements in reliability and performance. Looking ahead, the author anticipates significant improvements in compile speed, portability, const evaluation, and concurrency, along with broader adoption in domains like web browsers and game development.

arXivLabs: Experimental Projects with Community Collaboration

2025-06-05
arXivLabs: Experimental Projects with Community Collaboration

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

Development

phptop: Lightweight PHP Performance Monitoring Tool

2025-06-05
phptop: Lightweight PHP Performance Monitoring Tool

phptop is a lightweight PHP performance monitoring tool that tracks per-query execution time (wallclock, user, and system CPU time) along with memory and other resource usage. It's easily activated globally on a LAMP server with a single line configuration change in your php.ini. It's low-resource and has been used by Bearstech in production for years without issue. Requires PHP >= 5.2.0, tested up to PHP 8.2.

Development
1 2 66 67 68 70 72 73 74 214 215