Category: Development

PgDog: A High-Performance PostgreSQL Transaction Pool and Logical Replication Manager

2025-05-26
PgDog: A High-Performance PostgreSQL Transaction Pool and Logical Replication Manager

PgDog, written in Rust, is a fast, secure, and scalable transaction pooler and logical replication manager for PostgreSQL, capable of handling hundreds of databases and hundreds of thousands of connections. It features database sharding, load balancing with health checks and failover, transaction and session pooling for efficient client connection management. Monitoring is facilitated by OpenMetrics, and it includes a CSV parser and logical replication support for streamlined data ingestion and database sharding.

Development Database Sharding

Nix: Solving Reproducibility in Software Development

2025-05-26
Nix: Solving Reproducibility in Software Development

The modern developer tooling ecosystem is vast and complex, leading to frustrating inconsistencies in how code builds and runs across different systems. Nix tackles this by using an immutable `/nix/store` and content-addressable storage, guaranteeing reproducible builds. While it has a steep learning curve requiring familiarity with functional programming, its benefits—eliminating dependency conflicts, simplifying environment management, ensuring reproducible builds, and enhancing security—outweigh the initial investment. Nix flakes streamline project management, and caching significantly speeds up builds. Although Nix isn't perfect and has challenges like a steep learning curve and debugging difficulties, its advantages in complex projects, cross-platform development, and security-sensitive contexts make it a worthwhile investment.

Development Reproducibility

Emilua: A C-powered, Lua-driven Container Runtime Revolution

2025-05-26

Emilua is a novel container runtime built in C and scripted with Lua, supporting diverse kernel technologies like Linux namespaces and FreeBSD jails. Unlike typical CLI-based runtimes, Emilua leverages Lua's programming power for unparalleled flexibility and security, bypassing the risks of using BASH, such as synchronization issues and security vulnerabilities. Security is paramount; Emilua prevents calling binaries from container images and securely erases temporary buffers. Furthermore, Emilua extends to Capsicum sandboxes, demonstrating its adaptability. Emilua offers a more secure and flexible solution, especially for complex scenarios demanding custom container setup phases.

Development

Rust 1.88 Demotes i686-pc-windows-gnu to Tier 2

2025-05-26
Rust 1.88 Demotes i686-pc-windows-gnu to Tier 2

Rust 1.88.0 will demote the i686-pc-windows-gnu target (32-bit GNU-based Windows build target) from Tier 1 to Tier 2. This means reduced testing frequency and a higher likelihood of accumulating bugs in the future. The main reason is a lack of maintainers and persistent difficult-to-debug issues. While builds of the standard library and compiler will still be provided, users should be aware of potential increased risks. The Rust team is calling for developers with relevant expertise to step up and become maintainers.

Development

Avoiding Bash Script Infinite Loops with timeout

2025-05-26
Avoiding Bash Script Infinite Loops with timeout

A Bash script used a `until` loop to check if a web server was up, but if the server failed to start, it would get stuck in an infinite loop. The article introduces two ways to avoid this problem using the `timeout` command: wrapping the `until` loop with `bash -c`, or placing the `until` loop in a separate script and then using the `timeout` command. Both methods effectively prevent the script from infinitely looping due to server startup failures, ensuring the script's robustness.

Development

Particle Life Simulation in the Browser: A WebGPU Power Play

2025-05-26
Particle Life Simulation in the Browser: A WebGPU Power Play

This article details a browser-based particle life simulation powered by WebGPU. The simulation uses a non-physical model with asymmetric inter-particle forces, creating life-like behavior. The author explains the model, WebGPU implementation, spatial hashing optimization for performance, and rendering techniques, including a parallel prefix sum algorithm for efficient binning. The result is a visually stunning simulation capable of generating diverse and interesting life forms, with options for custom rules and sharing.

Development Particle Simulation

Haskell's IO Monad and the Value Restriction: A Surprising Connection

2025-05-26

This article explores how Haskell's IO Monad cleverly avoids type safety issues stemming from polymorphic references. Despite Haskell's reputation for purity, the design of the IO Monad implicitly incorporates a mechanism similar to the 'value restriction' found in other ML languages. The article analyzes the risks of polymorphic references, compares Haskell's approach to other languages, and delves into the internal implementation of the IO Monad, revealing its similarity to the State Monad and why directly manipulating the IO constructor is dangerous. Finally, it demonstrates how to use the MonadGen type class to circumvent IO's restrictions, but also emphasizes the risks involved.

Development

GitHub Issues: The World's Best Notebook?

2025-05-26
GitHub Issues: The World's Best Notebook?

