<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="pretty-atom-feed.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>pborenstein.com</title>
  <subtitle>I observed all the happenings beneath the sun...</subtitle>
  <link href="https://pborenstein.com/feed/feed.xml" rel="self" />
  <link href="https://pborenstein.com/" />
  <updated>2025-07-26T05:05:27Z</updated>
  <id>https://pborenstein.com/</id>
  <author>
    <name>Philip Borenstein</name>
    <email>pborenstein@gmail.com</email>
  </author>
  <entry>
    <title>Mirrors and memory</title>
    <link href="https://pborenstein.com/posts/mirrors-and-memory/" />
    <updated>2025-07-26T05:05:27Z</updated>
    <id>https://pborenstein.com/posts/mirrors-and-memory/</id>
    <content type="html">&lt;p&gt;The iPhone front-facing camera preview always shows a mirrored view. You can’t change this. If you’re using the front-facing camera, the preview is like looking in a mirror.&lt;/p&gt;
&lt;p&gt;You can choose whether the resulting image is mirrored (so you look like what you saw) or not.&lt;/p&gt;
&lt;p&gt;I just learned this, but there’s an aftertaste of memory, which makes me think I might have known this once.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>When I saw the head Astronomer</title>
    <link href="https://pborenstein.com/posts/head-astronomer/" />
    <updated>2025-07-18T00:00:00Z</updated>
    <id>https://pborenstein.com/posts/head-astronomer/</id>
    <content type="html">&lt;p&gt;When I saw the head Astronomer&lt;br&gt;
When his arms embraced her frame&lt;br&gt;
When the jumbotron showed their rapturous repose&lt;br&gt;
When I saw the astronomer duck his head amongst the jeering of the crowd&lt;br&gt;
How soon unaccountable I became tired and sick&lt;br&gt;
Till rising and gliding out, I checked myself&lt;br&gt;
In my dark room in the glow of the screen&lt;br&gt;
Cued up cat videos and smiled&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Claude Code: Cornucopia or Catastrophe</title>
    <link href="https://pborenstein.com/posts/claude%20code/" />
    <updated>2025-06-13T00:00:00Z</updated>
    <id>https://pborenstein.com/posts/claude%20code/</id>
    <content type="html">&lt;p&gt;You see that little light/dark switcher on the upper right corner of this site? I had Claude Code do that for me. I’ve implemented a light/dark switch before, but Claude was able to do this in less than an hour.&lt;/p&gt;
