Minifeed is a curated blog reader and blog search engine. We collect humans-written blogs to make them discoverable and searchable. Sign up to subscribe to blogs, follow people, save favorites, or start your own blog.
What Building Self-Hosted LLM Systems Taught Me About Software

Recently I have been working on what I guess is called an LLM agent, but it’s more just building more ergonomic tools for myself to use LLMs in my life. The code base keeps growing, and I use it to help write itself. What I have noticed is that the patterns I have made for making code more intelligible to LLMs also apply to making code more...

0049: hytradboi 2025, consulting, zest progress, labeled continue, bet against sql, zero-cost costs in debug, packed memory arrays, papers, books

hytradboi 2025 HYTRADBOI is coming back in 2025, this time with a programming languages track. I have 14 speakers confirmed so far, but there is still plenty of room. Let me know who you want to see!

Brainstorming a design for audio note transcription

This evening, I started to think about what the experience should be on audio notes. Could I offer transcriptions? What would that look like? What design elements should I have on the page? What features could I add to afford greater utility to the transcript, like search? I explore these questions in the below audio note, with additional...

The longevity of technical documents

I have recently been reflecting on how technical writing goes out of date, and what that means as a technical writer. In the voice note below, I explore how technical documents have relevance far beyond their immediate utility as a reference material. Your browser does not support the audio tag.

A Monologue on Modality

At Homebrew Writing Club this evening, we spoke about modalities of content: of writing, audio, video, and more. We also spoke about the best way to make something is to get started, and to make it as easy as possible to get started. For example, instead of worrying about how to classify content, you can write or make it, then classify it later....

The Static Site Paradox

In front of you are two personal websites, each used as a blog and to display basic contact info of the owner:One is a complex CMS written in PHP that requires a web server, multiple workers, a Redis cache, and a SQL database. The site also has a big frontend component that loads as a Single Page Application and then performs navigation by requesting the content in JSON form, which then gets "rehydrated" client-side.The other is a collection of static HTML files...

TCP Server in Zig - Part 3 - Minimizing Writes & Reads
openmymind.net | 8 Oct 2024 | original ↗

Before we look at making our server multi-threaded, and then move to polling, there are two optimization techniques worth exploring. You might think that we should finalize our code before applying optimizations, but I think optimizations in general can teach us things to look out for / consider, and it's particularly true in both these cases. In...

Two Workflow Tips
matklad | 8 Oct 2024 | original ↗

An article about a couple of relatively recent additions to my workflow which I wish I knew about years ago.

WHOIS vulnerabilities and TLDs

Most of the Internet is held together by best practices and good intentions, and WHOIS servers are one of those. One security company was investigating vulnerabilities in WHOIS and got a whole lot more than they bargained for: Each TLD (the bit at the end of the domain), you see, has a separate WHOIS server, and there’s no real standard to...

Scripting News turns 30
Waxy.org | 7 Oct 2024 | original ↗

there's a nice companion piece for Dave Winer's milestone in The Guardian #

When imperialism ends, so too might the popular .io ccTLD

The UK will give sovereignty of Chagos Islands to Mauritius: Half a century or more after the UK relinquished control over almost all its global empire, it has finally agreed to hand over one of the very last pieces. It has done so reluctantly, perhaps, but also peacefully and legally. The Chagos Islands are also known as the British Indian Ocean...

Building a robust frontend using progressive enhancement

When the gov.uk team offer a rundown like this, you have to read it because that team are some of the best in the business of great user experience. We’re so lucky in the UK because anything government related is so easy to use. They are, of course very into progressive enhancement to achieve those excellent results. For users to experience a...

Thoughts on the Treasurer Role at Tech NonProfits

Thoughts on the Treasurer Role at Tech NonProfits Will Vincent, Django Software Foundation treasurer from 2020-2022, explains what’s involved in the non-profit role with the highest level of responsibility and trust. Tags: dsf, django

No Feedback ∴ No Good
Two-Wrongs | 7 Oct 2024 | original ↗

The strange character in the middle of the title is a maths symbol pronounced therefore. When looking for a new job I got interviewed by a ceo who had formerly worked as a security advisory consultant. This meant their job used to be advising large organisations on the status of the softer parts of their security systems: people, processes, information barriers, etc. This was something I’d always been curious about, so I...

Niceferatu Comic now has a proper link.
HexDSL.com | 7 Oct 2024 | original ↗

Those who follow me on various places such as Discord, or Bluesky, or Void will know that I have a great time making a silly little comic called Niceferatu about a nice Vampire fella and his friend ‘Stalk,’ and cat...

The BananaPi M5 Pro
Tao of Mac | 7 Oct 2024 | original ↗

