Your leaking thatched hut during the restoration of a pre-Enlightenment state.

 

Hello, my name is Judas Gutenberg and this is my blaag (pronounced as you would the vomit noise "hyroop-bleuach").



links

decay & ruin
Biosphere II
Chernobyl
dead malls
Detroit
Irving housing

got that wrong
Paleofuture.com

appropriate tech
Arduino μcontrollers
Backwoods Home
Fractal antenna

fun social media stuff


Like asecular.com
(nobody does!)

Like my brownhouse:
   vegetable soup
Wednesday, April 30 2025
Today in the workplace was the 70th birthday of the king of the lunchroom court, though he was no less insufferable today than he is on other days. Someone had bought him a tray of brownies, but of course they weren't vegan. He likes to talk to me like I am an ignorant eight year old, but the things he holds forth about as profound wisdom to dispense are mostly things I have known since I was a preteen, such as the fact that there are a number of modern languages that are related to Latin. Between his lunchroom court, the bits of morning zoo I listen to on my drive to work, inane applications of large language models, and news coming out of the second incarnation of the Trump administration, I am exposed to substantially more profoundly unintelligent thought than was the case a few short months ago.
In the workplace today, I had a number of unpleasant struggles with technology. The first came this morning, when I realized I had no test credit card test data for a new procedure (in Oracle SQL) I'd written. So I had to create that data. But in a relational database containing lots of strict foreign key requirements, you can't just add a record. That record will have foreign keys in it, and those keys must point to entities that exist. And those entities will have foreign keys that must point to other entities that exist. You end up with a huge tree of dependencies just to add a single record to a credit card transaction table. But this is the sort of thing I've had to do before, so I knew what to do and the importance of documenting the process with sample insert statements.
Later, though, I wanted to test the new procedures I'd written after seeing that no data was coming from the C# services that were ultimately calling them. In Microsoft SQL Server, you can just run the procedures in Query Analyzer and see what they do. But Oracle procedures are fundamentally different. For starters, they do not really behave like functions that produce recordsets (tables). Instead, they return pointers to a cursor that can be manipulated programmatically to produce a recordset. But this manipulation requires lots of procedure-specific boilerplate that has to be specified in a very particular way. In the days before large language models, my eyes would've glazed over and I would've found ways to procrastinate the chore for the rest of the week. But it seemed simple enough to ask ChatGPT what I needed to. This is where my nightmare began. The problem was that ChatGPT seemed to think that the boiler plate code needed to be escaped in a certain way, a way that for some reason caused all the code to end with a single forward slash all by itself on a line. (I've seen this sort of thing before in MySQL, where, due to the nature of the language and the way carriage returns or perhaps other characters are interpreted, one has to specify a new delimiter at the top and the unspecify it at the bottom, a process that seems incredibly hacky and is difficult to communicate.) But ChatGPT was wrong; that trailing slash always produced an error. So then I'd ask ChatGPT to try something else. It kept coming up with new ideas with its usual cheer, but when I figured out that I was trapped in a LLM loop, I switched over to using Microsoft's Copilot, which is another, similar, large language model. Copilot actually seemed to work better, though over time it ate up all the resources on my work-issued laptop and it ground to a halt. I'd have to quit Microsoft Edge (where Copilot lives as something of a parasite) and start over, and Copilot would lose all the context of the previous session (unlike ChatGPT, I've been using it without setting up an account). In the course of numerous such cycles, I came to understand that there was actually a syntactical problem somewhere in the code in the package I'd compiled. This kind of blew my mind, because it had compiled just fine. (In Microsoft SQL Server, one cannot compile SQL with syntax errors, and when the compile fails, it tells you where the errors are.) But I also had another, unrelated problem. It turns out that in Oracle packages, one doesn't just compile the body of the package; one also has to compile a separate specification, which only contains the interfaces for the procedures. This is akin to the concept of header files in C and C++. I was clearly struggling with this problem when I was asking questions of both ChatGPT and Copilot, though neither asked if I'd also remembered to compile the specification. It was only when I finally broke down and asked the lead developer what the problem was that he reminded me of something he'd mentioned in passing way back on day one: that Oracle packages have separate specifications that need to also be compiled. This is yet another demonstration that large language models are not yet a good substitute for comprehensive human knowledge.

