<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: language</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/language.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2026-02-12T16:47:04+00:00</updated><author><name>Simon Willison</name></author><entry><title>Supervisor, not overseer</title><link href="https://simonwillison.net/2026/Feb/12/supervisor/#atom-tag" rel="alternate"/><published>2026-02-12T16:47:04+00:00</published><updated>2026-02-12T16:47:04+00:00</updated><id>https://simonwillison.net/2026/Feb/12/supervisor/#atom-tag</id><summary type="html">
    &lt;p&gt;In my &lt;a href="https://simonwillison.net/2026/Feb/10/showboat-and-rodney/"&gt;post about my Showboat project&lt;/a&gt; I used the term "overseer" to refer to the person who manages a coding agent. It turns out that's a term tied to &lt;a href="https://en.wikipedia.org/wiki/Plantations_in_the_American_South#Overseer"&gt;slavery and plantation management&lt;/a&gt;. So that's gross! I've edited that post to use "supervisor" instead, and I'll be using that going forward.&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/language"&gt;language&lt;/a&gt;&lt;/p&gt;



</summary><category term="language"/></entry><entry><title>Semantic Diffusion</title><link href="https://simonwillison.net/2025/Mar/23/semantic-diffusion/#atom-tag" rel="alternate"/><published>2025-03-23T18:30:33+00:00</published><updated>2025-03-23T18:30:33+00:00</updated><id>https://simonwillison.net/2025/Mar/23/semantic-diffusion/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://martinfowler.com/bliki/SemanticDiffusion.html"&gt;Semantic Diffusion&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
I &lt;a href="https://bsky.app/profile/mattchughes.ca/post/3ll2sbdky3k2y"&gt;learned about&lt;/a&gt; this term today while complaining about how the definition of "vibe coding" is already being distorted to mean "any time an LLM writes code" as opposed to &lt;a href="https://simonwillison.net/2025/Mar/19/vibe-coding/"&gt;the intended meaning&lt;/a&gt; of "code I wrote with an LLM without even reviewing what it wrote".&lt;/p&gt;
&lt;p&gt;I posted &lt;a href="https://bsky.app/profile/simonwillison.net/post/3ll2rtxeucs2e"&gt;this salty note&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Feels like I'm losing the battle on this one, I keep seeing people use "vibe coding" to mean any time an LLM is used to write code&lt;/p&gt;
&lt;p&gt;I'm particularly frustrated because for a few glorious moments we had the chance at having ONE piece of AI-related terminology with a clear, widely accepted definition!&lt;/p&gt;
&lt;p&gt;But it turns out people couldn't be trusted to read all the way to the end of Andrej's tweet, so now we are back to yet another term where different people assume it means different things&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Martin Fowler coined Semantic Diffusion in 2006 with this very clear definition:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Semantic diffusion occurs when you have a word that is coined by a person or group, often with a pretty good definition, but then gets spread through the wider community in a way that weakens that definition. This weakening risks losing the definition entirely - and with it any usefulness to the term. [...]&lt;/p&gt;
&lt;p&gt;Semantic diffusion is essentially a succession of the &lt;a href="https://en.wikipedia.org/w/index.php?title=Telephone_game"&gt;telephone game&lt;/a&gt; where a different group of people to the originators of a term start talking about it without being careful about following the original definition.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What's happening with vibe coding right now is such a clear example of this effect in action! I've seen &lt;a href="https://simonwillison.net/2024/Mar/5/prompt-injection-jailbreaking/"&gt;the same thing happen&lt;/a&gt; to my own coinage &lt;a href="https://simonwillison.net/2022/Sep/12/prompt-injection/"&gt;prompt injection&lt;/a&gt; over the past couple of years.&lt;/p&gt;
&lt;p&gt;This kind of dillution of meaning is frustrating, but does appear to be inevitable. As Martin Fowler points out it's most likely to happen to popular terms - the more popular a term is the higher the chance a game of telephone will ensue where misunderstandings flourish as the chain continues to grow.&lt;/p&gt;
&lt;p&gt;Andrej Karpathy, who &lt;a href="https://twitter.com/karpathy/status/1886192184808149383"&gt;coined&lt;/a&gt; vibe coding, &lt;a href="https://twitter.com/karpathy/status/1903870973126045712"&gt;posted this&lt;/a&gt; just now in reply to my &lt;a href="https://simonwillison.net/2025/Mar/19/vibe-coding/"&gt;article&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Good post! It will take some time to settle on definitions. Personally I use "vibe coding" when I feel like this dog. My iOS app last night being a good example. But I find that in practice I rarely go full out vibe coding, and more often I still look at the code, I add complexity slowly and I try to learn over time how the pieces work, to ask clarifying questions etc.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Animated GIF.  I have no idea what I'm doing - a dog wags its tail while inspecting the engine of a car and looking gormless" src="https://static.simonwillison.net/static/2025/vibe-coding.gif" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I love that vibe coding has an official illustrative GIF now!


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/definitions"&gt;definitions&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/language"&gt;language&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/andrej-karpathy"&gt;andrej-karpathy&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/vibe-coding"&gt;vibe-coding&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/martin-fowler"&gt;martin-fowler&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/semantic-diffusion"&gt;semantic-diffusion&lt;/a&gt;&lt;/p&gt;



