Bad AI Bots Edge Function Blocker; Ubiquitous NextDNS; Abort Bars; Checking In With Zed & llamafile
It’s Memorial Day in the U.S., which is an artifact of America’s first Civil War. That war concluded in the spring of 1865, and resulted in more casualties than any other conflict in U.S. history, necessitating the creation of the nation’s first national cemeteries. By the late 1860s, Americans across various towns and cities began organizing springtime tributes to honor the numerous fallen soldiers, adorning their graves with flowers and offering prayers. That’s how the tradition surrounding this holiday began.
The Bonus Drop was usurped by actual weekend $WORK-work (that’s a rare occurrence, and this was an important project), so the Drop will not take the holiday off!
But, while there is a Drop today, it’s going to read like I rolled a D20 to pick the topic for each section, as there’s no coherent theme (yes, it’s even more random than the Grab Bad editions).
5 minutes read time
TL;DR
(This is an AI-generated summary of today’s Drop)
- Bad AI Bots Edge Function Blocker: Discusses a configuration for blocking bad AI bots using Netlify’s edge functions, inspired by a conversation with Kevin Reuning. Link
- Ubiquitous NextDNS: Explores the benefits of using NextDNS for DNS query control and monitoring, highlighting its ease of installation and superior ad-blocking capabilities compared to Pi-hole. Link
- Abort Bars: Reflects on the need for improved progress indicators in applications, especially for tasks requiring internet connectivity, inspired by a post on Brecky Units. Link
- The last section covers updates to Zed & llamafile
Bad AI Bots Edge Function Blocker

I was chatting about the nginx/Caddy bad AI bot blocker config with Kevin Reuning over on Bluesky last week. He wanted to at least make an attempt to not let billionaires profit off of a helpful R resource he created. Kevin (like many R/edu folks) uses Netlify, so those configs do not work there.
However, Netlify supports edge functions (TIL!) so Kevin was able to wire up the same regex user agent logic into one.
Ubiquitous NextDNS

NextDNS is a (free, with paid tiers if you use alot of DNS) DNS service that allows you to control and monitor your DNS queries. It provides protection against various security threats, blocks ads and trackers, and ensures a safe internet experience for all devices and networks. Oh, it also supports DNS-over-HTTPS and DNS-over-TLS. Think of it as a managed Pi-hole, with an eye-opening Privacy Policy. So far, they seem to have adhered to it, too.
Now, Pi-holes are easy to run — I ran one for years. But, it’s One More Thing™ to, well, run. That means keep patched, triage when it hiccups, and keep up with new features. So, I switched over to NextDNS a while back.
I think I’ve mentioned that the network infrastructure of the hrbrcompound is Ubiquiti kit. That includes the network-attached doorbell/cam and surveillance cams. There’s “cloud” required for any functionality, and it runs Debian Linux, so you can also “hack” it, to some degree.
NextDNS has a well-done, multi-platform, installer/configurator that, it turns out, works amazingly well on Ubiquiti kit. Ubiquiti does have ad blocking DNS capability, but its nowhere near as good as the Pi-hole.
It took less than a minute to install/configure, too.
If you’re weary of being a Pi-hole admin, or want better blocking in Ubiquiti (or a ton of other routers), you may want to poke a bit at NextDNS.
Abort Bars

This short post got me thinking that “progress bars” do need some type of major overhaul. They’re either like Apple’s “booting” white line that masks all the BSD boot-time log messages from users, or provide way too much task information in unreadable messages that fly by. On mobile devices in rural areas, progress bars are sometimes very laughable entities, since no app seems to have considered the fact that spotty and slow internet connections exist.
The idea of having discrete visualization components for each task — especially ones that require internet/network connectivity — seems like an area more app and OS builders should strongly consider.
If a new CLI project has need for a progress indicator of some sort, I’m going to poke at coming up with a way to make it more clear what’s happening, so folks can have a better idea if there’s any hope of the task succeeding.
Checking In Zed & llamafile

Both Zed and llamafile have had a busy May!
Zed continues to evolve at a fast pace and if you haven’t pressed the “update” link in the bottom left of it in a while, you should! Enhancements to tree sitter (the tech that lets editors have real-time updates to language parse trees) and the ability to have the AI code assistant use any OpenAI-compatible backend are just two of them.
K-Quants, or K-Quantization, is a specific method of quantizing LLMs to reduce memory footprint and compute requirements. This makes them more efficient for deployment on various hardware, including CPUs and GPUs. In llamafile v8.5+, “K quants now go consistently 2x faster than llama.cpp upstream. On big CPUs like Threadripper we’ve doubled the performance of tiny models, for both prompt processing and token generation for tiny model.” The new llamafile-upgrade-engine command also makes it painless to use new llamafile engines.
FIN
Remember, you can follow and interact with the full text of The Daily Drop’s free posts on Mastodon via @dailydrop.hrbrmstr.dev@dailydrop.hrbrmstr.dev ☮️
Leave a comment