Using FreeBSD to make self-hosting fun again

using-freebsd-to-make-self-hosting-fun-again

2025-11-01 – Feeling like a kid in a candy store, once more As evident by my last blog post “A prison of my own making”, I needed to change something about my relationship with technology. How I was doing things didn’t work anymore, but I also felt unable to change anything about it, as the […]

Intervaltree with Rust Back End

intervaltree-with-rust-back-end

This crate exposes an interval tree implementation written in Rust to Python via PyO3. The Python wrapper provides the ability to build a tree from tuples, insert additional intervals, search for overlaps, and delete intervals by their (left, right) key. Requirements Rust toolchain (for compiling the extension module) Python 3.8+ maturin for building/installing the package […]

Why do AI models use so many em-dashes?

If you asked most people to name a defining feature of AI-generated writing, they’d probably say the em-dash — like this. Language models use em-dashes so much that real humans who like em-dashes have stopped using them out of fear of being confused with AI. It’s also surprisingly hard to prompt models to avoid em-dashes: […]

CLI to manage your SQL database schemas and migrations

cli-to-manage-your-sql-database-schemas-and-migrations

Are you doing some ETL project, you don’t want to manage your database schema with raw SQL, and maybe validate data from external tools using those schemas e.g. when using LLM output? Then this tool might help you. shed is a cli tool that acts like an application for your database schemas management using SQLModel […]

Meta readies $25B bond sale as soaring AI costs trigger stock sell-off

meta-readies-$25b-bond-sale-as-soaring-ai-costs-trigger-stock-sell-off

Client Challenge JavaScript is disabled in your browser. Please enable JavaScript to proceed. A required part of this site couldn’t load. This may be due to a browser extension, network issues, or browser settings. Please check your connection, disable any ad blockers, or try using a different browser.

Notes by djb on using Fil-C (2025)

I’m impressed with the level of compatibility of the new memory-safe C/C++ compiler Fil-C (filcc, fil++). Many libraries and applications that I’ve tried work under Fil-C without changes, and the exceptions haven’t been hard to get working. I’ve started accumulating miscellaneous notes on this page regarding usage of Fil-C. My selfish objective here is to […]

LM8560, the eternal chip from the 1980 years

lm8560,-the-eternal-chip-from-the-1980-years

Quick jumps to:– What digital alarm clocks before it were like– Why is the LM8560 so costs effective? The trick, how it works– Typical issues– Its weak point is also its strength– Its “hidden” functions– Some unwanted behaviors– That evil beep beep!– Limitations of use– Make a quartz clock / DC supply clock with the […]

You Don’t Need Anubis

you-don’t-need-anubis

In the past years, scrapers operated by LLM training companies have become more relentless. They no longer respect robots.txt, spoof their User Agents and IP addresses and even DDoS small sites with aggessive requests.This seems to mostly apply to Anthropic’s ClaudeBot. OpenAI’s GPTBot is pretty well documented and easy to block. This has led to […]

Crossfire: High-performance lockless spsc/mpsc/mpmc channels for Rust

crossfire:-high-performance-lockless-spsc/mpsc/mpmc-channels-for-rust

High-performance lockless spsc/mpsc/mpmc channels. It supports async contexts, and communication between async and blocking contexts. The low level is based on crossbeam-queue. For the concept, please refer to the wiki. Version history V1.0: Released in 2022.12 and used in production. V2.0: Released in 2025.6. Refactored the codebase and API by removing generic types from the […]

Writing an Asciidoc Parser in Rust: Asciidocr

I really only ever make something when I want something to exist that doesn’t already, or when I want something that does exist to more readily suit my (admittedly) idiosyncratic needs or thoughts about how it should exist. For better or worse, I have a lot of wants, and so I make a lot of […]