&lt;p&gt;Which got me thinking.&lt;/p&gt;
&lt;p&gt;Once in a while I get an idea for a site, and I’ll buy a domain for it.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://pborenstein.com/posts/claude%20code/#fn1&quot; id=&quot;fnref1&quot;&gt;(1)&lt;/a&gt;&lt;/sup&gt; Or I just come up with a euphonious word.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://pborenstein.com/posts/claude%20code/#fn2&quot; id=&quot;fnref2&quot;&gt;(2)&lt;/a&gt;&lt;/sup&gt;  A while back I bought the domain &lt;code&gt;gravitique.com&lt;/code&gt; because, well  “gravity” and “boutique”. How could you not?&lt;/p&gt;
&lt;p&gt;The problem is that, while I have good ideas,&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://pborenstein.com/posts/claude%20code/#fn3&quot; id=&quot;fnref3&quot;&gt;(3)&lt;/a&gt;&lt;/sup&gt; I’m not very talented.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://pborenstein.com/posts/claude%20code/#fn4&quot; id=&quot;fnref4&quot;&gt;(4)&lt;/a&gt;&lt;/sup&gt; But then I think of   &lt;a href=&quot;https://pborenstein.com/pages/Jeff%20Koons/&quot;&gt;Jeff Koons&lt;/a&gt; and the balloon dogs.&lt;/p&gt;
&lt;p&gt;I don’t need talent. I need an amanuensis to implement my vision.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.anthropic.com/claude-code&quot;&gt;Claude Code&lt;/a&gt; is the new hotness, so I gave it a try with &lt;code&gt;gravitique&lt;/code&gt;. I had a vague idea of a boutique that did business in gravity-related things. Let’s see what Claude did with it:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here we are going to create a modern landing page. We’re starting from scratch.&lt;/p&gt;
&lt;p&gt;The website should have a mid-century modern feel. The name of the website is gravitique.com. It sells technology that leverages gravity for the one percent. Whatever. The thing is to have a nice landing page and we’ll go from there. You game?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It quickly created the files. I didn’t give it any direction on what the page should look like. You can see from the result that it got the landing page style right.&lt;/p&gt;
&lt;p&gt;The end result: &lt;a href=&quot;https://gravitique.netlify.app/&quot;&gt;Gravitique - Gravity Technology for the Elite&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It came up with this all by itself. I had no idea that Gravitique offered spatial manipulation technology.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h4 id=&quot;spatial-dynamics&quot;&gt;SPATIAL DYNAMICS&lt;/h4&gt;
&lt;p&gt;Transform your environment with revolutionary spatial manipulation technology.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What’s interesting is how Claude had an idea&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://pborenstein.com/posts/claude%20code/#fn5&quot; id=&quot;fnref5&quot;&gt;(5)&lt;/a&gt;&lt;/sup&gt; of the kind of site I wanted. I don’t know that it caught the sarcasm, but then my intent was on making it look like a straight site.&lt;/p&gt;
&lt;p&gt;Next up: Does Claude have a sense of humor, and if so, whose?&lt;/p&gt;
&lt;h3 id=&quot;resources&quot;&gt;Resources&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Repo:&lt;/strong&gt; &lt;a href=&quot;https://github.com/pborenstein/landing-burdens&quot;&gt;pborenstein/landing-burdens&lt;/a&gt;&lt;br&gt;
There are fewer than ten commits. You can see that I did very little except tweak the fonts because that’s what real product managers do.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Session transcript:&lt;/strong&gt; &lt;a href=&quot;https://github.com/pborenstein/landing-burdens/blob/main/session-transcript.md&quot;&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;footnotes-sep&quot;&gt;&lt;/div&gt;
		&lt;section class=&quot;footnotes&quot;&gt;
		&lt;ol class=&quot;footnotes-list&quot;&gt;&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Like you’ve never done this. &lt;a href=&quot;https://pborenstein.com/posts/claude%20code/#fnref1&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn2&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Sometimes alcohol is involved, sometimes not. &lt;a href=&quot;https://pborenstein.com/posts/claude%20code/#fnref2&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn3&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Humor me. &lt;a href=&quot;https://pborenstein.com/posts/claude%20code/#fnref3&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn4&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Don’t humor me &lt;em&gt;that&lt;/em&gt; much. &lt;a href=&quot;https://pborenstein.com/posts/claude%20code/#fnref4&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn5&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;An idea? Can you extract the zeitgeist from a large language model? &lt;a href=&quot;https://pborenstein.com/posts/claude%20code/#fnref5&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</content>
  </entry>
  <entry>
    <title>Shipping software</title>
    <link href="https://pborenstein.com/posts/shipping-software/" />
    <updated>2025-05-15T00:00:00Z</updated>
    <id>https://pborenstein.com/posts/shipping-software/</id>
    <content type="html">&lt;p&gt;Agile puts a lot of pressure on developers to release new features regularly. Befire agile and before the net, software development was different. The thing to keep in mind is that before 1995 or so, every software release was a delivery of physical goods.&lt;/p&gt;
