Introducing Web Search on the Anthropic API

Today, we’re introducing web search on the Anthropic API—a new tool that gives Claude access to current information from across the web. With web search enabled, developers can build Claude-powered applications and agents that deliver up-to-date insights. Power AI agents with the latest information from the web Developers can now augment Claude’s comprehensive knowledge with […]
How to Average in Prolog (2017)
If I had to average a list of numbers, I would probably do it like this: averagelist(List, Avg) :- length(List, N), sumlist(List, Sum), Avg is Sum / N. This resembles the actual mathematical definition. Then you could just make a list of numbers and average that. @lurker is right, this is a terrible way to […]
Mac Themes Garden

The short version I’ve “launched” the Mac Themes Garden! It is a website showcasing more than 3,000 (and counting) Kaleidoscope from the Classic Mac era, ready to be seen, downloaded and explored! Check it out! Oh, and there also is an RSS feed you can subscribe to see themes as they are added/updated! And yes, […]
Open source Google Analytics replacement

Open Source Web & Product Analytics Rybbit is the modern open source and privacy friendly alternative to Google Analytics. It takes only a couple minutes to setup and is super intuitive to use. View a live demo of Rybbit running on a real-life production site with over a million visits a month. Getting Started You […]
Three Chapters at Cloudflare: Programmer to CTO to Board of Directors

Today, after more than 13 years at the company, I am joining Cloudflare’s board of directors and retiring from my full-time position as CTO. Back in 2012 I wrote a short post on my personal site simply titled: Programmer. The post announced that I’d recently joined a company called CloudFlare (still sporting that capital “F”) […]
Ty: A fast Python type checker and language server, written in Rust

An extremely fast Python type checker and language server, written in Rust. This project is still in development and is not ready for production use. Getting involved If you have questions or want to report a bug, please open an issue in this repository. Development of this project takes place in the Ruff repository at […]
Create and edit images with Gemini 2.0 in preview

Based on the enthusiasm from developers, we are excited to announce that Image Generation capabilities are now available in preview with Gemini 2.0 Flash. Developers can start integrating conversational image generation and editing with higher rate limits via the Gemini API in Google AI Studio and Vertex AI today using the model name “gemini-2.0-flash-preview-image-generation”. What’s […]
Telling Lies: Bowie and Online Music Distribution in 1996

Online music retail was thriving by 1996, thanks to sites like Music Boulevard and CDnow. But music downloads and streaming was more of a challenge — as David Bowie discovered in September 1996. By Richard MacManus | May 7, 2025 | Tags: Dot-com, 1996 The CD version of David Bowie’s online single, ‘Telling Lies’, 1996; via […]
Show HN: eInk optimized manga with Kindle Comic Converter (+Kobo/ReMarkable)

Kindle Comic Converter optimizes comics and manga for eink readers like Kindle, Kobo, ReMarkable, and more. Pages display in fullscreen without margins, with proper fixed layout support. Its main feature is various optional image processing steps to look good on eink screens, which have different requirements than normal LCD screens. It also does filesize optimization […]
Waiting for Postgres 18: Accelerating Disk Reads with Asynchronous I/O

With the Postgres 18 Beta 1 release this week a multi-year effort, and significant architectural shift in Postgres is taking shape: Asynchronous I/O (AIO). These capabilities are still under active development, but they represent a fundamental change in how Postgres handles I/O, offering the potential for significant performance gains, particularly in cloud environments where latency […]