Category: Development

agents.json: Simplifying AI Agent Interaction with APIs

2025-03-03
agents.json: Simplifying AI Agent Interaction with APIs

Wildcard AI introduces the agents.json specification, designed to streamline AI agent interaction with APIs. Building upon the OpenAPI standard, it addresses the challenge of AI agents executing multi-step API call sequences by adding features like flows and links. The agents.json file describes API endpoints and their interactions, enabling reliable execution of API calls by AI agents. The Wildcard Bridge Python package provides functionality to load, parse, and run agents.json files, allowing developers to seamlessly integrate AI agents with APIs simply by adding an agents.json file.

Development API interaction

Insane Compression: Shrinking 10GB of RATP Transit Data to 530KB with Rust

2025-03-03

This weekend project started by browsing the open-data repository of Paris’ public transport network. The author noticed a section on data reuse, featuring external projects using this open data, particularly the RATP status website which visualizes historical disruptions. The GitHub repository contains JSON files queried every 2 minutes for almost a year, totaling over 10GB. The author wondered if this could be compressed better. This post details how they used Rust's interning design pattern to achieve a 2000x compression! Techniques explored include optimizing the interner structure, tuning the data schema, and leveraging interning in serialization. The result? A staggering reduction from 1.1GB of JSON files to a mere 530KB.

arXivLabs: Experimenting with Community-Driven Features

2025-03-03
arXivLabs: Experimenting with Community-Driven Features

arXivLabs is an experimental framework enabling collaborators to develop and share new arXiv features directly on the website. Participants, individuals and organizations alike, 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

Building a French Restaurant Network Graph with LLMs

2025-03-03

This project uses LeFooding.com's French restaurant reviews to build a network graph of French restaurants and their staff. By leveraging OpenAI's gpt4o-mini model and structured generation techniques, the author extracts information about restaurant staff and their career paths from reviews, resulting in a graph with over 5000 nodes and edges. The project highlights the power of LLMs in extracting structured information and explores the pros and cons of using different LLMs, including cost optimization. The final result is a visual network graph showing connections between French restaurants and staff career progression.

FlakeUI: A Novel Fractal-Based Graph User Interface

2025-03-03
FlakeUI: A Novel Fractal-Based Graph User Interface

FlakeUI revolutionizes content navigation with its fractal-structure inspired, parent-child orbiting, and zooming-elements based graph user interface. Imagine exploring your web content not as a simple list, but as a dynamic, explorable fractal universe. Users navigate this visually stunning interface using five intuitive gestures: drag to pan, rotate, zoom in, zoom out, and scroll to switch modes. Built with Javascript, FlakeUI is perfect for frequently visited websites such as curated link collections or searchable hierarchical catalogs. Content is managed via XHTML pages and XML configuration, supporting hyperlink navigation within nodes. Experience content browsing like never before!

Ninjavis: Visualizing Ninja Build Logs

2025-03-03
Ninjavis: Visualizing Ninja Build Logs

Ninjavis parses Ninja build logs, extracting target, start, and end times for each build item. It outputs this data in a template with a simple timeline visualization powered by vis.js. Inspired by buildbloat, it helps analyze build performance. Remember to run `ninja -t recompact` beforehand to remove duplicate log entries. The tool offers a clean command-line interface for generating build profiles.

Development

uBlock Origin Faces Manifest V3 Deprecation in Chrome

2025-03-03
uBlock Origin Faces Manifest V3 Deprecation in Chrome

Starting with Chrome 127, users of uBlock Origin (uBO) will see warnings due to the deprecation of Manifest V2 extensions. uBO, a Manifest V2 extension, lacks a Manifest V3 equivalent. A lightweight alternative, uBO Lite (uBOL), has been released, but with feature sacrifices for Manifest V3 compatibility. Users must decide whether to switch to uBOL or continue using uBO on browsers like Firefox. Discussions regarding extending Manifest V2 support in Chrome until June 2025 are ongoing.

Development

Say Goodbye to ERB: Crafting Email Templates in Pure Ruby with Phlex

2025-03-03
Say Goodbye to ERB: Crafting Email Templates in Pure Ruby with Phlex