GitHub Issues is arguably one of the world's best note-taking applications! It's free, unlimited, and supports both public and private notes. It boasts robust Markdown support with syntax highlighting for almost any language, and allows direct drag-and-drop of images and videos. Its powerful linking feature lets you link other GitHub Issues, automatically syncing titles and links. Search is excellent, covering single repos, all your repos, or even the entire GitHub ecosystem. A comprehensive API and GitHub Actions enable automation. The only drawback? Lack of synchronized offline support.

Development

Venta AI: Hiring a Full-Stack Engineer (YC-backed)

2025-05-26
Venta AI: Hiring a Full-Stack Engineer (YC-backed)

YC-backed Venta AI, building AI employees for sales teams, is hiring a full-time, on-site full-stack engineer in Amsterdam. The ideal candidate will have significant experience in full-stack development, expertise in TypeScript, React, Remix (preferred), Python and FastAPI, proficiency in designing multi-tenancy SaaS products, and experience with AI code IDEs (Cursor, Windsurf, Claude, etc.). Scalable software operation experience is crucial. Fluency in English is required, with German a plus. Venta AI, funded by Y Combinator and Google's AI fund, is making AI accessible, compliant, and transparent for European businesses.

Development

FreeBSD: Not Dead, Just Quietly Powering the Internet

2025-05-26

Recent discussions have questioned whether FreeBSD is dying. Analyzing Google Trends data, the author shows a steady upward trend for FreeBSD searches, contrasting with a flatline for Linux. This misconception, the author argues, stems from the availability heuristic; people focus on the more discussed Linux, overlooking FreeBSD's silent power behind countless internet services. FreeBSD's permissive BSD license, while making it a great foundation for commercial products, discourages companies from contributing back. The author calls on FreeBSD users to share their experiences and challenges, allowing the FreeBSD Foundation to bridge the gap between industry and software/hardware vendors, fostering FreeBSD's growth.

Development BSD license

jjui: A Terminal UI for Jujutsu Version Control

2025-05-26
jjui: A Terminal UI for Jujutsu Version Control

jjui is a terminal user interface for the Jujutsu version control system. It offers a range of features including: changing revsets with autocomplete; rebasing revisions or branches; squashing revisions; viewing and comparing file diffs; moving bookmarks; viewing the op log; and previewing details of revisions, files, and operations. jjui supports various installation methods, including Homebrew, AUR, Nix, and Go. Minimum supported jj version is v0.21+.

Development

Data Engineer's Weekly Musings: Gemini's Rise and New Data Opportunities

2025-05-26
Data Engineer's Weekly Musings: Gemini's Rise and New Data Opportunities

A senior data engineer shares his thoughts and observations from the past few weeks, covering new trends in the data field, recommendations for excellent tools, and a vision for future innovation. He mentions the importance of connecting data producers and consumers and praises the rapid development of large language models like Google's Gemini. He also points out significant innovation opportunities in financial software, such as data aggregation and AI forecasting.

Development

Automating Releases with Claude Code

2025-05-26
Automating Releases with Claude Code

Molin uses Anthropic's Claude Code to automate its 1-3 times/week software release process. Claude Code handles creating PRs, checking diffs, deploying the backend, and publishing JS bundles. Instructions in a `.claude/release.md` file guide Claude Code to check for existing release PRs, create new ones, check merge status and CI checks, merge the PR, and finally deploy to production. This significantly improves efficiency and reduces manual work.

Development software releases

iOS iMessage Bug: Audio Messages Fail When Mentioning "Dave and Buster's"

2025-05-26

A bizarre iOS bug is making waves: sending audio messages via iMessage containing the phrase "Dave and Buster's" (a US sports bar) prevents the recipient from receiving them.

Investigation revealed the issue stems from iOS's transcription engine. It transcribes "Dave and Buster's" into HTML code with an unescaped ampersand (&), causing MessagesBlastDoorService (a security mechanism designed to thwart hacking attempts) to halt message delivery due to a parsing error.

While seemingly a security vulnerability, it actually demonstrates BlastDoor's effectiveness in preventing potential malicious code injection, highlighting Apple's cautious approach to security.

Development

Guile GC Heap Sizing Heuristics: A Live-Lock Story

2025-05-26

The Guile project is integrating a Nofl-based conservative scanning garbage collector. Currently using a growable heap policy, the heap size is adjusted by a multiplier to account for fragmentation. However, severe fragmentation can lead to allocation failures and deadlocks even when the heap is twice the expected size. The post explores solutions: increasing the multiplier, changing heap organization, and reserving empty blocks for the Nofl collector. The goal is efficient handling of fragmentation and deadlock avoidance.