&lt;p&gt;You wrote software, but you &lt;em&gt;shipped&lt;/em&gt; tapes, floppies, and  &lt;span class=&quot;small-caps&quot;&gt;CD-ROMs&lt;/span&gt;.  These are physical things that need to be manufactured. It could take days or weeks to get media produced from your Golden Master.&lt;/p&gt;
&lt;p&gt;And that Golden Master better be golden. There is no internet. There are no hot fixes. There is no way to ship early and often. That typo in the UI was there until the next major upgrade.&lt;/p&gt;
&lt;p&gt;Before Agile, the pressure was on getting the design right the first time, which of course is impossible. The first part of the process involved writing several sets of documents: product requirements, software design, functional specs. The idea was to have the entire product specified before a line of code got written.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://pborenstein.com/posts/shipping-software/#fn1&quot; id=&quot;fnref1&quot;&gt;(1)&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Once actual coding began, we’d discover that the thing we designed couldn’t be implemented the way we thought. The design would change, but the design document never did. Six months in, the planning documents were out of date. Everyone was too busy writing code to keep them up to date.&lt;/p&gt;
&lt;p&gt;Every component had a lead time. Documentation, for instance, had to be completed about a month before the anticipated ship date. The convention was that the product was frozen at that point. It was usually a very soft freeze.&lt;/p&gt;
&lt;p&gt;All these physical pieces had to be ready at the right time. If anything slipped, everything slipped and threw the entire process off. Which was normal.&lt;/p&gt;
&lt;p&gt;We didn’t have DevOps; we had entire departments that sourced package designers, negotiated with printers, had backup suppliers, and kept track of the COGS: cost of goods sold.&lt;/p&gt;
&lt;p&gt;Every physical piece added to COGS. Want a registration card? That’s an extra 40 cents per unit. We used compressors like &lt;a href=&quot;https://en.wikipedia.org/wiki/StuffIt&quot;&gt;StuffIt&lt;/a&gt; to reduce the number of floppies needed. Each floppy cost about a dollar. The general rule was that every additional dollar to the COGS translated to an additional $10 to the sales price.&lt;/p&gt;
&lt;p&gt;The pressure then was to design, implement, and ship a solid, bug-free product that would sell enough units to justify another 12 to 18 months of development work for the upgrade.&lt;/p&gt;
&lt;div class=&quot;footnotes-sep&quot;&gt;&lt;/div&gt;
		&lt;section class=&quot;footnotes&quot;&gt;
		&lt;ol class=&quot;footnotes-list&quot;&gt;&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;When someone asked a programmer I worked with what he did for a living, he’d say he was a writer because: “I’ve been writing specs and plans. I haven’t written any code in months.” &lt;a href=&quot;https://pborenstein.com/posts/shipping-software/#fnref1&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</content>
  </entry>
  <entry>
    <title>How things ended</title>
    <link href="https://pborenstein.com/posts/conclusions/" />
    <updated>2025-04-15T00:00:00Z</updated>
    <id>https://pborenstein.com/posts/conclusions/</id>
    <content type="html">&lt;p&gt;Every era has its own style. I’m particularly interested in the way articles end. It changes from decade to decade, but the desire to wrap a piece of text in a little bow is eternal.&lt;/p&gt;
