Gemini Links 22/03/2025: INTERPOL, DDoS by "Hey Hi" Hype, and RSS/Feed Readers
-
Gemini* and Gopher
-
Politics and World Events
-
INTERPOL
INTERPOL is an international organization charged with policing the number line, hence INTER from integer, and POL from police. Now INTERPOL often is busy with important matters, so it may be good to know how to distinguish a real number line from a fake one, such as those offered by scammers.
-
-
Technology and Free Software
-
Analog: Relays, Machine Unit (publ. 2025-03-21)
I wired up another integrator module, this time using a TG2 5V relay, to switch between IC and OP mode. Using relays, I can have all the integrators driven by one switch. My original idea was to use solid state relays but the TG2 relays are already on hand. I'm only using +/- 15V rails right now, so I just used resistors to bring the current down to the nominal coil voltage for the TG2 5V relay, taking into account the coil resistance.
-
Still no information on who “The Knowledge AI” is or was
“My comment on “Mitigating SourceHut's partial outage caused by aggressive crawlers | Lobsters” [4]”
Even though the log data is a few years old, I don't think that IPs change from ASN (Autonomous System Number) to ASN all that much (but I could be wrong on that). I checked the IPs used by “The Knowledge AI” in May 2018, and in October 2022, and they didn't change that much. They were still the same /24 networks across that time.
Looking up the information today is very disappointing—Hurricane Electric LLC. [5], a backbone provider.
-
Internet/Gemini
-
A different approach to blocking bad webbots by IP address
Web crawlers for LLM-based companies, as well as some specific solutions to blocking them, have been making the rounds in the past few days. I was curious to see just how many were hitting my web site, so I ran a few queries over the log files. To ensure consistent results, I decided to query the log file for last month: [...]
-
No-Internet Integration Tests
For work I setup a fast, simple, and effective integration testing framework. It runs an application and dependencies through docker compose in an internal network that cannot access the internet.
Restricting internet access in tests is important for me, because as software scales, someone is bound to accidentally introduce code in tests that access the broader network. Then your tests break when something is down in the company network or internet and tests become flaky.
Test Containers is a popular way to containerize tests. I had used it years ago at my last job, but I didn't want to set it up here for a few issues:
- Dependencies run in containers, however the tests themselves do not! So nothing is stopping a test from accessing something on the local machine or external network.
- Test Containers try to encourage you to spin up and tear down many containers as part of your integration test runs. While this sounds great in theory, in practice people abuse it and make integration tests that are so slow. It's not too hard/problematic to just clear state between tests. Or writing the docker compose commands to create new containers.
- Test Containers is a layer on docker compose. Docker compose is a layer on docker. Docker is a layer on an OS configuration. I'm a fan of less layers, because less things can go wrong. Not including Test Containers removes a layer of complexity.
-
A deeper dive into mapping web requests via ASN, not by IP address
I went ahead and replaced IP (Internet Protocol) addresses with ASN (Autonomous System Number)s in the log file to find the network that sent the most requests to my blog for the month of February.
-
Now a bit about feed readers
This is feedly [2], a company that offers a news reader [3] (and I'd like to thank the 67 subscribers I have—thank you). The first issue I have about this client is the apparent redundant requests from six different clients. An issue because I only have three different feeds, the Atom feed [4], the RSS (Really Simple Syndication) feed [5] and the the JSON (Javascript Serialized Object Notation) feed [6]. The poller seems to be acting correctly—16 subscribers to my Atom feed and 6 to the RSS feed. The other four? The fetchers? I'm not sure what's going on there. There's one for the RSS feed, and three for the Atom feed. And one of them is a typo—it's requesting “//index.atom” instead of the proper “/index.atom” (but apparently Apache allows it). How do I have 16 subscribers to “/index.atom” and another 37 for “/index.atom”? What exactly, is the difference between the two? And can't you fix the “//index.atom” reference? To me, that's an obvious typo, one that could be verified by retreiving both “/index.atom” and “//index.atom” and seeing they're the same.
-
-
-
* Gemini (Primer) links can be opened using Gemini software. It's like the World Wide Web but a lot lighter.