Skip to main content

2 posts tagged with "hallucinations"

View All Tags

“Who Cares About Signature Blocks Anyway?” District of Kansas, Apparently.

· 5 min read
Chad Ratashak
Chad Ratashak
Owner, Midwest Frontier AI Consulting LLC

I was listening to the latest episode of the legal podcast Advisory Opinions, “Must and May,” which covers a variety of topics, including a minor discussion about signature blocks. A comment caught my attention because of its relevance to generative AI misuse.

Advisory Opinions briefly discussed an Eastern District of Virginia District Judge asking “Lindsay Halligan why she continues to use the title in her signature block, ‘United States Attorney,’ after another judge in the district dismissed” indictments because she was not properly appointed. Ep. “Must and May,” Jan. 15, 2026

What caught my attention was this comment by David French:

It's a silly dispute in some ways—a silly dispute in a lot of ways—irrelevant to the merits. But I think it's quite clear that the administration's language was ridiculously aggressive. It also might be the case that the judge is being a bit...what would be the word that my dad would use? “Persnickety”, a little bit nitpicky, perhaps. I don't know. Who cares about signature blocks anyway? [empahsis added]

AO’s Mata v. Avianca Coverage

As I noted in my post about the Mata v. Avianca case, Advisory Opinions had some of the best contemporaneous coverage of that case. They did not just focus on the “ChatGPT made up fake cases” narrative. They also correctly noted the ethical lapses in doubling down on AI misuse and the flawed attempt by the attorneys to use ChatGPT to verify ChatGPT’s output. In other words, this post isn’t meant to dunk on AO. But I do want to use this as an opportunity to discuss a fairly recent example of signature blocks mattering.

Lexos V. Overstock (D. Kansas): Six on Signature Block

Signature blocks can be a big deal based on Lexos Media IP, LLC, v. Overstock.com, Inc., (D. Kansas).. See the OSC:

Six attorneys of record appear in this case on behalf of Plaintiff Lexos Media IP, LLC (“Lexos”): five out-of-state attorneys who have been admitted to practice pro hac vice, and one local counsel. On Plaintiff’s recently-filed briefs responding to summary judgment and motions to exclude its experts, the signature pages list five of the six attorneys of record.[Footnote 2]. Yet, only one of Plaintiff’s attorneys—out-of-state counsel Mr. Sandeep Seth—has submitted a declaration admitting to playing a role in submitting the defective citations in Plaintiff’s briefs.[Footnote 3] Overstock filed an opposition to Plaintiff’s motion to correct, noting that counsel’s admitted use of generative AI to draft the brief without confirming the authenticity of the research implicates Fed. R. Civ. P. 11 and Kansas Rule of Professional Conduct 3.3. Overstock has not moved for sanctions on this basis. Nonetheless, the Court may sua sponte “order an attorney, law firm, or party to show cause why conduct specifically described in the order has not violated Rule 11(b).[Footnote4] 'Courts across the country—both within the United States Court of Appeals for the Tenth Circuit . . . and outside of it—recognize that Rule 11 applies to the use of artificial intelligence.'[Footnote 5, citing Coomer v. Lindell (D. Colorado)].”

Screenshot of map centered on central U.S., including Colorado, Kansas, and Wisconsin cases.

Screenshot of map centered on central U.S., including Colorado, Kansas, and Wisconsin cases.

All Listed Attorneys as Signatories for FRCP 11

Footnote 2 says:

2. While only local counsel’s signature block contains an 's/' before his name, the Court considers all of the listed attorneys as signatories for purposes of Rule 11. See Fed. R. Civ. P. 11(b)(2) (“By presenting to the court a pleading, written motion, or other paper—whether by signing, filing, submitting, or later advocating it—an attorney or unrepresented party certifies that to the best of the person’s knowledge, information, and belief, formed after an inquiry reasonable under the circumstances...the claims, defenses, and other legal contentions are warranted by existing law or by a nonfrivolous argument for extending, modifying, or reversing existing law or for establishing new law.”).