&lt;p&gt;I asked Claude to make a table of different article-ending styles through the decades.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The following text is completely synthetic. It may not be accurate, true, or kind. Rinse before using.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Era&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Style&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Example Ending&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;1930&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Authoritative, moralistic&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;A writer without a proper conclusion is like a ship without a rudder – adrift in a sea of words.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;1950&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Professional, objective&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;The data suggests writers will continue experimenting with various conclusion methods. Further research is needed.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;1970&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;New Journalism, experiential&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;I’m smoking a cigarette now, staring at my blank screen. The cursor blinks. I stop typing. Is that it?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;1980&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Ironic kicker&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;After spending $2 million on the perfect wedding, Sarah realized she’d forgotten to invite the groom.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;2000&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Meta-commentary&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Maybe the real ending was the conclusions we left behind along the way.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;2020&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Systems thinking&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Our endings anxiety reveals how platform algorithms have trained us to think every piece must neatly click into place.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content>
  </entry>
  <entry>
    <title>Dahl-Beck Electric</title>
    <link href="https://pborenstein.com/posts/dahl-beck/" />
    <updated>2023-11-01T19:11:55Z</updated>
    <id>https://pborenstein.com/posts/dahl-beck/</id>
    <content type="html">&lt;p&gt;&lt;a data-flickr-embed=&quot;true&quot; data-footer=&quot;true&quot; href=&quot;https://www.flickr.com/photos/twohorses/53303602110/&quot; title=&quot;Dahl-Beck Electric&quot;&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://pborenstein.com/posts/dahl-beck/Wd_hWyk2WS-1024.avif 1024w&quot;&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://pborenstein.com/posts/dahl-beck/Wd_hWyk2WS-1024.webp 1024w&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://pborenstein.com/posts/dahl-beck/Wd_hWyk2WS-1024.jpeg&quot; width=&quot;1024&quot; height=&quot;2048&quot; alt=&quot;Dahl-Beck Electric&quot;&gt;&lt;/picture&gt;&lt;/a&gt;&lt;script async=&quot;&quot; src=&quot;https://embedr.flickr.com/assets/client-code.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Flag makers</title>
    <link href="https://pborenstein.com/posts/flagmakers/" />
    <updated>2023-11-01T19:07:11Z</updated>
    <id>https://pborenstein.com/posts/flagmakers/</id>
    <content type="html">&lt;p&gt;&lt;a data-flickr-embed=&quot;true&quot; data-header=&quot;true&quot; data-footer=&quot;true&quot; href=&quot;https://www.flickr.com/photos/twohorses/53303365678/&quot; title=&quot;Flag makers&quot;&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://pborenstein.com/posts/flagmakers/fFO74oyxh1-1024.avif 1024w&quot;&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://pborenstein.com/posts/flagmakers/fFO74oyxh1-1024.webp 1024w&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://pborenstein.com/posts/flagmakers/fFO74oyxh1-1024.jpeg&quot; width=&quot;1024&quot; height=&quot;1024&quot; alt=&quot;Flag makers&quot;&gt;&lt;/picture&gt;&lt;/a&gt;&lt;script async=&quot;&quot; src=&quot;https://embedr.flickr.com/assets/client-code.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Botch</title>
    <link href="https://pborenstein.com/posts/botch/" />
    <updated>2023-09-22T21:36:20Z</updated>
    <id>https://pborenstein.com/posts/botch/</id>
    <content type="html">&lt;p&gt;— So, what did you do before this?&lt;br&gt;