Development

The Emotional Logic of Tech Choices

2025-05-26
The Emotional Logic of Tech Choices

Hacker News is full of blog posts justifying obscure tech choices with seemingly rational arguments. But often, these are masks for deeper emotional motivations. People choose technologies based on feelings: comfort, familiarity, or a nostalgic connection to a particular era. Using obscure tech becomes a form of symbolic magic, tying technology to personal identity. The author argues that acknowledging and embracing these emotional drivers is fine, but warns against self-deception. Rational assessment of costs and benefits is crucial to avoid wasting time on pointless pursuits.

Development developer culture

JWT Turns 10: A Decade of Secure Token Standards and Future Outlook

2025-05-25

Ten years ago, the JSON Web Token (JWT) became RFC 7519, culminating a 4.5-year journey to create a simple JSON-based security token format and underlying cryptographic standards. JWT and its related specifications have seen widespread adoption, even exceeding the initial creators' expectations. However, ongoing work continues to update the specifications to address emerging threats and vulnerabilities, ensuring JWT remains secure for the next decade.

Development security tokens

Building a Financial Trading Bot with Claude and SnapTrade

2025-05-25

Dino Angelov details building a financial trading bot using Anthropic's Claude and the MCP protocol, integrated with SnapTrade's API. While initially attempting to use Claude to write the MCP server, he found Gemini more effective. He ultimately leveraged the go-mcp framework for faster development, creating functionality to connect brokerage accounts, view portfolios, and execute trades. The author cautions users about the unpredictable nature of LLMs and the potential for accidental trades.

Development

Mojo Now Lets You Call Mojo Code From Python!

2025-05-25
Mojo Now Lets You Call Mojo Code From Python!

The Modular team is excited to announce a new feature in the latest Mojo nightly builds: the ability to call Mojo code from Python! This is enabled by expanding the Python interoperability section of the Mojo manual and adding examples demonstrating round-trip data transfer between Python and Mojo, including GPU-accelerated Mojo code called from Python. This breakthrough aims to integrate Mojo into existing Python codebases, boosting performance and unlocking new applications by offloading performance bottlenecks to fast Mojo, especially when using accelerators.

Development

Blacksmith's Bulletproof CI/CD Security Architecture

2025-05-25
Blacksmith's Bulletproof CI/CD Security Architecture

Blacksmith boasts a robust CI/CD security architecture, detailed in this post. The journey begins with GitHub integration, progressing through the control plane, dataplane, and caching mechanisms, illustrating the comprehensive protection of user code, secrets, and cached artifacts. Security measures include GitHub SSO authentication, the principle of least privilege, TLS encryption, and Firecracker microVMs, ensuring security at every stage. SOC 2 Type 2 compliance and regular penetration testing further reinforce trust and address security concerns.

Development CI/CD Security MicroVMs

Koog: A Kotlin Framework for Building AI Agents

2025-05-25
Koog: A Kotlin Framework for Building AI Agents

Koog is a Kotlin-based framework for building and running AI agents entirely in idiomatic Kotlin. It enables creating agents that interact with tools, handle complex workflows, and communicate with users. Key features include a pure Kotlin implementation, MCP integration, embedding capabilities, custom tool creation, ready-to-use components, intelligent history compression, a powerful streaming API, persistent agent memory, comprehensive tracing, and flexible graph workflows. It supports various LLM providers like Google, OpenAI, Anthropic, OpenRouter, and Ollama. Koog supports JVM and JS targets and provides detailed dependency instructions.

Development

Beware the Complexity Merchants: Simplicity Trumps All

2025-05-25
Beware the Complexity Merchants: Simplicity Trumps All

This article explores the dangers of 'accidental complexity' in software development. The author argues that some engineers, driven by ego or self-preservation, deliberately introduce unnecessary complexity to control projects and secure more resources. These 'complexity merchants' hinder team velocity, increase maintenance costs, and ultimately damage business value. The author advises vigilance against this behavior, advocating for simple, reliable solutions and requiring engineers to clean up old complexity before introducing new complexities, ensuring systems are easily maintainable and transferable. Simple, maintainable systems are key to creating true value.

Development

Blitz: A Blazing-Fast, Zero-Cost CLI Framework for Zig

2025-05-25
Blitz: A Blazing-Fast, Zero-Cost CLI Framework for Zig

Blitz is a blazing-fast, zero-cost CLI framework for the Zig programming language. Build modular, ergonomic, and high-performance CLIs with ease. All batteries included. Inspired by Cobra (Go) and clap (Rust), Blitz offers modular commands and subcommands, fast flag parsing, type-safe support for various data types, and automatic help/version/deprecation handling. Get started quickly with a simple installation and intuitive API.