Despite Plaintiff’s motion to correct and Mr. Seth’s declaration eventually submitted along with the reply brief, the Court continues to have serious questions about how the defective citations and quotations in Plaintiff’s briefing came to pass and the role played by the other attorneys who signed these documents on behalf of Lexos, but have not submitted declarations of their own. Accordingly, no later than January 5, 2026, the Court directs each of Plaintiff’s attorneys on the signature blocks of Docs. 193 and 194 to show cause in writing, under penalty of perjury, [emphasis in original] as specified below, why they should not be sanctioned under Rule 11 and referred to the disciplinary panel of this Court and to disciplinary administrators in the jurisdictions where they are licensed.[Footnote 6]


AI Gone Wrong in the Midwest

I am working with a software vendor to get my recorded CLEs available on-demand. This includes “AI Gone Wrong in the Midwest,”, which addresses Pelishek v. City of Sheboygan (E.D. Wisconsin 2025) and Kasten Berry v. Stewart (D. Kansas 2024).

Coomer v Lindell (D. Colorado) case is cited in Lexos v. Overstock as 10th Circuit precedent on AI misuse. The attorneys involved in Coomer v. Lindell later got in trouble again in the 7th Circuit, Eastern District of Wisconsin for more fake citations. That case was Pelishek v. City of Sheboygan (E.D. Wisconsin 2025).

In another D. Kansas AI misuse case, Kasten Berry v. Stewart the judge ordered an attorney from Texas to report for a Wednesday morning Show Cause hearing in person in Kansas.

Quickstart Guide to Claude Code & GitHub Desktop. With some simple examples to get started with R & Python.

· 9 min read
Chad Ratashak
Chad Ratashak
Owner, Midwest Frontier AI Consulting LLC

I have three things in mind writing this post:

  1. Intended Audience. I am writing for people like this, who are looking to get into Claude Code and haven’t used either Claude Code or GitHub. My goal is to help those getting started learn about AI hallucinations at the start and know about version control.