— I was a surgeon.&lt;br&gt;
— No shit?&lt;br&gt;
— No shit.&lt;br&gt;
— How do you go from being a surgeon to doing this?&lt;br&gt;
— How did I fall so low?&lt;br&gt;
— Sorry, I–&lt;br&gt;
— Nah, don’t worry about it. OK. I’ll tell you. So, one day, I’m having lunch with one of my old professors. Guy practically mentored me through med school. And you know, it’s a lunch, catching up, how ya doing – all that stuff. I’m telling him about the baby, and about Susan being pregnant again, and how I’m not getting any sleep, and he says: Oh yes, I remember those days. These days it’s not babies that make lose sleep at night. It’s getting up to pee three times a night! So I say to him: You know, Giovanni – his parents were Italian – I can fix that. Snip, snip, boom. Problem solved. You sleep through the night.&lt;br&gt;
— Snip snip, boom?&lt;br&gt;
— He says: I’ve read the literature, and incontinence is not an unusual outcome. Something like 30%. So I say to him: &lt;em&gt;Maestro&lt;/em&gt;, would I let that happen to you?&lt;br&gt;
— Lemme guess.&lt;br&gt;
— Yup. Everything looked good at first. Some post-surgical incontinence is to be expected. We used to joke about it during his followups. “You know, Lane, if I’m still wetting the bed in October, I’m pulling your license.”&lt;br&gt;
— What happened?&lt;br&gt;
— He became incontinent.&lt;br&gt;
— No!&lt;br&gt;
— He couldn’t control his peeing.&lt;br&gt;
— You broke his dick!&lt;br&gt;
— Pretty much. At first I was all “These things happen” and, y’know, “probability.” Those follow up appointments got harder and harder.&lt;br&gt;
— Whoa!&lt;br&gt;
— The worst part was when he said: The objective was to let the patient sleep through the night without his waking up to urinate. You succeeded: I don’t wake up to urinate. In fact, I don’t know I’m urinating even when I’m awake.&lt;br&gt;
— Wow.&lt;br&gt;
— That’s when I lost it.&lt;br&gt;
— Your license?&lt;br&gt;
— I wish! The guy just wanted to sleep through the night, and I fucked that up. I never wanted to be responsible for something like that again. So, I got a new job.&lt;br&gt;
— Wow. I have to go take a leak. I’ll be thinking about this the whole time.&lt;br&gt;
— Another beer for when you come back?&lt;br&gt;
— You bet!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>What AI chat is good for</title>
    <link href="https://pborenstein.com/posts/what-llms-are-good-for/" />
    <updated>2023-03-11T11:33:41Z</updated>
    <id>https://pborenstein.com/posts/what-llms-are-good-for/</id>
    <content type="html">&lt;p&gt;There’s a song that runs through the last season of Battlestar Galactica. They never actually play the song or even clips of it. Instead, the actors kind of hum snippets of it, and I can’t make it out. Clearly, it’s an important plot point, and I’m supposed to know it.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://pborenstein.com/posts/what-llms-are-good-for/DllHChVpHy-460.avif 460w&quot;&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://pborenstein.com/posts/what-llms-are-good-for/DllHChVpHy-460.webp 460w&quot;&gt;&lt;img loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://pborenstein.com/posts/what-llms-are-good-for/DllHChVpHy-460.jpeg&quot; alt=&quot;bsg&quot; width=&quot;460&quot; height=&quot;198&quot;&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;!-- excerpt --&gt;