Development

plwm: A Minimalist X11 Window Manager in Prolog

2025-05-25
plwm: A Minimalist X11 Window Manager in Prolog

plwm is a highly customizable X11 dynamic tiling window manager written in Prolog. Lightweight and fast, it boasts low resource usage (10-15MB memory) and features multiple layouts, floating windows, multi-monitor support, external bar integration, and more. Easy to customize and extend, plwm uses declarative Prolog code for configuration and offers extensive keyboard shortcuts and command-line options for flexible window management.

Development

Implementing Complex Numbers and FFT with Just Datatypes (No Floats)

2025-05-25
Implementing Complex Numbers and FFT with Just Datatypes (No Floats)

This article presents a method for implementing complex numbers and Fast Fourier Transform (FFT) using only algebraic datatypes, without relying on floating-point numbers. The author begins by explaining the advantages of using algebraic datatypes for numerical representation and highlights inefficiencies in traditional FFT implementations. A concise and elegant implementation of integers and complex numbers using only algebraic datatypes is then demonstrated. Finally, a purely functional implementation of complex FFT, also without floats, is derived. This is achieved by using balanced ternary representation for integers and extending Gaussian integers to represent complex numbers, cleverly circumventing the fusion-hindering effects of floating-point arithmetic, thereby improving algorithm efficiency.

Development Algebraic Datatypes

A Thrilling Ride: Building a Self-Modifying C Program

2025-05-25

This article details the creation of a C program capable of modifying its own code at runtime. The author first explains how program code is stored in memory and how to use the `mprotect()` function to change the permissions of the code segment to writable. Then, by modifying the immediate value of an `addl` instruction, the author demonstrates altering the program's output. Finally, the author goes further, using `memcpy()` to copy shellcode into the program's code segment, successfully executing a shell command at runtime. The entire process is technically challenging, requiring a strong understanding of x86_64 assembly language.

Open Source Society University: A Free Path to a Computer Science Education

2025-05-25
Open Source Society University: A Free Path to a Computer Science Education

Open Source Society University (OSSU) offers a complete, free computer science education using online materials from top universities like Harvard, Princeton, and MIT. The curriculum is structured into introductory, core, and advanced stages, taking roughly two years of study at 20 hours/week. While most materials are free, some courses may charge for graded assignments. Students can self-pace their learning, collaborating with a global community via GitHub and similar platforms, culminating in a final project.

Development Online Education

Pretix Rolls its Own Linux Driver for Ticket Printing

2025-05-25

Pretix version 1.8 introduced shipping management, but the recommended printer, uITL+2003CF, only offers a Windows driver. To support Linux users, the Pretix team developed a custom CUPS filter, `rastertofgl`, written in Python. This filter converts CUPS raster data into FGL code, enabling ticket printing on Linux systems with a corresponding PPD file. While some issues remain, this driver provides a convenient solution for Pretix users on Linux.

Ladybird: A New Open-Source Browser Challenging Chrome's Dominance

2025-05-25
Ladybird: A New Open-Source Browser Challenging Chrome's Dominance

In a browser market dominated by Google Chrome, a new open-source browser project called Ladybird is emerging. Created by former Apple and Nokia WebKit engineer Andreas Kling, Ladybird is built from the ground up, committed to web standards, and refuses commercialization. Unlike other Chromium-based browsers, Ladybird aims to provide an independent and open alternative to combat the monopoly of large tech companies on the web platform. While performance isn't currently its strong suit, the Ladybird team adheres to the development mantra of "Make it work, make it right, make it fast," and plans to transition to Swift later in development. Ladybird's emergence offers users more choices and provides new hope for maintaining web standards and the diversity of the web ecosystem.

Development

Daedalus: A Fast and Easy-to-Use Molecular Viewer

2025-05-25
Daedalus: A Fast and Easy-to-Use Molecular Viewer

Daedalus is an open-source molecular viewer and editor, particularly well-suited for proteins and nucleic acids. Designed for speed and ease of use, it rivals PyMOL, Chimera, and Discovery Studio. It supports multiple file formats including PDB, mmCIF, SDF, Mol2, and PDBQT. Molecules can be loaded via various methods: opening files directly, drag-and-drop, entering protein identifiers, or using the 'I'm feeling lucky' feature. Two camera control schemes are available with extensive keyboard shortcuts for flexible viewing. While features like cartoon view and high-quality van der Waals surfaces are still under development, its core functionality is robust and actively updated based on user feedback.

1 2 76 77 78 80 82 83 84 214 215