Marshall and I had conversations about sex and relationships. I was still young and a virgin, so there was a lot I still didn’t know about relationships and sex. While sitting with Marshall in his office, we had a conversation about sex that started like this:
I said, “What sexual values should someone have, Marshall?”
Marshall said, “Sam, I will tell you the truth. I haven’t been perfect about my sexuality. I have made a lot of mistakes and have done things I regret doing.”
I said, “Why do you regret having sex? Sex feels good.”
Marshall said, “Yes, you’re right, Sam. Sex does feel good—while you’re getting a piece of ass and having sex with the girl. It’s what you feel afterwards that sucks.
See, when you have sex with someone who don’t really know and don’t love, only the physical act of sex feels good. After the sex is done, you feel shallow and empty.” I said, “So, Marshall, it isn’t a good idea to have casual sex?”
Marshall said, “No, Sam, it isn’t. The truth is that masturbation is more satisfying that having a meaningless purely physical relationship with a girl. Having sex without having feelings for the girl is not what you want to do.”
I said, “What kind of sexual relationship is the best?”
Marshall said, “Again, Sam, I haven’t met this ideal, but the best sex you have is to get together with someone you truly love, have a monogamous relationship, and only have sex with one person for your entire life. That is the best sex you can have.”
I took those words to heart. I lost my virginity to my first wife; we had a baby together and I was there next to her bed as she succumbed to cancer. The sex with her was fantastic and never got old; the more I knew her, the better the sex got.
Deadwood, when sending a RFC8482 reply to an ANY query, would transmit over the network 19 bytes of uninitialized memory. This is a possible (but unlikely) leak of private data. This bug was fixed on September 1, 2026, in commit cd87cfd9; a patch is available, and the Windows 32-bit binary was fixed in commit 0f46565c.
An analysis of the packets for an unpatched Deadwood in Ubuntu 26.04 show no significant information is leaked in those 19 bytes.
This bug does not merit a new MaraDNS release.
Since this is yet another AI-assisted security report, let me discuss my feelings about AI. I am not a big fan of AI:
Environmental impact of countless datacenters being built
Sky high memory and storage prices, making computers too expensive
Jobs being replaced by AI, causing high unemployment
People using LLMs as therapists or even as girl/
Countless security reports to trawl through, most of which are minor
I am proud, however, that no major security hole has been found with MaraDNS in the age of AI (knock on wood). It’s things like:
Denial of service of just the DNS-over-TCP part of Deadwood (which is disabled by default)
A very hard to exploit buffer overflow in a program which hasn’t even compiled since 2022
19 bytes of unallocated heap data can be transmitted over the network. To get any important information from this is nay to impossible.
AI isn’t entirely bad: I would rather have AI answer a question for me than try and find an answer on Stack Overflow.
Also, it’s nice to be able to generate AI summaries of articles, so I can have a local mirror of articles I link to in my blog. Indeed, the AI summaries solve a problem AI has created: Since countless web bots are now being run to train LLMs, websites have retaliated by blocking a large number of IPs. To wit, I need to use a VPN to access one of the big archiving websites out there.
That in mind, I can’t count on a web archive making some news article I link to in my blog permanent anymore; instead I now make an AI summary (to remove copyright from the article; note that this legal trick only works when the article is reporting on facts, since facts are not protected by copyright) so people can get an overview of the news I comment on in my blog.
On Reddit, there were some comments about an article I touched on in yesterday’s blog about a Seattle area online pimp.
I found two postings very interesting—these people look to have been exposed to leftist propaganda for so long, they see men who consume porn as caricatures of evil. They have a hard time fathoming the humanity of the kinds of men who are addicted to porn; they see those men as heartless monsters who merely see women as sex objects.
They overlook parts of the story which contradict the hateful narrative they have created in their head about these men—e.g. they ignore the guy who gave one of the young women some $35,000.
“Flaming-Framing” does frame the issue in a very flamebait manner:
the guy trying to hurt online sex workers by outing them to their family wasn’t doing it because it was his “kink”. He was just angry and bitter that beautiful women can choose to have sex with other people who aren’t him.
I don’t think that was Yo Yo’s motivation, and the fact that “Flaming-Framing” thinks it is means they did not meaningfully read the story. I have an AI summary of just the Yo Yo part of the story they were commenting on, and there is, to put it mildly, a lot of nuance that “Flaming-Framing” didn’t see.
There is not anything in the article to support the notion that he doxxed these young women because he was “angry and bitter that beautiful women can choose to have sex with other people”. Indeed, reading the original copy, it also mentions that “Some speculated that he was an off-duty Baptist preacher”.
I think Yo Yo is, based on the article, better described as a split man. He undoubtedly found the women beautiful and desirable, but he also felt they could contribute more to the world than be virtual sex toys for lonely men. I would say he wanted those women to do better, and he told their families about what these women were doing so that the women could make better life choices. It appears he got the girls to disclose their most intimate secrets to him because, yes, he did deep down truly care for them.
He didn’t tell the families of these young women about their choice to be cam girls to hurt the women because of some imaginary resentment from these women not sleeping with him. He told the families to help the girls. Yes, there was undoubtedly codependency in his behavior, and of course, it wasn’t OK for him to post these women’s real identities online for other porn addicts to see, but, yes, he was very key in getting the digital pimp arrested.
It would seem that this “Flaming-Framing” character has a lot of hatred towards men. She (they?) laments that “our culture is really misogynistic” in another comment.
Because of this hatred, she read the story about someone who, in his own way, did have a lot of care for these women who were online camgirls, and without any evidence decides he just hates women because they won’t sleep with him. Her hatred stops her from having empathy and compassion.
The problem with social media, especially Reddit, it that it’s full of people like “Flaming-Framing” who are too blinded by their hatred and ideology to have empathy for people.
There are a lot of women supporting Lindsay Clacy, a woman who systematically killed her three children. Even the liberal press is saying she shouldn’t be prosecuted for murder.
While there is nuance in Clancy’s story, at the end of the day this comes off as an extreme case of a certain kind of woman. This kind of woman, when told that another woman has done something bad, will, without even knowing the woman, immediately justify the offending behavior, no matter how egregious. These kinds of women who defend another woman’s behavior, no matter what, are the kinds of women I put up strong, healthy boundaries with.
While some academics feel Cofnas should not have been placed on suspension, many more feel his “Race Realism” is downright racist and has no place in academic discourse.
I personally think it’s OK for Cofnas to have his views on race, even though I strongly disagree with him. Where he crossed the line was looking up a Black person’s academic papers to hound him and accuse him of plagiarism—that is something I see as targeted harassment, even if the papers were in fact plagiarized.
World Chess Champion Kasparov is no fan of “Woke 1”, and with good reason: The cancel culture of that era suppressed free speech and reasonable discourse.
Nikita Tyukalo was a webcam “pimp”—he coerced and manipulated girls in to becoming pornographic webcam “models”. He was arrested and currently is in jail; the linked article describes his alleged misogyny, how he ran the operation, and what ultimately tipped off police to arrest him.
While he was, as per the linked article, being very manipulative and even at times violent with those women, the women in question chose to relate with someone who, it would seem, had a very deep hatred of women.
Sometimes, people argue that Lua 5.1 should no longer be supported, and everyone should move on to Lua 5.5. This is not feasible.
As a poster on Lobsters points out, PUC Lua breaks compatibility between point releases, and applications that embed Lua need to not break scripts used by the applications.
There’s a reason I forked Lua 5.1 and named it Lunacy—that guarantees that any future changes to Lua don’t break the scripts I use to make this blog nor the scripts that make MaraDNS’ documentation.
Nathan Cofnas has been suspended for engaging in a witch hunt against a Black professor who apparently killed himself.
I think it’s safe to say that Cofnas would not have placed the late Jason Arday under this much scrutiny if he were White. Indeed, Cofnas was fired from his previous job because of his offensive views on race.
I will link to Cofnas’s investigation into Arday’s history.
The, shall we say, racially motivated people (or are they AIs; hard to tell on today’s internet) at The Motte are, as expected, up in arms about Cofnas’ suspension.
Here is an updated version of sPairs() which won’t raise an error if the table uses functions, booleans, or tables as keys. Like previous version of sPairs(), this function is public domain:
-- Like pairs() but sorted
function sPairs(inTable, sFunc)
if not sFunc then
sFunc = function(a, b)
local ta = type(a)
local tb = type(b)
if(ta == tb) then
if ta == 'number'
then return a < b
end
return tostring(a) <
tostring(b)
end
return ta < tb
end
end
local keyList = {}
local index = 1
for k,_ in pairs(inTable) do
table.insert(keyList,k)
end
table.sort(keyList, sFunc)
return function()
key = keyList[index]
index = index + 1
return key, inTable[key]
end
end
Example usage of the above function:
a={z=1,y=2,c=3,w=4}
for k,v in sPairs(a) do
print(k,v)
end
With a sort function that reverse sorts the elements (assuming all elements are of the same type):
a={z=1,y=2,c=3,w=4}
function revS(a,b)
return a>b
end
for k,v in sPairs(a,revS) do
print(k,v)
end
This improved sorter’s default sort function will no longer raise an error if using unusual table keys (tables, functions, booleans, etc.):
a={}
b={}
a[true]=1
a[function() return 1 end]=2
a[b]=3
a[4]=4
a["5"]=5
for k,v in sPairs(a) do
print(k,v)
end
There is a minor DNS-over-TCP issue with Deadwood. The issue is not serious enough to merit a CVE report nor to make a new MaraDNS release.
If DNS-over-TCP was enabled (it is disabled by default), a remote DNS server could cause the DNS-over-TCP service to not function with a denial of service attack. The issue does not affect DNS-over-UDP operation. This bug was fixed on August 24, 2026, but is not a serious enough bug to merit a new release, since DNS-over-TCP is disabled and really should not be enabled.
If tcp_listen is not in your dwood3rc file, this bug
does not affect you. If tcp_listen is in your dwood3rc
file but has the value 0, this bug still does not
affect you. Only people who have set tcp_listen to have a
value of 1 are affected.
The bug was patched in commit 13c0af9d3c, with a new Windows binary made (a previous commit fixes the source code). There is also a patch available.
This is a minor bug because:
DNS-over-TCP is disabled by default in Deadwood, there is no example configuration file with DNS-over-TCP enabled
People should not enable DNS-over-TCP; it’s not needed for the use cases Deadwood is meant to address (someone using a DNS server in a small work or home network, usually on a small 32-bit or 64-bit router—Deadwood was written to run well on a 32-bit system)
If people want an enterprise DNS server with DNS-over-TCP, they need to pay for an enterprise server. I was not paid a single cent to address this AI-generated security report.
This bug does not merit a new MaraDNS release. I have recompiled the Windows binary with this patch, and have made a one-line patch for this issue. I will make a new release sometime in 2027 with this bug fixed.
It’s nice to see that the only legitimate issues AI generated
security reports have been finding with MaraDNS are issues with the
almost always disabled DNS-over-TCP code in Deadwood, and no attack
worse than denial of service of just DNS-over-TCP (OK, another
AI generated security report found an issue with the mqhash.c
program which didn’t even compile since 2022, and was never part of the
services MaraDNS uses, nor ever compiled by default).
RISC-V is an open source ISA (an ISA, or instruction set architecture, is the language a given chip understands) which, unlike x86_64 and ARM, is free for anyone to implement and use.
I believe there will come a day when RISC-V has comparable or better performance than ARM and x86_64.
This is based on history: I remember when x86 performance compared to
the DEC Alpha, PA-RISC, SPARC, etc. was a joke. There was a time when,
if you wanted real performance, you needed to pony up $20,000-$50,000
for a workstation with a MIPS/ However, people were buying x86 computers at a far higher rate,
giving Intel (and AMD) the money needed to invest in better chip
designs and better fabs. Linux was, at the same time, gaining traction
and, around the time the dot-com bubble popped and there were no longer
companies with the money needed to get Sun SPARC workstations (or what
not) at $50,000 or more a pop to start up a web business, x86 computers
running Linux had nearly the same performance at a much lower price.
Once the Itanium sank and x86_64 was mainstream, x86_64 was the ISA of
choice for performance workstations and servers, and the RISC ISAs that
survived were now mainly used in the embedded space. Indeed, ARM was
never a high performance RISC processor, and it was the one that took
over the embedded space while PA-RISC, Alpha, and SPARC died.
The ISA for what were cheap computers became the highest performance
ISA around.
It has been only in the 2020s that RISC processors have gotten x86_64
levels of performance, notably in the the Apple M series of processors.
So now ARM, an ISA which was geared for cheap embedded devices, has
become a high performance processor, in line with x86.
Right now, RISC-V is mainly being used in cheap embedded components.
Considering that x86 and ARM also were made for cheap computing, until
becoming the dominant high end processor, history tells us that the
cheapest ISA is the one which will become the highest performance one.
RISC-V currently has about the same performance as a high end
Raspberry Pi. I predict it will have medium-level PC performance by the
end of the 2020s.
“Hacker news” has a thread
about the RISC-V in response to another thread
based on an article criticizing RISC-V. This blog
entry is based on a response I wrote at Hacker News.
Further reading