I’m down with the first flu of the season, so I thought I’d write up my notes on the Banana Pi M5 Pro and how it’s fared as part of my increasingly eclectic collection of single-board computers in the post-Raspberry Pi age. Disclaimer: Banana Pi sent me a review unit (for which I thank them), and this article follows my Review Policy. Also known...

Fiction and Finance

Recommendations of works of fiction of interest to financial practitioners or enthusiasts.

Windows dynamic linking depends on the active code page
null program | 7 Oct 2024 | original ↗

Windows paths have been WTF-16-encoded for decades, but module names in the import tables of Portable Executable are octets. If a name contains values beyond ASCII — technically out of spec — then the dynamic linker must somehow decode those octets into Unicode in order to construct a lookup path. There are multiple ways this could be done, and...

What's New In Python 3.13

What's New In Python 3.13 It's Python 3.13 release day today. The big signature features are a better REPL with improved error messages, an option to run Python without the GIL and the beginnings of the new JIT. Here are some of the smaller highlights I spotted while perusing the release notes. iOS and Android are both now Tier 3 supported...

What's New in Ruby on Rails 8

What's New in Ruby on Rails 8 Rails 8 takes SQLite from a lightweight development tool to a reliable choice for production use, thanks to extensive work on the SQLite adapter and Ruby driver. With the introduction of the solid adapters discussed above, SQLite now has the capability to power Action Cable, Rails.cache, and Active Job effectively,...

Ryan Dahl Talks Deno on The Changelog

Ryan Dahl was on The Changelog to talk about Deno 2 specifically and his work on JavaScript more broadly. What follows are a few things that stood out to me. His Regrets From Node Are Now in Deno I think it’s interesting that Ryan’s famous talk 10 Things I Regret About Node.js served as the manifesto and launching point for Deno. And yet, he’s...

What do calculators tell us about meaning?

Abstract: When I use a calculator to tell me that 245 × 46 = 11,270, I learn something that I didn’t know before, even though calculators don’t have any beliefs or knowledge. Even small children know how to count things, and it is through our own capacity to enumerate and count things that we learn basic arithmetic. Calculators do not count...

Datasette 0.65

Datasette 0.65 Python 3.13 was released today, which broke compatibility with the Datasette 0.x series due to an issue with an underlying dependency. I've fixed that problem by vendoring and fixing the dependency and the new 0.65 release works on Python 3.13 (but drops support for Python 3.8, which is EOL this month). Datasette 1.0a16 added...

The Relational Derivative Pt. 2: Groups are Good

Last week we talked about the notion of the relational derivative and its application to enforcing integrity constraints in databases. The relational derivative is defined by And we can compute it by rearranging: We can use this to do things like incrementally update a query in response to new data, or to tell whether or not a query will change...

The Relational Derivative Pt. 2: Groups are Good

Last week we talked about the notion of the relational derivative and its application to enforcing integrity constraints in databases. The relational derivative is defined by And we can compute it by rearranging: We can use this to do things like incrementally update a query in response to new data, or to tell whether or not a query will change...

My October 7 post

For weeks I agonized over what, if anything, this post should say. How does one commemorate a tragedy that isn’t over for millions of innocents on either side? How do I add to what friend-of-the-blog Boaz Barak and countless others have already written? Do I review the grisly details of Black Shabbat, tell the stories […]

The costs of the i386 to x86-64 upgrade

If you read my previous article on DOS memory models, you may have dismissed everything I wrote as “legacy cruft from the 1990s that nobody cares about any longer”. After all, computers have evolved from sporting 8-bit processors to 64-bit processors and, on the way, the amount of memory that these computers can leverage has grown orders of...

Flickr Foundation at iPres 2024 →
alexwlchan | 7 Oct 2024 | original ↗

In September, I went to Belgium for a digital preservation conference. I wrote about what I learnt and what I saw for the Flickr.org blog.

The Ultimate Guide to Error Handling in Python

I often come across developers who know the mechanics of Python error handling well, yet when I review their code I find it to be far from good. Exceptions in Python is one of those areas that have a surface layer that most people know, and a deeper, almost secret one that a lot of developers don't even know exists. If you want to test yourself...

Never Send me a TikTok Video

Today a friend shared a video on TikTok with me that I promptly sent to my wife because I knew she would find it funny. It is funny (this is a non-tracked link). A few hours later that friend said "Oh your wife has watched it" because TikTok notified him, with her username, that she had watched it. What the actual fuck. Every time you share a...

Eloquent Javascript (e-book) giveaway!

I’m excited to offer the next giveaway, 10 [Eloquent Javascript] e-books ($39.99 value each). Whether you’re just getting into web development or are an old hand, this book contains excellent knowledge and tips for Javascript developers. The latest edition updates for current web development practices and tools. From the developer: The fourth...

