Ah, yes, the classic "I hate #Prolog but let me ramble about it anyway" article, where standardized strings become the hill to die on. 🏔️😅 Because, obviously, the world needed another chapter of 'Why My Code Doesn't Work,' starring the ever-cryptic Prolog. 👨‍💻💥
https://buttondown.com/hillelwayne/archive/my-gripes-with-prolog/ #Programming #CodeQuality #DeveloperHumor #TechRants #HackerNews #ngated
My Gripes with Prolog

It's not my favorite language

Computer Things
Ah yes, Cory Doctorow's latest novella on corporate villainy and union blunders—because "breaking up bad companies" has never been uttered before in the history of tech rants 🤣. But don't worry, there's "no data collection" here, just a buffet of recycled opinions served with a side of righteous indignation 🍽️.
https://pluralistic.net/2025/12/15/class-war-labor-peace/ #CoryDoctorow #CorporateVillainy #UnionIssues #TechRants #RighteousIndignation #HackerNews #ngated
Pluralistic: Break up bad companies; replace bad union bosses (15 Dec 2025) – Pluralistic: Daily links from Cory Doctorow

Every time I ask my smart speaker to set a fifty-minute timer, it acknowledges my request, "fifteen minute timer is set". So, I have to either request a forty-nine or fifty-one minute timer if I don't want the smart speaker setting a fifteen minute timer.

#TechRants
#rants
The purist in me gets a bit annoyed that when I tell my smart speakers to reduce or increase volume X%, the speaker invariably interprets that to X percentage-points instead of actual percent.

I mean, I understand it's easier to implement that way – especially since it means the home automation doesn't need to know what the current volume is. But it's still annoying.

#TechRants
#IoT
#InternetOfShit
😲 Awe shit! Am I the only one 🤔 surprised that Google still expects to be paid 💰 for their crappy AI? The payment 💳 for the woeful Gemini 🌌 has gone...I thought I had a day or two 📆 this week to cancel! 😩
#GoogleAI #PaymentWoes #SurpriseCharge #TechRants #GeminiGone
Goddammit, Red Hat: why do you guys keep publishing new AMIs for backrev RHEL releases?? I mean, I could sorta understand if those AMIs were EUS-configured, but they're not. Worse, because you're not ensuring to publish them chronologically, if my automation does any kind of "use the latest RHEL 8 AMI", I can end up with a RHEL 8.6 or RHEL 8.8 AMI rather than the desired/assumed RHEL 8.9 AMI (and which I get depends on when I've launched vice which day you re-published 8.6 or 8.8 AMIs ...or even 8.9 AMIs).

I shouldn't need to tell my automation, "find the most recent 8.9 AMI". Forcing me to do that means that, once 8.10 drops, I'll have to update my automation if I want
that version.

In short, "publish your fucking AMIs in a way that ensures that the latest 8.X release is also always the newest-available RHEL 8.x AMI".

#TechRants
If you really want to expose DNS or networking issues on a network primarily used to host Windows workloads, deploy a few Linux systems onto that network (or, worse, add NetBackup to a mixed-OS network).

#TechRants

I'm the author and maintainer of the automation-code that my company uses to build Red Hat (and similar) AMIs and Azure VM-templates. One of our customers has decided that they don't want to use CentOS Stream 8 as their "free" EL8 option. Instead, they want to use Oracle Linux 8.

Now, I hate Oracle already. And, their version of RHEL 8 has a lot of annoyances about it. Most recently, discovered that their UEK kernel is
faaaaat.

Prior to our EL8 build-automation, it was always sufficient to have a
/boot partition that was 400-512MiB in size. One that size could usually house up to three kernel-RPMs worth of content. Unfortunately, while that's still true of RHEL 8, CentOS Stream 8 and a couple of the other clones, it's not true of Oracle Linux 8. In investigating what the problem was and to try to forecast how much space I'd need to set aside in Oracle Linux 8's specific disk-geometry, I found:

# df -PH /boot /boot/efi Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p3 762M 434M 328M 57% /boot /dev/nvme0n1p2 64M 5.3M 59M 9% /boot/efi # find /boot -type f | \ xargs rpm -qf --qf '%{name}\n' | \ grep -v not\ owned | \ sort -u | \ xargs rpm -qi | \ awk '$1=="Name" { n=$3} $1=="Size" {s=$3 / 1024 / 1024 } $1=="Description" { printf("%7.3f %s\n",s,n) }' | \ sort -n 0.000 grub2-pc 2.259 grub2-efi-x64 2.726 shim-x64 71.003 kernel-core 109.875 kernel-uek-coreThe above is with only one iteration of the kernel-core and kernel-uek RPMs installed. Looks like, if I want to accommodate two kernels worth of rollback (or just one "new" kernel on top of the running-kernel), I'll need to double or treble the space I need to allocate for RHEL 8, CentOS Stream 8 and a couple of the other clones.

Dammit.

#TechRants

An inspired bit of networking security:

1. Require all VMs in your VPC to pass through a (transparent) proxy to talk to the vendor-managed yum repository (that's hosted in your CSP's networks)
2. Block requests from clients whose IP addresses don't have PTR records

You want to ask, "you
do realize that the clients' DNS entries don't get created until after the clients register themselves to DNS, right? And you understand that the clients need to talk to the yum repository to pull down the binaries necessary to register themselves with DNS? Do you see the problem here?"

Maybe, I dunno, set up your transparent proxy's allow/deny rules to allow any client in a valid IP range to reach its target hosts? Or, if that's too broad an exception, maybe allow any client in a valid IP range to reach that repository server?

#TechRants