Tired of using ERB for email templates in Rails? This article demonstrates how to use Phlex, a Ruby library, to write HTML email templates in pure Ruby, eliminating the hassle and inefficiency of ERB. The author details the steps to migrate from ERB to Phlex, including creating Phlex views and layouts, and using roadie-rails for inline styles, ultimately achieving the elegant goal of a zero-ERB Rails application. The article also includes complete code examples and test cases to help readers get started quickly.

Development Email Templates

TrapC: A Safer C Extension

2025-03-03
TrapC: A Safer C Extension

TrapC is a new extension of the C programming language designed to enhance memory safety. Removing keywords like `goto` and `union`, and adding `trap` and `alias`, TrapC incorporates C++ features such as constructors and destructors. It boasts automatic memory management, preventing leaks, and uses lifetime management for pointers instead of garbage collection. Despite its minimalist design—maintaining the same keyword count as C—it surprisingly offers significant C++ code compatibility. Presented at an ISO C meeting, TrapC aims to address memory safety concerns more comprehensively than other existing proposals.

Development Language Extension

CBOR vs. MessagePack: A Contentious Serialization Showdown

2025-03-03

The author grapples with choosing between MessagePack and CBOR for a shared programming language, prioritizing performance and ease of understanding. While MessagePack boasts a cooler, simpler interface, CBOR demonstrates significantly faster encoding/decoding speeds (approximately 200% faster in benchmarks). Despite CBOR's more complex documentation, its superior design ultimately wins out. The author chooses CBOR but acknowledges the political baggage influencing their decision.

Development

Tangled: A Decentralized Git Collaboration Platform Built on AT Protocol

2025-03-03

Tangled is a new social-enabled Git collaboration platform built on the AT Protocol, aiming to give developers full ownership of their code, enable open-source communities to self-govern, and make coding social and fun again. Combining the strengths of ActivityPub's federated model and Radicle's P2P approach, it uses lightweight 'knots' servers to simplify Git repository hosting. Tangled offers free managed knots and a consolidated app view at tangled.sh for seamless access and collaboration across the network. Still in its infancy, the team is building with a focus on data ownership, low barrier to entry, and a great user experience. Currently invite-only.

Development

Yoke: Infrastructure as Code, for Real

2025-03-03
Yoke: Infrastructure as Code, for Real

Tired of tools like Terraform only offering configuration, not code? Yoke lets you write infrastructure definitions in Go or Rust, compiles them to WebAssembly, and generates Kubernetes manifests. This avoids the security risks of runtime dependencies. Air Traffic Control, a Kubernetes operator, enables declarative infrastructure management, simplifying deployment. The author demonstrates how Yoke, using Custom Resource Definitions (CRDs), streamlines application deployment and explains its WebAssembly-based security sandbox.

VectorChord-BM25: Supercharging PostgreSQL Full-Text Search

2025-03-03
VectorChord-BM25: Supercharging PostgreSQL Full-Text Search

VectorChord-BM25 is a new PostgreSQL extension leveraging the BM25 algorithm and Block WeakAnd algorithm to significantly improve the speed and accuracy of PostgreSQL's full-text search. It simplifies the search process and seamlessly integrates with PostgreSQL. Compared to ElasticSearch, VectorChord-BM25 achieves 3x higher Queries Per Second (QPS) on average for Top 1000 queries and comparable or even superior NDCG@10 scores, but requires careful alignment of tokenization strategies for fair benchmarking.

Development

Chrome Prototypes Powerful CSS Functions: Expanding CSS Capabilities

2025-03-02
Chrome Prototypes Powerful CSS Functions: Expanding CSS Capabilities

Chrome is prototyping CSS Functions, a game-changer for CSS. This allows developers to create custom functions that compute values based on parameters and custom properties, acting as advanced custom properties. For instance, a `--light-dark()` function could return different colors or font weights depending on system dark mode preference, overcoming limitations of the built-in `light-dark()` function. While still in prototype form in Chrome Canary (requiring the Experimental Web Platform Features flag), this opens up massive possibilities for more expressive and flexible CSS.

Development

Prompting LLMs in Bash Scripts: The ofc Tool

2025-03-02
Prompting LLMs in Bash Scripts: The ofc Tool

A new tool, ofc, simplifies integrating Ollama LLMs into bash scripts. It allows for easy system prompt swapping, enabling comparison of model behavior across different prompts. The author demonstrates its use in generating datasets for testing Harper and even having the LLM generate its own prompts for deeper analysis. Installation is straightforward via cargo.