I Finally Saw, and Used, an App Clip

I was at a wedding on Friday and when we sat down for the wedding breakfast there was a QR code on the table to prompt us to take photos. I scanned it and to my surprise it was an App Clip for POV camera[1]. This is the first time the seven years since they were introduced that I've seen one - I assumed they didn't exist any more. POV camera is...

Some notes on upgrading Hugo
Julia Evans | 7 Oct 2024 | original ↗

Warning: this is a post about very boring yakshaving, probably only of interest to people who are trying to upgrade Hugo from a very old version to a new version. But what are blogs for if not documenting one’s very boring yakshaves from time to time? So yesterday I decided to try to upgrade Hugo. There’s no real reason to do this – I’ve been...

The Credit Vacuum

Being a developer sometimes feels like being the goalkeeper in a soccer match. You make a hundred great saves, and no one bats an eye. But let one ball slip through, and suddenly you're the village idiot.

How to Launch Software Projects On Time and On Budget

Learn the art of scope management to keep your projects fixed in time and cost

This Post Is Not About Python
iRi | 7 Oct 2024 | original ↗

Pure Python is generally a slow language. Written for performance, it will often be around 40-50 times slower than C, and Python “written for performance” is Python that is very straightforward and does not use many of its features. Python code that has a couple of methods on inherited classes, maybe a non-trivial decorator, and some __getattr__...

The hidden nuance of the JavaScript File API
nickb.dev | 7 Oct 2024 | original ↗

Did you know that the files originating from an file input don’t have all their data buffered into memory? Seems intuitive that this is how JS would work, otherwise web sites operating over files would be terribly memory inefficient. Don’t let this efficient File deceive you. If you create one yourself, you’ll soon find that you need to buffer...

Building a Single-Page App with htmx

People talk about htmx as though it's saving the web from single-page apps. Well, I guess I missed the memo, because I used htmx to build a single-page app.

Enabling LE Audio/LC3 in WF-1000XM5
kokada | 7 Oct 2024 | original ↗

One of things that I hate the most about the fact that we are all using wireless earbuds instead of wired earphones is the latency: it is bad, getting up to seconds(!) depending on your particular combination of OS/earbuds/device. There is a solution though: Bluetooth LE Audio, that is supposed to fix multiple issues with the original design for...

Can You Get Root With Only a Cigarette Lighter?

By David Buchanan, 7th October 2024 Spoiler alert: Yes. the elite hacking tool they don't want you to know you already own Before you can write an exploit, you need a bug. When there are no bugs, we have to get creative—that's where Fault Injection comes in. Fault injection can take many forms, including software-controlled data...

Music Monday: The Sound

The melody of The Sound by Carly Rae Jepsen plays in the background as I write the opening sentence for this blog post. When I hear a song in a playlist that I love, I often take a screenshot of the song name to remind me to listen to the song later. I often forget to go back and look at the songs. This weekend, however, I decided to look through...

Licensing can be joyful (and legally dubious)
ntietz.com blog | 7 Oct 2024 | original ↗

Software licenses are a reflection of our values. How you choose to license a piece of software says a lot about what you want to achieve with it. Do you want to reach the maximum amount of users? Do you want to ensure future versions remain free and open source? Do you want to preserve your opportunity to make a profit? They can also be used to...

Classification in the age of LLMs: The emoji problem
Duarte O.Carmo | 6 Oct 2024 | original ↗

For the past years Vitto and I have used Tricount to track our shared expenses. The app is actually pretty good, but there’s one small thing that annoys me quite a bit. Even though we spoke English to each other for the first month, we’ve since spoken a …

Two examples of hover styles on images
alexwlchan | 6 Oct 2024 | original ↗

When I hover over an image, I can add a border to a link, or change the colours of an SVG icon.

Travel Tip: USB-C Desktop Chargers

I have travelled a lot this year, and after yet another trip where I lugged too many things around, I’ve been thinking about ways to cut back. The classic guide for this is onebag.com, which covers a very interesting mix of techniques and some carefully-chosen lightweight gear that will take you to the farthest corners of the map. Perma-nomad...

The games that defined me
The Dent | 6 Oct 2024 | original ↗

[IMG_0764.jpeg]I saw a post on Mastodon the other day, suggesting you post about the 20 games had a big impact on you. The challenge was to share one game a day,...

Joy & Curiosity #9
Register Spill | 6 Oct 2024 | original ↗

Interesting & joyful things from the previous week

Fischer, Part 3: Importing and Exporting Bookmarks
Brain Dump | 6 Oct 2024 | original ↗