</summary><category term="definitions"/><category term="language"/><category term="andrej-karpathy"/><category term="vibe-coding"/><category term="martin-fowler"/><category term="semantic-diffusion"/></entry><entry><title>Quoting Brad Frost</title><link href="https://simonwillison.net/2017/Nov/24/just/#atom-tag" rel="alternate"/><published>2017-11-24T17:07:57+00:00</published><updated>2017-11-24T17:07:57+00:00</updated><id>https://simonwillison.net/2017/Nov/24/just/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://bradfrost.com/blog/post/just/"&gt;&lt;p&gt;“Just” makes me feel like an idiot. “Just” presumes I come from a specific background, studied certain courses in university, am fluent in certain technologies, and have read all the right books, articles, and resources. “Just” is a dangerous word.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://bradfrost.com/blog/post/just/"&gt;Brad Frost&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/language"&gt;language&lt;/a&gt;&lt;/p&gt;



</summary><category term="language"/></entry><entry><title>Language Detection: A Witch's Brew?</title><link href="https://simonwillison.net/2009/Dec/5/language/#atom-tag" rel="alternate"/><published>2009-12-05T17:30:33+00:00</published><updated>2009-12-05T17:30:33+00:00</updated><id>https://simonwillison.net/2009/Dec/5/language/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://code.flickr.com/blog/2009/12/04/language-detection-a-witchs-brew/"&gt;Language Detection: A Witch&amp;#x27;s Brew?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The Flickr team make the case for using the Accept-Language header over IP detection to pick a site’s language, with a simple UI for switching languages in case you get it wrong. They’ve been using this for two and a half years without any significant problems.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/flickr"&gt;flickr&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/http"&gt;http&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/i18n"&gt;i18n&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/l10n"&gt;l10n&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/languagdetection"&gt;languagdetection&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/language"&gt;language&lt;/a&gt;&lt;/p&gt;



</summary><category term="flickr"/><category term="http"/><category term="i18n"/><category term="l10n"/><category term="languagdetection"/><category term="language"/></entry><entry><title>Understanding Engineers: Feasibility</title><link href="https://simonwillison.net/2007/Jul/17/fishbowl/#atom-tag" rel="alternate"/><published>2007-07-17T10:24:09+00:00</published><updated>2007-07-17T10:24:09+00:00</updated><id>https://simonwillison.net/2007/Jul/17/fishbowl/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://fishbowl.pastiche.org/2007/07/17/understanding_engineers_feasibility"&gt;Understanding Engineers: Feasibility&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Charles Miller provides smart definitions of what programmers mean when they say “impossible”, “trivial”, “unfeasible”, “non-trivial”, “hard” and “very hard”.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/charles-miller"&gt;charles-miller&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hard"&gt;hard&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/language"&gt;language&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/nontrivial"&gt;nontrivial&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/programmers"&gt;programmers&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/programming"&gt;programming&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/trivial"&gt;trivial&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/unfeasible"&gt;unfeasible&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/veryhard"&gt;veryhard&lt;/a&gt;&lt;/p&gt;



</summary><category term="charles-miller"/><category term="hard"/><category term="language"/><category term="nontrivial"/><category term="programmers"/><category term="programming"/><category term="trivial"/><category term="unfeasible"/><category term="veryhard"/></entry><entry><title>Translations of My hovercraft is full of eels in many languages</title><link href="https://simonwillison.net/2007/Apr/27/translations/#atom-tag" rel="alternate"/><published>2007-04-27T11:14:29+00:00</published><updated>2007-04-27T11:14:29+00:00</updated><id>https://simonwillison.net/2007/Apr/27/translations/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.omniglot.com/language/phrases/hovercraft.htm"&gt;Translations of My hovercraft is full of eels in many languages&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Great for unicode testing.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://www.pointy-stick.com/blog/2007/04/27/best-foreign-language-test-phrase-ever/"&gt;Malcolm Tredinnick&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/language"&gt;language&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/malcolm-tredinnick"&gt;malcolm-tredinnick&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/unicode"&gt;unicode&lt;/a&gt;&lt;/p&gt;



</summary><category term="language"/><category term="malcolm-tredinnick"/><category term="unicode"/></entry><entry><title>Web APIs, not Web Services</title><link href="https://simonwillison.net/2006/May/26/webapis/#atom-tag" rel="alternate"/><published>2006-05-26T09:22:57+00:00</published><updated>2006-05-26T09:22:57+00:00</updated><id>https://simonwillison.net/2006/May/26/webapis/#atom-tag</id><summary type="html">
    &lt;p id="p-0"&gt;In &lt;a href="http://www.mnot.net/blog/2006/05/25/web_services"&gt;Web Services are Dead, Long Live Web Services&lt;/a&gt;, Mark Nottingham suggests HTTP Web Services as a better phrase for discussing machine-to-machine communication using HTTP where the WS-* stack isn't assumed.&lt;/p&gt;

&lt;p id="p-1"&gt;I'd go a step further and say that the word "services" is ambiguous and confusing. I've met people who think that a Web Service is any application that you access over the Web - and it's easy to understand their confusion.&lt;/p&gt;

&lt;p id="p-2"&gt;I propose &lt;dfn&gt;Web APIs&lt;/dfn&gt; as a better alternative. They're APIs that you call over the Web. No &lt;a href="http://www.loudthinking.com/arc/000585.html"&gt;Deathstar&lt;/a&gt; required.&lt;/p&gt;

&lt;p id="p-3"&gt;&lt;strong&gt;Update:&lt;/strong&gt; Joe Gregorio &lt;a href="http://bitworking.org/projects/XML2005/presentation/atom-publishing-protocol.html#slide14"&gt;argues against the term API&lt;/a&gt; in this presentation from last year.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/language"&gt;language&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-services"&gt;web-services&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="language"/><category term="web-services"/></entry></feed>