Meanwhile Gretchen had messaged me to tell me that Roseanne, our least favorite neighbor, had left a message on our answering machine about Charlotte's incessant barking, which had apparently gone on for hours while the dogs were unattended at home on Tuesday. We fucking hate Roseanne, but Gretchen conceded that in this case she had a point. So before Gretchen went to the bookstore today, she barricaded the pet door to keep the dogs (and, incidentally, the cats) bottled up indoors. I don't know what changed with Charlotte recently, but for some reason now she frequently enters a state where she barks for hours and hours at a time in that piercing bark of hers. I don't know what can be done about it, but today I ordered an ultrasonic dog barking discourager, which I figure we can place at the north end of the house, the place she often does her barking from (and not all that far from Roseanne's house).

As you know, Donald Trump's on-again-off-again tariffs have me rushing to buy all the cheap Chinese electronics I think I will be needing for the next four years, including that ultrasonic barking discourager I bought today. Some months ago, even before the tariffs (and rumors of tariffs) started fucking up American supply chains, I started using AliExpress, mostly because there are electronics on there that are impossible to get on eBay. The prices are also very good, though sometimes what I buy is not what I actually actually get, and, when I go back to look at the description, it's just vague enough to make me think perhaps the fault lay with me. Still, AliExpress had worked well enough to have me thinking I could maybe use it to buy expensive things, like a $400 air conditioner for the top-floor apartment in the Downs Street brick mansion. So several weeks ago I ordered one. For some time thereafter, it seemed to be stuck somewhere in shipping. Then, all of a sudden, on April 21st, I got a message from AliExpress saying it had been delivered back on April 14th. It had most certainly not been delivered, and the tracking I'd been provided seemed extremely dubious, never listing any actual places. Confusingly, in other parts of the AliExpress website, this same order was listed as "Awaiting delivery." So I disputed the whole transaction. I even used AliExpress's live chat option, which connected me with an effusively-cheerful personality (AI or otherwise) with rudimentary English skills. "She" assured me there was nothing to worry about and that I was a valued customer. But "she" didn't seem capable of answering any of my direct questions, no matter how pithy I was in expressing them. Today I received AliExpress' decision on my dispute: that I would not be getting my refund because the parcel had been "delivered." I got back onto the live chat with another similarly cheerful personality, who again assured me I had nothing to worry about and responded to my questions by saying that I was a valued customer without actually answering any of them. None of this gave me any faith in AliExpress, so I also got in contact with Gretchen to tell her to call our credit card company to dispute the charge, which had appeared in our latest credit card statement.


The suspect tracking for that air conditioner from AliExpress.

All the trouble today with technology, coupled with Donald Trump's continued ennazification of America, and fretful thoughts about Charlotte's newly disruptive pattern of barking had me feeling out of sorts on the drive home, despite the beautiful weather. And then a little brown bird appeared out of nowhere as I sped down Hurley Mountain Road. I looked in my rearview mirror and saw it a flopping about on the roadway, my first confirmed roadkill while commuting to and from this particular job. It felt kind of ominous, though I was pretty sure it wouldn't take long for me to get over the blast of existential sadness this vision gave me.

After walking Charlotte on a loop that involved the Farm Road and the scrub-forested bluffs to its west (thereby avoiding known porcupine habitat), I started working on dinner. The plan tonight was to make a soup and to do so without following any recipes, just using what I've learned over the last few months while greatly expanding my repertoir of things I am not afraid to cook. I'd made an Instant Pot minestrone soup using a recipe, and years ago I'd made an Asian "sick soup" (soup for someone who is sick) following a recipe that Gretchen had given me. But otherwise I'd never made a soup. I knew from experience that the key to cooking potatoes was to boil the hell out of them, so I started with some bouillion broth and three chopped up potatoes. Then I pan-seared some mushrooms and onions, added that to the mix with a chopped up head of broccoli, cut up a couple carrots, a stalk and a half of celery, and threw in a can of kidney beans and diced tomatoes. To beef up the flavor, I used a lot of paprika, some cayenne pepper, and a fair amount of black pepper. After nearly 45 minutes of cooking on the stove, it tasted pretty good, and it ended up being a successful soup.


For linking purposes this article's URL is:
http://asecular.com/blog.php?250430

feedback
previous | next