[NOTE: This has been reworded from the actual question]: Any guides for using Claude Code for data analysis, primarily in R? I don’t currently use Github either. Can you point me to step-by-step instruction starting with set-up and installation? I looked at other websites and have not found them to be accessible intros.

  1. Familiarity. You might not like GitHub Desktop or think some of these steps are too obvious. If you have opinions about this, skip over them to the next step. If the guide isn't helpful to you at all, you're probably not the intended audience (c.f. XKCD #2501). XKCD 2501

  2. Fast. All specific AI tutorials seem to get overtaken by events. So I'm just going to try to get this out now to help people while it's relevant. If you read this in a timely manner and have questions, reach out via Twitter/X. But if you read this in a few months and it’s already outdated, that’s just how it goes.

Plan Overview

  1. Sign up for Claude account
  2. Download Claude Desktop
  3. Sign up for GitHub account
  4. Get GitHub Desktop
  5. Connect a folder (“Add Local Repository”) for Claude Code to GitHub Desktop
  6. Then, install Claude Code
  7. Learn and Play around with Claude Code using Python and R for data viz (at the same time!)

Steps and Images

1. Sign up for Claude Account

(jump to next step)

Go to Claude.ai website.

Claude AI Google search results

Get a Claude account.

Claude login page

Choose Claude plan:

  • $20 monthly (the $17/month is if you pay for a year).
    • If you are just getting started, you probably want this option.
    • Pick Pro, then choose the Monthly billing. You can upgrade later if you keep hitting the usage limits on Claude Code.
  • $100/month for more Claude Code usage and access to Claude Cowork (Cowork is MacOS only for now).
Claude pricing plans

2. Download Claude Desktop

(jump to next step)

Install the Claude desktop application for your computer.

Claude desktop download page

We'll circle back to Claude stuff once you have GitHub set up.

Risk Interlude: Why GitHub? What are Hallucinations?

(jump to next step) GitHub Desktop is an easy way to use version control on your computer. This lets you view what lines of code changed before accepting changes. It lets you decide which changes to accept or discard. You can revert to older versions of data.

Claude Code is "Anthropic's agentic coding tool" Anthropic. The cool thing about AI agents is that they can do a lot of stuff. The scary thing about AI agents is that they can do a lot of stuff. You can limit the damage they can do by limiting the access they have and by using version control to revert the things AI agents changed that they weren’t supposed to. Doing both won’t make you perfectly secure, but it’s good to know.

One way AI agents can change things they aren’t supposed to is editing your data or your writing when you only intended to give it permission to change code. This can introduce what are called “hallucinations,” grammatically correct and persuasive, yet false information made up by large language models (LLMs); for more on this topic, including specific examples of Claude Code hallucinations, see my post about Claude Code's geographic hallucinations about U.S. District Court boundaries.

If you have GitHub for version control, you can revert or reject these kinds of changes. You should also separate data from data viz code, so that asking the LLM to change how the data is presented won’t let it modify the data and it will be more obvious in GitHub if the LLM has touched the data files.

3. Sign up for GitHub account

(jump to next step)

Go to the GitHub website.

GitHub homepage

Get a GitHub account.

GitHub signup form

4. Get GitHub Desktop

(jump to next step)

Find the GitHub Desktop download.

GitHub Desktop Google search

Download GitHub Desktop.

GitHub Desktop download page

5. Connect a folder (“Add Local Repository”) for Claude Code to GitHub Desktop

(jump to next step)

Create an empty folder somewhere on your computer. For my example, I named the folder demonstration

Open GitHub Desktop. Select File > Add Local Repository…

GitHub Desktop add local repository menu

Click "Choose" and select your folder. In my case, the empty demonstration folder.

GitHub Desktop add local repository dialog

Even though the folder is empty, that's fine for our purposes.

Finder folder selection

Now you'll see the folder as the name of the "Current Repository" in the Github Desktop main window.

GitHub Desktop main window

Click either "Publish Repository" button to sync your folder to your GitHub account as a repo.

GitHub Desktop publish repository

6. Then, install Claude Code on Claude Desktop

(jump to next step)

Open Claude Desktop. Click the "Code" tab. Follow the installation instructions.

Claude Code mode tabs

Click the "Select folder" dropdown.

Claude Code interface

Navigate to your empty local folder (for me demonstration), the same one you used with GitHub Desktop, and select that.

Claude Code folder picker

7. Learn and Play around with Claude Code using Python and R for data viz (at the same time!).

Here are some suggestions to test out Claude Code for your first session.

7A. Can’t decide whether to use R or Python? Why not both?

“Set up R and do some data viz with the mtcars package. Extract the data and do the same visualization with pandas.”

In my test run, Claude Code created R script and Python script with matching scatter plots (MPG vs HP by cylinders), exported data to CSV, and set up Python venv.

7B. Shiny App and Streamlit App

“Make the R into a Shiny App and make an equivalent in Python.” I have made several Streamlit apps, but I wanted to ask a question with naive wording to demonstrate how someone who only knows R could still use Claude Code to write Python.

In my test run, Claude Code built app.R (Shiny) and streamlit_app.py with sidebar controls, interactive filtering, and data tables.

7C. Ran into an error

(jump to next step) I ran into an error and pasted the message directly into Claude Code without any further instructions. “ValueError: Duplicate column names found..." Claude Code found and fixed the bug by deduplicating display columns with dict.fromkeys().

7D. Separate out the data.

Asked simple question: "Are these following SoC best practices?" In response, Claude Code refactored both the Shiny (R) and Streamlit (Python) apps into modular structure: config, data layer, components, and main orchestration files. This goes to the point I mentioned above about preventing the LLM from changing your data.

7E. Error viewing Shiny and Streamlit locally

Claude tried to open the Shiny and Streamlit on local servers, so I could preview them in a browser. However, the servers didn’t load, so I just told Claude Code “the servers didn't load.”

Claude Code debugged and restarted both servers on fresh ports. I was then able to view the apps with simple, interactive visualizations that were comparable but written in R and Python.

7F. Let Claude Code make a crazy dashboard

To open things up and see what Claude would do, I then said: "Now go crazy and do some really cool data viz. Really have fun with it. Show off." This is not how I would make something for practical use, because I have specific things in mind for how I want to display the data and what story I want the data to tell. But the purpose of this prompt is to show a new Claude Code user what Claude Code can do.

In response, Claude Code created “the ultimate dashboards” with 3D plots (XYZ axes), animations, sunbursts, treemaps, violin plots, PCA, K-Means clustering, radar charts, gauges, parallel coordinates, heatmaps, pairplots, serious statistical tests and a random, not serious “celebrate” just for fun.

However, I had to break the news to Claude Code that yet again "server didn't open." Claude Code checked the errors and restarted the apps.


If you're looking for more structured training on generative AI, consider booking an introduction call.