How’s everyone’s crypto wallet doing?

The news in the Bitcoin world isn’t all bad. The tensor processing units (proprietary Google LLM chips) behind Gemini 3.0 fixed our Bitcoin v. Medical School page just in time for the Big Slide:

(adjusted for Bidenflation, Bitcoin is now down substantially from the mid-March 2021 price when everyone was filled with hope regarding the Biden-Harris administration leading us forward and out of the bad times of the Trump dictatorship (v1.0))

I wonder what this means for the Cirrus waiting list and aircraft values in general. A crypto investor seems like a natural personal airplane customer: (a) independent personality, (b) not averse to irrational purchases, (3) maybe a need to go back and forth to Puerto Rico frequently.

Stake in the ground: I’m not going to sell any Bitcoin!

Separately: “This Bitcoin crash is worse than a divorce. I lost half of my money and my wife is still around.” (source)

Readers: who has favorite X posts to share? I’ll start:

Full post, including comments

Why Johnny LLM can’t read web page source code

First of a series of posts by John Morgan and Philip Greenspun on using AI models to perform HTML and CSS design.

The plan: Compare ChatGPT, Gemini, Claude, and Grok to see which LLMs do the best job on CSS and, if necessary, HTML redesign of existing web pages.

All of these models failed at the simplest imaginable HTML/CSS question (not hyperlinks in the queries, but included here for convenience):

Do all four of these HTML pages reference the same .css file? https://philip.greenspun.com/samantha/ https://philip.greenspun.com/samantha/samantha-X https://philip.greenspun.com/photography/ https://philip.greenspun.com/photography/learn/interior

All four pages actually do reference the same .css file, /margins-and-ads.css, and one file also references /philg.css

Sample actual page content:

<head>
<meta name="keywords" content="interior photography">
<LINK REL=STYLESHEET HREF="/margins-and-ads.css" TYPE="text/css">

<title>How to Photograph Architecture (Interior)
</title>
</head>

<head>
<link rel=stylesheet href="/margins-and-ads.css" type="text/css">
<LINK REL=STYLESHEET HREF="/philg.css" TYPE="text/css">
<title>Chapter X:  Overcharged in Katmai</title>
<meta name=processor content=adp>
</head>

from ChatGPT

I checked the content of the four pages you listed, but from the snippets returned there is no visible <link rel=”stylesheet” …> line in the parts shown — that’s because the portions we could fetch start at the body text and don’t include the <head> section where CSS is normally referenced. … If you want precise verification, I can fetch and show the full <head> source (including the exact <link …> line) for each of the four URLs — just let me know.

[after “Yes please fetch the full HEAD source for each one and verify.”]

I tried to fetch the full HTML <head> source of each of the four pages you listed — specifically to look for the <link rel=”stylesheet” …> tag that shows which CSS file (if any) each page references. However, the tool returns only the rendered body content and not the complete <head> section, so I couldn’t directly inspect the <link> tags for CSS in the fetched results.

from Claude

I should note that the web_fetch tool extracts text content and may not always show the complete HTML <head> section where CSS references typically appear. The pages I did fetch appear to be very minimalist in design, consistent with early-to-mid 1990s web design when these pages were originally created.

Without being able to see the complete HTML source including the <head> sections of all four pages, I cannot definitively confirm whether they all reference the same CSS file.

[prompted further]

Now I have all four pages. Let me examine them for CSS file references. Looking at the extracted HTML content from all four pages, I notice that none of them contain explicit <link> tags to external CSS files in the content that was extracted.

from Gemini