Development Bash Scripting

Nvidia GPUs on a Bare-Metal Kubernetes Cluster with NixOS: A Rabbit Hole Adventure

2025-03-02

To scale his machine learning framework, MAZE, the author attempted to enable Nvidia GPU support on his Kubernetes cluster, comprising three mini-PCs and a retired workstation. This proved far more challenging than anticipated, involving hurdles such as configuring the Nvidia device plugin, navigating the complexities of a NixOS environment, and deploying PKI certificates. He ultimately succeeded, sharing his experiences deploying a Kubernetes cluster using NixOS, Ansible, and Sops, alongside a deep dive into CRI, CDI, nvidia-container-toolkit, and more. He also developed nix-playground, a tool to simplify patching and building open-source projects, and leveraged Grok 3 for debugging. Along the way, he encountered further challenges like PyCharm issues with WSL NixOS and Kubernetes RuntimeClass configuration. The entire journey, akin to Alice's Adventures in Wonderland, highlights the author's impressive execution power and problem-solving skills.

Development

Rotors vs. Quaternions for 3D Graphics Rotations?

2025-03-02

This article delves into the mathematical theory and practical application of using rotors for rotations in 3D graphics rendering. Rotors, stemming from geometric algebra, offer a potentially more elegant and simpler alternative to quaternions. The article begins with a theoretical explanation of concepts like the wedge product and geometric product, showing how they enable vector reflection and rotation. It then provides C++ code examples demonstrating the creation, combination, inversion of rotors, and their application to vector transformations and matrix generation. Finally, it discusses rotor interpolation methods, including nlerp and slerp, analyzing their strengths and weaknesses.

LLM Code Hallucinations: Not the End of the World

2025-03-02

A common complaint among developers using LLMs for code is the occurrence of 'hallucinations' – the LLM inventing non-existent methods or libraries. However, the author argues this isn't a fatal flaw. Code hallucinations are easily detectable via compiler/interpreter errors and can be fixed, sometimes automatically by more advanced systems. The real risk lies in undetected errors only revealed during runtime, requiring robust manual testing and QA skills. The author advises developers to improve their code reading, understanding, and review capabilities, and offers tips to reduce hallucinations, such as trying different models, utilizing context effectively, and choosing established technologies. The ability to review code generated by LLMs is presented as valuable skill-building.

Development

SmallPond: A Lightweight Data Processing Framework

2025-03-02
SmallPond: A Lightweight Data Processing Framework

SmallPond is a lightweight, high-performance data processing framework built on DuckDB and 3FS. It scales to handle petabyte-scale datasets without requiring long-running services and supports Python 3.8-3.12. Its simple API allows for easy data loading, processing, and saving. Benchmarked using GraySort on a cluster of 50 compute and 25 storage nodes running 3FS, SmallPond sorted 110.5 TiB of data in 30 minutes and 14 seconds, achieving an average throughput of 3.66 TiB/min.

Development

Interactive Web App: An Orwellial

2025-03-02

This post describes a heavily interactive web application requiring JavaScript. The author rejects the term 'Bluetorial,' instead dubbing it an 'Orwellial' and including a humorous GIF. This suggests the app is complex and interactive, far beyond a simple HTML interface.

Development Interactive

The 'Other' Trap in Enums: Version Compatibility and Open Enums

2025-03-02
The 'Other' Trap in Enums: Version Compatibility and Open Enums

This article discusses the pitfalls of using an 'Other' value (e.g., WidgetFlavor::Other) in C++ enums. Adding new enum values presents a challenge: how to handle them and maintain compatibility with older code versions. The author suggests avoiding 'Other' altogether and declaring the enum as open-ended, letting programs handle unrecognized values independently. This elegantly solves version compatibility issues, preventing confusion when adding new enum values and ensuring smooth transitions between old and new code.

Development Version Compatibility

TypeScript 5.8 Bids Farewell to Enums: A Dignified Exit

2025-03-02
TypeScript 5.8 Bids Farewell to Enums: A Dignified Exit

TypeScript 5.8 introduces the `--erasableSyntaxOnly` flag, effectively ending the era of enums and namespaces. While literal unions offer superior ergonomics, the author expresses nostalgia for enums. The article highlights a key advantage of enums: superior documentation support for members, including deprecation notices, crucial in large codebases, a feature lacking in literal unions. The author urges the TypeScript team to improve documentation support for literal unions in future releases.