In order to further iterate on Fischer, I'm going to need to be able to test with a reasonably large pile of bookmarks. That's going to get tedious quickly if I can't import and export them as I experiment. In the past, the shortest path to doing this has been using django-import-export and either a script or django admin integration. I'd prefer...

Futexes in TLA+

Justine Tunney recently wrote a blog post titled The Fastest Mutexes where she describes how she implemented mutexes in Cosmopolitan Libc. The post discusses how her implementation uses futexes by way of Mike Burrows’s nsync library. From her post nsync enlists the help of the operating system by using futexes. This is a great abstraction …...

Effect polymorphism fixes dependency inversion
Clayton's blog | 6 Oct 2024 | original ↗

Local programmer is inconvenienced by error-handling boiler plate, writes uninformed article about experimental programming language features. More at 11.

PHP libraries for PDF handling: evaluation and use case guide
Prahlad Yeri | 6 Oct 2024 | original ↗

PDF generation and processing is a common requirement in many web applications, especially for generating invoices, reports, or documents dynamically. PHP provides various libraries to handle PDF creation, manipulation, and extraction. In this article, we will evaluate the most popular PHP libraries for PDF handling, breaking down their pros and...

How do HTTP servers figure out Content-Length?
aarol.dev | 6 Oct 2024 | original ↗

Anyone who has implemented a simple HTTP 1.1 server can tell you that it is a really simple protocol. Basically, it’s a text file that has some specific rules to make parsing it easier. All HTTP requests look something like this: 1 GET /path HTTP/1.1\r\n Host: aarol.dev\r\n Accept-Language: en,fi-FI\r\n Accept-Encoding: gzip, deflate\r\n \r\n The...

When should I use String vs &str?
Steve Klabnik | 6 Oct 2024 | original ↗

Oct 06 2024Oct 06 2024 Rust has two main string types: Rust has two main string types: StringString and and &str&str. Sometimes, people argue that these two types make Rust code difficult to write, because you have to think about which one you should be using in a given situation. My experience of writing Rust is that I don’t really think about this very much, and this post is about some rules of thumb that you can use to be like me.. Sometimes, people argue that these two types make Rust code difficult to write, because you have to think about which one you should be using in a given situation. My experience of writing Rust is that I don’t really think about this very much, and this post is about some rules of thumb that you can use to be like me. Level 1: Don’t...Level 1: Don’t...

On programming and poetry (not Python’s tool)
zverok's space | 6 Oct 2024 | original ↗

Some thoughts on how programming’s unlikely relations to poetry, and some implications of those relations I don’t have much time recently to work on articles about programming (especially considering my typical article length); but I have some previously written content to share. This article was drafted as a Twitter thread on my 39th birthday:...

Asheville
ntietz.com blog | 6 Oct 2024 | original ↗

Asheville is in crisis right now. They're without drinking water, faucets run dry, and it's difficult to flush toilets. As of yesterday, the hospital has water (via tanker trucks), but 80% of the public water system is still without running water. Things are really bad. Lots of infrastructure has been washed away. Even when water is back, there...

Smolderingly fast b-trees

(This is part of a series on the design of a language. See the list of posts here.) Many 'scripting' languages use a hashmap for their default associative data-structure (javascript objects, python dicts, etc). Hashtables have a lot of annoying properties: Vulnerable to hash flooding....

Writing a circuit breaker in Go

Besides retries, circuit breakers1 are probably one of the most commonly employed resilience patterns in distributed systems. While writing a retry routine is pretty simple, implementing a circuit breaker needs a little bit of work. I realized that I usually just go for off-the-shelf libraries for circuit breaking and haven’t written one from...

On Ousterhout's Dichotomy
matklad | 6 Oct 2024 | original ↗

Why are there so many programming languages? One of the driving reasons for this is that some languages tend to produce fast code, but are a bit of a pain to use (C++), while others are a breeze to write, but run somewhat slow (Python). Depending on the ratio of CPUs to programmers, one or the other might be relatively more important.

Mruby: Errors in Ruby code and how to find them

In the article about using mrbgems we had a situation when ARGV constant was not defined, but referenced. As a result the code execution failed (the side-effects were not produced), however it did that completely silently. No error message was emitted. And even the exit code was zero. This is obviously bad. So I set to fix it. By examining mruby...

You Can’t Own The Social Web
Bix Dot Blog | 5 Oct 2024 | original ↗

At the end of his apologia for the Social Web Foundation, Ben Werdmuller says this of what he terms both the growth fediverse and the movement fediverse: “Each group is approaching the problem in good faith.” The foundation’s very name disputes this contention. Inherent to the foundation’s formulation of itself and of the social web is the...

More...