[Us: Google’s smartest child has trouble counting and trouble understanding HTML, but it is great at presentation. It says that three pages reference no external CSS and then shows a table featuring two files that reference CSS. It is dead wrong about the interior page, which references margins-and-ads.css. It either cross-contaminated its own thinking by looking at the samantha-X file, which does reference philg.css or found a reference to the file in the BODY of https://philip.greenspun.com/panda/html.]

No, they do not all reference the same CSS file. In fact, three of the pages appear to use no external CSS at all, while one of them uses a specific stylesheet for that section of the site.

Based on the source code for each page:

  1. https://philip.greenspun.com/samantha/
    • CSS: None.
    • Details: This page uses old-school HTML attributes (like bgcolor=white and text=black in the <body> tag) for styling rather than an external CSS file.
  2. https://philip.greenspun.com/samantha/samantha-X
    • CSS: None.
    • Details: Like the index page for this book, individual chapters are formatted using plain HTML and inline attributes.
  3. https://philip.greenspun.com/photography/
    • CSS: References /philg.css
    • Details: This page contains a <link rel="stylesheet" href="/philg.css" type="text/css"> tag in the <head>.
  4. https://philip.greenspun.com/photography/learn/interior
    • CSS: References /philg.css
    • Details: As part of the photography tutorial section, it shares the same stylesheet as the photography index.

Limitation Rationale

Why are these LLMs so hobbled? Apparently, it is intentional for the LLM to see only what a user might see. This ensures that dynamic sites are properly understood and also may prevent some security risks.

When prompted, ChatGPT replied that this limitation is due to its web content fetching tool not returning the full payload and instead querying “search indexes, reader-mode extracts, preprocessed HTML snapshots, [and] content extraction pipelines” that are “optimized for reading and summarizing, not inspection.” It explained that “in those pipelines, the <head> is usually stripped entirely or reduced to a title and a few meta fields [because] CSS links, JS, analytics, preload hints, etc. are irrelevant to text extraction [and] keeping them increases size and complexity with no benefit for search/reading.” If true, this suggests that the tool was not built with full HTML analysis in mind but rather optimized for the admittedly more common text extraction use case.

Next Steps

Since our future AI overlords won’t download a web page from the Internet and click “view source”, the next step was to see what these LLMs could do if we downloaded HTML and CSS files to our desktop computers and then uploaded the files back up to the LLMs along with our questions.

Full post, including comments

Mask efficacy Scientists move to Cato and prove that immigration makes us rich

Cato Institute has released a couple of studies recently showing that low-skill immigrants are valuable. (The papers lump together all immigrants, but the majority of immigration in recent decades was low-skill.)

“Immigrant and Native Consumption of Means-Tested Welfare and Entitlement Benefits in 2023” classifies Social Security as “welfare”. The Social Security Administration calculates a real rate of return on taxes paid into the system at 2-4 percent/year for a medium-wage worker and, thus, someone who invested in the S&P 500 and received a 6 percent/year real return would be a “welfare queen”.

“Immigrants’ Recent Effects on Government Budgets: 1994–2023” says that low skill immigrants are the reason that we can afford our magnificent government. Much of the study hinges on birthright citizenship. If a migrant has 10 U.S.-born children and each child costs the Treasury $3 million (public school education, public housing, Medicaid, etc.) the costs of those 10 kids are put into the “native” category. One fun part:

Indirect property tax revenue: The one semidynamic element that we incorporate into the NASEM model is the effect of immigration on housing values. By increasing the demand for housing, immigration increases the value of property, which increases property tax revenues.

In other words, one benefit of open borders is that the tens of millions of people who walk across will drive up the value of residential real estate and, thus, property tax revenue. I.e., contrary to other propaganda in which Econ 101 supply-demand curves don’t apply, the Cato nerds say that a migrant-expanded population drives up housing costs for native-born Americans.

(I don’t think that Cato is correct, incidentally, that more valuable real estate leads to more property tax revenue. The typical city has a budget and then sets a property tax rate sufficient to fund that budget given the total assessed value within the city. If Ayatollah Mamdani drove every successful person from NYC down to Florida and property values in Palm Beach County doubled, the county wouldn’t keep the rates the same and immediately double its spending.)

Cato used to believe in markets. This is plainly no longer true. They didn’t ask the obvious questions, e.g.,

  • If low-skill immigrants are a gold mine, why won’t some other country pay us to send them the migrants whom we are deporting?
  • Why don’t other countries compete with us for migrants, then? If we offer a green card via diversity lottery to a person in Mali, for example, why don’t Australia, Taiwan, Mexico, or Canada jump in and try to persuade that person to go elsewhere? Why don’t Japan and France have offices in northern Mexico offering to fly U.S.-destined migrants to their nations?

What kind of Scientists at Cato could do a study proving Scientifically that every low-skill migrant is worth $1 million despite the fact that no country anywhere in the world has offered to pay even $1 for one of our deported migrants?

The answer arrived via direct message. A rich Democrat who lives in the Boston area recently criticized me for referring to his state as “Maskachusetts” and noted that Science had proven (“data shows”) 500 million to 1 billion lives saved from people wearing their saliva-soaked face rags. How does this relate to Cato’s contrary-to-the-market conclusions regarding immigration?

Nobody right now will pay for Scientific proof that forcing 2-year-olds to wear cloth masks prevents an aerosol respiratory virus from spreading. The Scientists who did that research can now apply their nonbinary selves to proving that low-skill migrants from the world’s least successful and most violent societies are a huge plus for any country wise enough to welcome them.

Full post, including comments

How does a no-fault divorce culture play out over two generations?

I’m reading Strangers: A Memoir of Marriage by Belle Burden (wife) and co-starring “James” (a pseudonym for the husband). It’s a good illustration of how the American no-fault divorce culture plays out over two generations.

Generation 0: Both spouses had married grandparents. Divorce was obtainable, but in the typical case only if the parties cooperated and came to an agreement.

Generation 1: Both spouses had divorced parents.

Generation 2: the book.

TL;DR version: The author/wife says that she was 50 when the husband decided to avail himself of our unilateral divorce system. His new sweetheart was “was thirty-five but looked twenty“. She was happy to leave her own husband, breaking up her own kids’ home, and, in the magical world of no-fault, there was no way for the husband to obstruct her plan (in fact, he would likely have had to pay her to execute the plan).

One area of agreement between the parties is on the appropriate level of coronapanic. They abandon NYC for Martha’s Vineyard, but the husband returns to NYC to spend more time with his new sex partner.

By late April, I knew I could not keep hiding the truth from the kids. I texted James that it was time to tell them and that we needed to do it together. We hadn’t spoken in several weeks. He said he thought it would be better if I told them alone. Initially, I agreed with him. I was afraid that he would expose us to COVID. He was not in quarantine; he was having an affair in the middle of New York City. We decided we would do a family Zoom call to break the news. James’s boss texted me the next day. He was a kind man, and a friend to both of us. He wrote that he understood why I was angry, but I needed to allow James to be there to tell our kids. He spoke from experience, having been divorced, having broken the news to children himself. He wrote that he was giving James his seaplane and pilot to fly to the Vineyard.

James landed on the Vineyard just before 2 p.m. He drove down our driveway in a Jeep our caretaker had left for him at the airport, a model similar to the one he’d driven onto the ferry a month earlier. He walked up the brick path to our door. He wore a mask, so I couldn’t see his whole face, but my first thought was that he seemed happy, his step brisk and optimistic. He was carrying an empty duffel bag over his shoulder.

He said, “Mom and I are separated and we’re going to divorce. I haven’t been happy.”

James turned to me and said, “I’m starving, can you make me a sandwich?”

A lot to unpack here. If there truly was a “seaplane” why did James go to Connecticut to start his journey (a seaplane can pull up to a dock on E. 23rd St.) and then why was there a landing at the MVY airport? The principal fear 8 weeks into coronapanic is not that the children will be harmed by separation and divorce litigation, but of some tweenage kids getting infected by a virus that was killing Maskachusetts residents at a median age of 82.

One question is why the U.S. still has wedding ceremonies with vows exchanged. If, by cultural and legal design, the marriage lasts only until one partner thinks that a better deal is available, why do friends and family have to gather and sit through the charade of a wedding? If James can say to a judge “I discovered that I preferred banging 35-year-old women to sleeping with a 50-year-old woman” and get what he asks for (a divorce), what stops people from laughing when they hear the vows?

(Note that even if New York family courts are aggressively biased against men, James could still come out ahead financially by swapping out the 50-year-old wife to marry the 35-year-old. He just needs the courts to be consistent, for his girlfriend to divorce her husband, and for the husband she’s divorcing to earn more money than James. In that case, everything that James loses to his ex-wife will be made up for in child support revenue paid to the new 35-year-old wife by her former husband.)

Loosely related, I’m proud to have been interviewed by the New York Times: “I Let My Wife Have an Affair. Do I Have to Console Her Now That It’s Over?”

(The answer turns out to be Yes: “it may be worth your both talking this all through with a counselor” (i.e., “Yes, and also you will have to pay for assistance in consoling her”))

Admission: While the NYT story is genuine, I ripped off the above introduction from this X parody account.

Full post, including comments

Gemini and Antigravity fixed the Bill Gates Personal Wealth Clock

Bill Gates has been in the news lately.

“Melinda French Gates says latest allegations about Bill Gates’ antics with Epstein dredge up ‘very painful’ memories” (New York Post):

Melinda French Gates said that new details of ex-husband Bill Gates’ alleged antics with Jeffrey Epstein dredge up “very painful times” from their 27-year marriage — and have left her “so happy to be away from all the muck that was there.” … “It’s personally hard whenever those details come up, right? Because it brings back memories of some very, very painful times in my marriage,” she told NPR’s “Wild Card” podcast on Tuesday.

“I’m able to take my own sadness and look at those young girls and say, ‘My God, how did that happen to those girls?’” she said.

There’s a video with Melinda Gates where she smiles as she talks about the “sadness”. Keep in mind that, via a personal relationship with the boss, she made more money than the entire team of software engineers who built Microsoft Windows. Perhaps this has occasioned some “sadness” among those who worked 100 hours per week?

(Also, she implies that Bill Gates was having sex with “young girls” (a “young girl” would be 10? 12?). Is there any evidence of that in the Epstein files? Epstein pleaded guilty to partying with paid women as young as 16 back in 2008, but is there anything definitive in these files or elsewhere to suggest that, post-2008, “young girls” were having sex in exchange for cash or other inducements with Bill Gates or any other Epstein friend? A lot of Americans seem to be energetic when it comes to condemning Jeffrey Epstein and his circle. They say that they’re passionate about “the victims”, but Epstein died in 2019 and any “victims” are adults today. There are teenage prostitutes working right now in various states and countries. The folks who energetically condemn Jeffrey Epstein don’t try to do anything about current teenage prostitutes. If they live in Maskachusetts, for example, they don’t lobby to raise the age of consent from 16 to 18 or 21.)

Thirty-one years ago, as an envious impoverished graduate student, I developed the Bill Gates Personal Wealth Clock:

The clock had broken because the U.S. Census Bureau put in additional barriers to scraping their popclock and the sites for getting stock quotes kept changing.

I fed Antigravity on a copy of the entire tree behind my web site and, incredibly, it/Gemini was able to answer questions about AOLserver configuration, Tcl API code, relational database structure, etc. It suggested fixes to the software that actually worked, e.g.,

set population_html [exec curl -s -L \
    -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" \
    -H "Accept: application/json, text/javascript, */*; q=0.01" \
    -H "Accept-Language: en-US,en;q=0.9" \
    -H "Referer: https://www.census.gov/popclock/" \
    -H "X-Requested-With: XMLHttpRequest" \
    "https://www.census.gov/popclock/data/population.php/us"]

for scraping the Census web site.

I wonder if the page is conceptually broken. For a couple of decades, the page seemed to track reasonably well with (1) reports of Bill Gates’s personal stash, and (2) reports of total assets in the Gates Foundation (I considered them both to be forms of wealth for him since he controlled the foundation).

Right now, though, the grand total of $960 billion seems to be off the reservation (and we don’t need Elizabeth Warren to tell us how bad that is). I’m wondering if the explanation is Microsoft issuing shares like crazy to employees, thus diluting Bill Gates’s ownership percentage. The Google says that Gates is worth about $100 billion personally and the Gates Foundation total assets is about the same. That would put his total post-divorce wealth at $200 billion, not $500 billion. The Gates Foundation has supposedly paid out (“squandered”?) roughly $83 billion (mostly money extracted from American computer users and handed over to Africans without the U.S. Treasury ever collected a dime of capital gains tax). That still gets us to only about $300 billion. How did the discrepancy arise? Could it be that Gates was diversifying and paying capital gains taxes over the years, thus getting the mediocre returns of the S&P 500 instead of the Mag 7 returns of Microsoft? Or did he do what all of our other noble billionaires do and borrow against his appreciated stock to fund lifestyle? Google AI says that “he has borrowed hundreds of millions against his assets … [and] Despite using tax-efficient strategies, Gates has publicly advocated for higher capital gains taxes for the wealthy.”

Related (simple non-RDBMS web apps from the same era):

Full post, including comments

Professor Dr. ChatGPT, Ph.D. in Dance Theory

In order to be cruel to MIT students, tortured daily with math and physics problems that make them feel stupid, the flight planning lecture of our FAA Ground School class covers a hypothetical trip from MIT to Bennington College in Vermont. Every year I try to pick what seems like the easiest class at Bennington and remind them that, had they chosen a school more wisely, they could be getting credit for it. This year I picked “Ghostly Body- The Art of Absence”:

I stressed that they’d need to “develop new understanding of the presence of absence” (the class requires no previous dance experience so it is unclear what the students’ old understanding of the presence of absence might be).

Before I highlighted this as an example of the presence of absence of academic and intellectual rigor, I questioned ChatGPT 5.2: “Please explain to me your understanding of the presence of absence as it relates to dance.” What came back was, I think, worthy of a Ph.D. in Dance Theory:

In dance, the “presence of absence” names a paradox: what is not physically there can be as perceptible, meaningful, and active as what is. Absence is not emptiness; it is a charged field that shapes attention, sensation, and interpretation.

Here are the main ways this idea operates in dance.


1. The Body as a Trace, Not Just a Fact

Dance exists only while it is happening. Once a movement ends, it survives as afterimage, memory, or expectation.

  • A lifted arm leaves a trace in the viewer’s perception even after it lowers.
  • A dancer who exits the stage continues to “occupy” space through memory.
  • Stillness is not neutral—it holds the residue of previous motion and the promise of what might come.

In this sense, dance is always haunted by what has just happened and what is about to happen.


2. Negative Space as Active Partner

Absence appears physically as space:

  • The gap between dancers
  • Empty areas of the stage
  • The air carved by movement

Choreography often makes absence legible by framing it:

  • A duet defined by distance rather than touch
  • A solo surrounded by emptiness
  • Movement that gestures toward, but never reaches, another body

The audience reads these voids as intentional, emotionally loaded presences.


3. Stillness and Non-Movement

Not moving is one of the clearest embodiments of the presence of absence.

Stillness can signal:

  • Withheld action
  • Resistance
  • Grief or loss
  • Listening or readiness

Because dance trains us to expect motion, the absence of motion becomes loud. The body remains present, but movement is absent—creating tension and meaning.


4. The Absent Body

Dance frequently invokes bodies that are not there:

  • A partner imagined but never visible
  • A former dancer referenced by repetition of their choreography
  • Cultural or ancestral bodies remembered through gesture

This is especially powerful in works dealing with loss, exile, trauma, or memory. The dancer becomes a conduit for someone else’s absence.


5. Temporality and Ephemerality

Unlike visual art objects, dance disappears.

  • You cannot fully “return” to a dance—only to documentation or memory.
  • Each performance replaces the last.
  • The dance’s absence after the performance is part of its meaning.

The presence of absence here is existential: dance is disappearance made visible.


6. Audience Perception: Filling the Void

Absence activates the viewer.

When something is withheld:

  • The audience projects meaning
  • Memory and imagination complete the work
  • The viewer becomes a participant

What is absent invites interpretation more strongly than what is fully shown.


7. Philosophical Undercurrent

Philosophically, this idea resonates with phenomenology:

  • We perceive bodies not just as objects, but as intentional beings
  • Absence is felt through expectation and anticipation
  • Meaning emerges in the gap between perception and completion

In dance, this gap is continuously exposed.


In Summary

The presence of absence in dance means that:

  • What is missing can be felt
  • What has disappeared still acts
  • What does not move still speaks
  • What is not shown still shapes meaning

Dance is not only about bodies in motion, but about what motion leaves behind.

If you’d like, I can also explore this through:

  • A specific choreographer (e.g., Cunningham, Pina Bausch, Forsythe)
  • Somatic practice or improvisation
  • Performance philosophy
  • Or how absence operates differently in ballet vs. contemporary dance
Full post, including comments

You’re never too old for Ozempic

While in Cambridge to teach an MIT Aero/Astro class, I got together with some old friends who are, in some cases, also fairly old. One was born in 1940 and, therefore, is 85 years old. He’s on Mounjaro (Ozempic, basically, I think). “I’ve lost 40 pounds and went off two blood pressure meds. My A1c is back to normal and my sleep apnea went away.”

What else isn’t he too old for? Coding with AI. He likes to shoot air rifles and, despite minimal tech background, used vibe coding to generate 20,000 lines of code to process data from a wind/weather sensor. “I uploaded a photo of the circuit board and the AI said ‘I understand what this board is doing’ and told me where to solder.” (not sure why he had to modify the hardware, but I guess he did)

He’s reasonably rich and wants to move to Florida, at least on the 183 days/year plan, but his wife refuses to leave Maskachusetts.

Full post, including comments

Natives suffer when migrants are deported (NPR)

State-sponsored NPR on the suffering of native-born Americans when their low-cost migrant laborers depart… “Reporter’s Notebook: He was my fruit vendor for years. I saw immigration agents take him”:

I love sliced fruit, and for seven years, my go-to vendor has been a man named Jesús. I could always find him under two large rainbow umbrellas next to a gas station in my Los Angeles neighborhood, Echo Park.

And that’s when I heard a scuffle. Two large, dark SUVs had rolled up, and I saw masked agents in Border Patrol vests chasing Jesús out from under his rainbow umbrella and across the gas station. He ran between the pumps. That’s where they grabbed and handcuffed him, while he was still wearing his black apron.

Despite sophisticated communications and IT infrastructure, the progressive insurgency couldn’t save this migrant from the Gestapo 2.0:

Within minutes, several activists showed up. They were with a group that tracks Immigration and Customs Enforcement operations in Echo Park, and they told me a witness had reported it to a rapid-response phone number. As word spread, customers and friends of Jesús started showing up too.

Jorge Mejía, a longtime customer, told me he rushed over when he heard. He told me things I already knew — that Jesús cared about his customers and about quality, and that’s why people loved him.

“I feel helpless,” Mejía said, his eyes filling with tears, his voice breaking. “It angers me that this is happening to people just working and trying to get ahead.”

Undocumented migrants are such a high percentage of the Los Angeles population that small businesses can’t survive without them:

Ariel Padilla met Jesús on the day Padilla moved into the neighborhood a decade ago. It was a hot day and the cold fruit hit just right. Last summer, Padilla organized a fundraiser for Jesús when sales were slow because many of his immigrant customers were too afraid to go outside.

“He was a landmark of this part of the neighborhood,” Padilla told me after he rushed over when he heard the news. “Now I’m trying to think about: How can I help him?”

The neighborhood will never be the same now that people have to slice their own fruit (or pay a higher price to have fruit sliced for them by authorized immigrants; plainly paying for a native-born fruit slicer is not an option):

The next morning I learned, from Padilla, that Jesús had already been removed to Tijuana, Mexico. He had agreed to be deported because he feared languishing for months in LA’s notorious immigration detention center.

Since his arrest, I’ve driven by his corner and struggled to make sense of the fact that someone who brought so much simple joy to my neighborhood for almost 20 years had been whisked away before my eyes. That every time I pass I’ll picture that scene. And that that corner will never be the same.

The reporter won’t do the 2.5-hour drive to Tijuana to meet Jesús and find out if it is possible for a Mexican to live in Mexico (population 133 million)?

In other immigration news, folks on Martha’s Vineyard are reminding everyone that “All are welcome here”:

One initiative on the Island is a newly formed group called Martha’s Vineyard Fourth Amendment (MV 4A). It has created signage for local businesses to put on windows, is conducting constitutional rights training, and has amassed more than 60 volunteers in the past couple of months.

The signs are a neon green color, with bold black lettering, and can be seen in storefront windows at Cronig’s Market, Bunch of Grapes Bookstore, and Tisbury Printer, among others. The signs are available through their website. “All are welcome here,” the posters read. “We know our Fourth Amendment rights.” The Fourth Amendment is a part of the U.S. Bill of Rights that prohibits unreasonable searches and seizures.

“Putting up signage is a way for our community to come together. It’s a way to send a message to each other that we care about each other. It says what kind of a community we want to be,” Ladd said. “It also says that we know our Fourth Amendment rights, which in some ways can be a deterrent for somebody who wants to violate your Fourth Amendment rights.”

The MV Times article doesn’t mention that the 50 migrants flown to Martha’s Vineyard in September 2022 (the off season when tons of housing was available) by the Deplorable Ron DeSantis were immediately moved “voluntarily” by 125 military soldiers (National Guard was called up) to a fenced military base.

Full post, including comments

ChatGPT struggles to correct lecture slides

For this year’s FAA Ground School class at MIT I decided to let ChatGPT do all of the hard work of correcting and updating slides to account for any changes to regulations, etc. The LLM kicked out about five spurious suggestions for every useful typo correction. For example, here’s a slide about gliders whose title says that it is about gliders:

ChatGPT’s comment on the slide:

ChatGPT fails to use the title as context for the slide and, therefore, says that “solo at age 14” needs to be qualified to gliders only.

This slide points out the what the U.S. calls “light sport” is called “ultralight” in Europe:

ChatGPT:

It says to call the Shark a “light aircraft”, which typically refers to anything weighing less than 12,500 lbs. From the Shark manual, available on the Shark.aero web site:

Maybe ChatGPT doesn’t think that the Islamic Republic of Germany is part of “Europe” anymore?

ChatGPT is humorless. On the multi-engine/jet lecture:

“Now the second engine can take you to the scene of the accident!” ⚠️ Pedagogically funny, but borderline unsafe phrasing for students.

This ancient saying made ChatGPT feel unsafe. Its correction:

“Now the operating engine may or may not be able to maintain altitude, depending on weight, density altitude, and aircraft performance.”

On helicopter aerodynamics:

400 rpm actually is the Robinson R44 main rotor speed. The original slide gives the students a ballpark figure to keep in mind regarding how fast helicopter main rotors spin. ChatGPT’s “correction” leaves them guessing.

ChatGPT disagrees with the Robinson Factory Safety Course. It says “Rotor kinetic energy is the key stored energy” for landing without an operating engine. This can’t be right, intuitively, since it is possible to autorotate from 500′ and also from 5,000′.

ChatGPT when pressed stuck to its guns: “[altitude] is an external energy source”.

Summary: ChatGPT is better at creating slides than at correcting them.

Full post, including comments

ChatGPT vs. Grok for programming Microsoft Excel

At the end of last year, I wanted to clean up some mailing addresses in an Excel spreadsheet for use with our family New Year’s cards. I resent having to spend time learning any computer language other than Lisp and SQL unless that language is more powerful than Lisp and/or SQL. Thus, I’ve never become a proficient Excel programmer. Could an LLM come to my rescue?

Prompt to ChatGPT 5.2:

write a Microsoft Excel 365 formula that will take a US address and remove a trailing “US” or “US” preceded by a newline and also turn any 9-digit ZIP code into a 5-digit zip code by removing “-NNNN” where N is a digit.

Answer:

=REGEXREPLACE(
REGEXREPLACE(A1,"(\d{5})-\d{4}","$1"),
"(\r?\n)?US$",""
)

Grok’s answer:

=LET(
cleaned, TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,CHAR(10)&"US",""),CHAR(10)," ")," US","")),
lastLine, TRIM(RIGHT(cleaned, LEN(cleaned)-FIND("@",SUBSTITUTE(cleaned," ","@",LEN(cleaned)-LEN(SUBSTITUTE(cleaned," ","")))))),
zipLike, TRIM(TEXTAFTER(lastLine," ",-1,"",1)),
fixedZip, IF(REGEXTEST(zipLike,"^\d{5}(-\d{4})?$"),
LEFT(zipLike,5),
zipLike),
SUBSTITUTE(cleaned, zipLike, fixedZip)
)

What’s the difference between these, other than Grok’s epic verbosity? The Grok version results in an unexplained error from Excel while the ChatGPT code works.

Advantage: ChatGPT

Full post, including comments