Development enums literal unions

CSRF, CORS, and the Same-Origin Policy: A Browser Security Tug-of-War

2025-03-02

This article delves into the web security mechanisms of CSRF (Cross-Site Request Forgery) and CORS (Cross-Origin Resource Sharing). While both relate to cross-site requests, their functions and mechanisms differ significantly. By default, browsers enforce the same-origin policy, restricting cross-site writes but permitting cross-site reads. CSRF exploits vulnerabilities in this policy, while CORS provides a mechanism to allow specific cross-site requests. The article analyzes the impact of the SameSite attribute on CSRF, the crucial role of browsers in the overall security architecture, and notes that browser adoption of the SameSite=Lax default will directly affect internet security.

Development

DeepSeek's smallpond and 3FS: Scaling DuckDB to Petabytes

2025-03-02
DeepSeek's smallpond and 3FS: Scaling DuckDB to Petabytes

DeepSeek AI has released smallpond and 3FS, designed to extend the DuckDB database to handle petabyte-scale datasets. smallpond is a lightweight distributed data processing framework enabling DuckDB to process data in parallel across multiple nodes, while 3FS is a high-performance parallel file system leveraging SSDs and RDMA networking for extreme throughput. However, deploying and using these tools is complex, requiring specialized hardware and DevOps expertise. For datasets under 10TB, a single-node DuckDB instance or simpler solutions are more efficient. Only when dealing with massive datasets do smallpond and 3FS show their advantages.

The Rise of Agentic Business Objects: Data That Works for You

2025-03-02
The Rise of Agentic Business Objects: Data That Works for You

For decades, business data has been passive, waiting for humans to process it. Now, AI is giving data agency. This article explores the concept of Agentic Business Objects (ABOs), intelligent entities that can autonomously handle workflows, coordinate resources, and even communicate with other systems. Using the example of an invoice, the author demonstrates how ABOs can independently manage approval, payment, and reconciliation processes. The article envisions applications across sales, support, and HR, transforming enterprise software architecture and freeing humans to focus on higher-value work. This shift moves us from data operators to process orchestrators, unleashing human potential for creativity and innovation.

Development Enterprise Software

Falsehoods Programmers Believe About Languages: A Hilarious Debunking

2025-03-02
Falsehoods Programmers Believe About Languages: A Hilarious Debunking

This article humorously debunks common misconceptions programmers hold about programming languages in the context of software localization. From assuming all languages have the same sentence structures and word lengths as English, to believing translations always maintain the same length, the article highlights the absurdity of these assumptions. It underscores the importance of understanding linguistic diversity and cultural nuances in software development and localization.

Development software localization

Ladybird Browser Project Monthly Update: Million-Level WPT, Embracing OpenSSL

2025-03-02
Ladybird Browser Project Monthly Update: Million-Level WPT, Embracing OpenSSL

The Ladybird open-source browser project made significant progress this month, merging 281 PRs from 35 contributors. The number of passing subtests in Web Platform Tests (WPT) exceeded 1.77 million, moving closer to the 90% pass rate target for iOS alternative browser engines. The project adopted OpenSSL to replace its homegrown cryptography library and migrated the networking stack to curl. It also added support for Firefox DevTools, improving debugging efficiency. Furthermore, Ladybird added features such as CSS image cursors, new CSS pseudo-classes, text decoration error highlighting, and implemented TextEncoderStream and the Resource Timing API. Style invalidation mechanisms were optimized, and aarch64 Linux continuous integration was added.

Development

Recommendarr: AI-Powered Movie & TV Recommendations

2025-03-02
Recommendarr: AI-Powered Movie & TV Recommendations

Recommendarr is a web application that leverages AI to provide personalized movie and TV show recommendations based on your Sonarr, Radarr, and Plex libraries. It directly integrates with Sonarr and Radarr to analyze your media collections, and optionally with Plex to incorporate your watch history for even better recommendations. Support for OpenAI, local models (Ollama/LM Studio), and any OpenAI-compatible API is included. Customize recommendation counts, model parameters, and more, with dark/light mode and poster image display. Easily installable via Docker or manual installation. Your data remains private; it's never sent to external servers.

1 2 147 148 149 151 153 154 155 214 215