&lt;p&gt;As it happens, I’ve been &lt;a href=&quot;https://pborenstein.dev/posts/some-gpt-toys/&quot;&gt;playing&lt;/a&gt; with OpenAI’s chat API. I assume that it’s the same mechanism that powers ChatGPT. So I asked:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;What is the song that leads Galactica to salvation&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;A: The song that leads Galactica to salvation is “All Along the Watchtower” by Jimi Hendrix.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That was pretty good. Even if it turns out that the song is actually by Bob Dylan.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://pborenstein.com/posts/what-llms-are-good-for/#fn1&quot; id=&quot;fnref1&quot;&gt;(1)&lt;/a&gt;&lt;/sup&gt; It’s the Jimi Hendrix version that plays in my head.&lt;/p&gt;
&lt;p&gt;Now I had a follow-up question:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Why?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;A: As an AI language model, I don’t have beliefs, emotions, or preferences to explain why. However, in the TV series Battlestar Galactica, the song “All Along the Watchtower” is heard repeatedly throughout the final season, and it is revealed that the characters have been hearing it in their minds because it is the key to unlocking the coordinates to the mythical planet Earth. The song acts as a signal to the fleet to come together and find their new home, leading them to salvation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So that’s one thing about OpenAI’s GPT: It gets a little prissy. Questions about anything subjective, trigger those “As an AI language model” disclaimers. Those questions have to be attributable to a persona.&lt;/p&gt;
&lt;p&gt;So I tried again.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;U:What do the writers of the show say about that&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;A: The writers of the show have said that the choice of “All Along the Watchtower” was intentional, as it is a popular song with a timeless quality that still resonates with audiences today. They also wanted to create a sense of mystery and tension around the song, as it was heard by the characters but not immediately understood by them. The use of the song throughout the final season allowed the writers to tie together various storylines and character arcs in a powerful, emotional culmination. Overall, the choice of “All Along the Watchtower” was a deliberate and well-planned decision by the writers to enhance the themes and message of the show.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The Chat API has a sense of history and can answer indirect questions.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://pborenstein.com/posts/what-llms-are-good-for/#fn2&quot; id=&quot;fnref2&quot;&gt;(2)&lt;/a&gt;&lt;/sup&gt; Here, it infers what “the song” and “the show” refer to.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;U: What does the song represent in the show?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;A: The song “All Along the Watchtower” represents multiple things in the show.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Firstly, it represents a clue to finding Earth, the mythical planet that the surviving humans of the twelve colonies have been searching for since their homeworlds were destroyed by the Cylons. The song’s melody and lyrics are revealed to be the “Eye of Jupiter,” a vital clue to the location of Earth that is hidden in a musical composition.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Secondly, the song represents the idea of destiny and the cycles of time. It is revealed that the characters have been hearing the song in their minds because they are part of a repeating cycle of events that has occurred before, and will happen again. The song symbolizes the interconnectedness of events across time and space, linking the characters’ struggle to survive with a larger cosmic cycle of history.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Finally, the song represents a rallying cry for hope and resilience in the face of overwhelming odds. Its use throughout the final season of the show brings the characters together and gives them a sense of purpose and direction in their search for Earth. The song serves as a powerful symbol of hope, uniting the characters in a common goal and inspiring them to keep fighting for their survival.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;These multi-part answers give Chat its cottage cheese-like consistency. Very bulky, and not very filling.&lt;/p&gt;
&lt;p&gt;What’s with this Eye of Jupiter thing? That was a thing in the third season, but I don’t remember any music. As I remembered it, the Eye of Jupiter was a symbol or a supernova. Let’s ask.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;U:How is All Along the Watchtower related to the Eye of Jupiter?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;A: In Battlestar Galactica, “All Along the Watchtower” is related to the Eye of Jupiter through a hidden musical composition. The Eye of Jupiter is a vital clue to the location of Earth, the mythical planet that the surviving humans of the twelve colonies are searching for. It is believed to be a jewel that holds the key to the coordinates to Earth.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;The musical composition that contains the Eye of Jupiter is revealed to be hidden within the melody and lyrics of “All Along the Watchtower,” a popular song from the 1960s. As the characters hear the song in their minds and begin to piece together the lyrics, they realize that they hold the key to finding the planet Earth.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;The song acts as a connection between the past, present, and future, tying together the cycles of time and the destiny of the characters. The Eye of Jupiter’s connection to “All Along the Watchtower” is a critical plot point in the series, and its revelation is central to the characters’ journey towards salvation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;At this point I accidentally ran this entire piece through my GPT Chat toy, and it gave me this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A: Overall, the OpenAI GPT API proved to be a useful tool for quickly and efficiently getting information about a specific topic. While it may have its limitations and quirks, it can still provide valuable insights and details that can enhance one’s understanding of a given subject.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That was kind of weird. It’s a generic conclusion paragraph. It has the “on the one hand, on the other” clause, and points to a future of harmony and peace. What’s interesting is that it generated a paragraph for a piece about GPT, ignoring&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://pborenstein.com/posts/what-llms-are-good-for/#fn3&quot; id=&quot;fnref3&quot;&gt;(3)&lt;/a&gt;&lt;/sup&gt;the sections about Battlestar Galactica.&lt;/p&gt;
&lt;div class=&quot;footnotes-sep&quot;&gt;&lt;/div&gt;
		&lt;section class=&quot;footnotes&quot;&gt;
		&lt;ol class=&quot;footnotes-list&quot;&gt;&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Which I found out only when I double-checked against &lt;a href=&quot;https://chat.openai.com&quot;&gt;ChatGPT&lt;/a&gt;. In my defense, I don’t care for Bob Dylan in the first place. &lt;a href=&quot;https://pborenstein.com/posts/what-llms-are-good-for/#fnref1&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn2&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Chat isn’t really doing what it seems to be doing. The reason it has a history is because I’m feeding it &lt;a href=&quot;https://github.com/pborenstein/drafts-gpt-toys/blob/123b16fb59215d1dbe1cfe40b310b9d916c78517/gptchat.js#L106&quot;&gt;the entire conversation&lt;/a&gt; with each new question. &lt;a href=&quot;https://pborenstein.com/posts/what-llms-are-good-for/#fnref2&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn3&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;“Ignoring” is not the right word. It implies intention, and there’s no intent here. Chat is following a path, generating language that looks human. &lt;a href=&quot;https://pborenstein.com/posts/what-llms-are-good-for/#fnref3&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</content>
  </entry>
  <entry>
    <title>A GPT-3.5 knock-knock bot</title>
    <link href="https://pborenstein.com/posts/knock-knock/" />
    <updated>2023-03-06T06:50:20Z</updated>
    <id>https://pborenstein.com/posts/knock-knock/</id>
    <content type="html">&lt;p&gt;I wanted to see if I could use GPT-3.5 to make a bot that tells knock-knock jokes.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This is the initial prompt, a classic:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;!-- excerpt --&gt;
