Be advised: this thread is not for serious in-depth discussion of weighty topics (we have a link for that), this thread is not for anything Culture War related. This thread is for Fun. You got jokes? Share 'em. You got silly questions? Ask 'em.
- 130
- 1
What is this place?
This website is a place for people who want to move past shady thinking and test their ideas in a
court of people who don't all share the same biases. Our goal is to
optimize for light, not heat; this is a group effort, and all commentators are asked to do their part.
The weekly Culture War threads host the most
controversial topics and are the most visible aspect of The Motte. However, many other topics are
appropriate here. We encourage people to post anything related to science, politics, or philosophy;
if in doubt, post!
Check out The Vault for an archive of old quality posts.
You are encouraged to crosspost these elsewhere.
Why are you called The Motte?
A motte is a stone keep on a raised earthwork common in early medieval fortifications. More pertinently,
it's an element in a rhetorical move called a "Motte-and-Bailey",
originally identified by
philosopher Nicholas Shackel. It describes the tendency in discourse for people to move from a controversial
but high value claim to a defensible but less exciting one upon any resistance to the former. He likens
this to the medieval fortification, where a desirable land (the bailey) is abandoned when in danger for
the more easily defended motte. In Shackel's words, "The Motte represents the defensible but undesired
propositions to which one retreats when hard pressed."
On The Motte, always attempt to remain inside your defensible territory, even if you are not being pressed.
New post guidelines
If you're posting something that isn't related to the culture war, we encourage you to post a thread for it.
A submission statement is highly appreciated, but isn't necessary for text posts or links to largely-text posts
such as blogs or news articles; if we're unsure of the value of your post, we might remove it until you add a
submission statement. A submission statement is required for non-text sources (videos, podcasts, images).
Culture war posts go in the culture war thread; all links must either include a submission statement or
significant commentary. Bare links without those will be removed.
If in doubt, please post it!
Rules
- Courtesy
- Content
- Engagement
- When disagreeing with someone, state your objections explicitly.
- Proactively provide evidence in proportion to how partisan and inflammatory your claim might be.
- Accept temporary bans as a time-out, and don't attempt to rejoin the conversation until it's lifted.
- Don't attempt to build consensus or enforce ideological conformity.
- Write like everyone is reading and you want them to be included in the discussion.
- The Wildcard Rule
- The Metarule

Jump in the discussion.
No email address required.
Notes -
So, I had an interesting problem at work, that revealed something fascinating I think.
I have to beat around the bush some, so bear with me. We're using a popular framework for our database layer. We went to do things to this database that theoretically the database is capable of, but the framework doesn't support. Sad face. All the web searches, and associated AI formulated answers confirm, it's not possible do said thing in said framework.
Except it is. The Framework is open source. You can just read the source code. Turns out you can ask for the handle to the underlying interop pointer, and it'll just give it to you. You don't even have to do weird fucky things like dig around in private data space. It's a public API call to just get the interop pointer. The driver it's calling is open source too, and you can just call the function you want on the interop pointer it gives you, and it just works. It's fine. If it's confusing, the test cases for the driver in it's github even shows you exactly how to do it, multiple ways. Reading unit tests are awesome for stuff like that. This is the furthest thing from impossible. It's practically spelled out for you with examples if you just read the fucking code.
So, why does AI all think it's impossible? Because as of 3 years ago, this functionality wasn't exposed by the driver. So all the stack exchange questions about this correctly stated that as of 3+ years ago, this was impossible. LLMs got trained on stack exchange (supposedly), and now stack exchange is a dead site. The LLMs (supposedly) killed off the source of knowledge they were being trained on, and now they can't learn that a few years later this task is not just possible, but trivially easy in like, 6 lines of code. Totally within the remit of the typical "how do I do thing" programming question.
I deal with this shit all the time. My day job involves maintaining a very old application that has seen continuous upgrades and maintenance over a two decade timeline, but some vestigial bits haven't been touched since the application's inception due to manpower constraints. We all assumed ai would help us deal with the backlog of "not quite important enough to move forward to the top of the stack" items that cause a drag on developer productivity, but always get sidelined by more pressing concerns.
Unfortunately, our codebase takes every AI product we've tried and sends it spiraling down a garden path of schizophrenic recursion.
Before I continue, let me get the usual reflexive responses out of the way:
The problem is that one single fix or feature can easily involve traveling through over a decade of code-strata, and the LLMs invariably over index on the idioms that they encounter first. The end result is that even a detailed plan on how to replace a deprecated method from a library with a documented replacement tends to make it imagine that it has to do things it doesn't.
I'm going to be vague here, but I'm going to share a personal story from work.
Due to our support contracts, we occasionally have to release security patches for very old releases of our product. We recently had an issue where one of our very old releases was using library $FOO on version N. Version N of $FOO had a very hard to exploit but potentially real security issue that could cause an information disclosure. Normally we'd just tell people to upgrade, but one of our clients operates in a regulated environment and can't do a major upgrade in less than 12 months for anything short of a nuclear bomb going off. Given that, we'd normally upgrade the library and move on with our lives. However $FOO has officially EOLed version N, so no more updates.
We had to do a manual mitigation, and I'm the guy who catches that kind of work, so I got started. A co-worker said "hey, this is high priority, and I think I can get it done in 15 minutes if I use AI". Since it was high priority, the boss told us both to get to work and whatever made it through all our automated tests and reviews first would go in.
I did my fix by integrating with some functionality provided by $FOO that allowed me to catch invalid data before it made it to the offending code. I missed an edge case that got caught by the automated tests, but either way, the PR landed in the codebase with half an hour to spare before the end of the day.
I decided to see where my coworker was, and the answer was "nowhere close to a working solution ". I could only see his draft PRs and not the prompts, but it looked like the LLM tried two different approaches and shit the bed both times. The first time, it looks like he/the LLM tried to catch invalid data at every single entry point into the system - the top of the funnel, rather than the bottom. The problem is, we have thousands of entry points. The code got completely out of control and eventually the LLM started over fitting and trying to apply the mitigation to things that didn't even make sense. Thr second approach involved manipulating JVM bytecode to try and hot-patch the offending class. That didn't even compile, but it looks suspiciously like an old stack overflow post about a different problem with the library.
The other guy is pretty sharp, and in some areas I think he's genuinely more talented than I am. But looking at the work he did that day, you'd assume he was fresh out of a boot camp and in way over his head.
I'm not really sure what to make of it.
How old? Ten years? Twenty?
I think we recently had to have a stern-yet-loving talk with a customer who was still resisting an upgrade after eleven years.
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link