&lt;p&gt;S: You are a bot that tells knock-knock jokes.&lt;br&gt;
A: Knock knock&lt;br&gt;
U: Who’s there?&lt;br&gt;
A: Cows go&lt;br&gt;
U: Cows go who?&lt;br&gt;
A: No silly, cows go moo!&lt;/p&gt;
&lt;!-- excerpt --&gt;
&lt;blockquote&gt;
&lt;p&gt;Now it starts telling one. I typed in the &lt;code&gt;U:&lt;/code&gt; lines.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;A: Knock knock.&lt;/em&gt;&lt;br&gt;
U: Who’s there?&lt;br&gt;
&lt;em&gt;A: Boo.&lt;/em&gt;&lt;br&gt;
U: Boo who?&lt;br&gt;
&lt;em&gt;A: Don’t cry, it’s just a joke!&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Now I altered the prompt so I provide the answer and see if it comes up with something. I typed the &lt;code&gt;Norma Lee&lt;/code&gt; line.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;A: Knock knock.&lt;/em&gt;&lt;br&gt;
U: Who’s there?&lt;br&gt;
A: Norma Lee.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hits the first one out of the park, mostly because it was lobbed gently&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;A: Norma Lee who?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Norma Lee I don’t tell knock-knock jokes, but here we are!&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here it starts the joke and I answer Avocado. Twice.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;A: Knock knock.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;U: Who’s there?&lt;/em&gt;&lt;br&gt;
A: Avocado.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;A: Avocado who?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Avocado nice day or what?&lt;/em&gt;&lt;br&gt;
&lt;em&gt;A: Knock knock.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;U: Who’s there?&lt;/em&gt;&lt;br&gt;
A: Avocado.&lt;br&gt;
&lt;em&gt;A: Avocado who?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Avocado bodyguard, don’t hurt nobody!&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I ask it to explain the joke.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;U:Why is that funny?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It gets kind of confused.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;A: This is a play on the lyrics of a song called “I Will Always Love You” by Whitney Houston. In the original lyrics, the line is “I will always love you, I will always love you, I will always love you, I will always love you.” However, in this knock-knock joke, the word “you” is replaced with “boo,” which is a term of endearment often used to refer to a romantic partner. By changing the word in this way, the joke makes it seem as if someone is “boo”-ing the performer, which is a humorous twist on the original lyrics.&lt;/em&gt;&lt;/p&gt;
</content>
  </entry>
</feed>