Monday, May 04, 2026

A rose by any other name...

The WaPo has a fun article showing the rightward or leftware tilt of a bunch of first and last names. It's not super-surprising that names common among Black and Jewish people tend to belong to Democrats, and names common to White Anglo-Saxon people tend to belong to Republicans. My name, Epstein, is Jewish, and wouldn't you know it, the name Epstein tilts hugely Democratic. Alex tilts a little bit blue. 

Where this survey is useful narratively is if you are naming a fictional character. If you want your reader to feel like your female NPC is 50ish, call her Lisa. 40ish, call her Jennifer. I often check out the US Census charts to see what a common name was around when my NPC was born.

Similarly, naming a character Brock or Darlene suggests a Republican, while Gracie and Mattie are probably Democrats. 

Handy, huh?

Saturday, May 02, 2026

By the way, Ophelia is pregnant...

I wrote this in 2008 and put it up on my old website. But now I realize my old website is no longer there. So here it is again:


Has anyone noticed that Ophelia is pregnant? In all the productions of Hamlet that I've seen, she is interpreted as an innocent girl in love with the doomed Prince. He breaks her heart, and her sanity goes with it. She drowns herself out of madness.

But maybe her madness has method to it. In Ophelia's first scene (I, iii), her brother Laertes warns her to beware of Hamlet's affection for her

"For Hamlet and the trifling of his favor,
Hold it a fashion and a toy in blood...
no more."

In other words: the Prince is toying with you. Ophelia demurs ("No more but so?") but appears to submit to her brother's wishes.

Later in the same scene, Ophelia's father Polonius complains,

"'Tis told me, he hath very oft of late
Given private time to you, and you yourself
Have of your audience been most free and bounteous."

That is, "You've been spending a lot of time alone with this guy," with a hint of "you've been giving him too much." Ophelia, in the time-honored tradition of daughters lying to fathers, claims the relationship is completely innocent: "he hath importun'd me with love / In honorable fashion."

In II, ii, while pretending to be mad, Hamlet warns Polonius that "Conception is a blessing, but not as your daughter may conceive - friend look to't'.
[Thanks to reader Winnie H for this point.]

Then, as Carol Malone notes in her blog post about this very article, Polonius observes,

"How pregnant sometimes his replies are!" (II.II, 220)

If the audience thinks Ophelia's pregnant -- having her put her hand on her belly once in Act I will do it -- then having Hamlet pun on "conceive" and then having Polonius obliviously say Hamlet's replies are "pregnant" -- well, the groundlings are elbowing each other in the ribs at this point.

Act III kicks it up a notch. In III:i, Hamlet probably overhears the King and Polonius setting Ophelia to spy on him. (I say probably, because all that's needed is for Hamlet to enter seven lines before he speaks; that explains why he turns on her.) Ophelia listens to his famous so-called soliloquy. Then he pretends to notice her for the first time, and says, with beautiful poetry and really amazing viciousness:

Nymph, in thy orisons
be all my sins remembered.

Orisons are prayers: "Girl, remember all my sins in your prayers." This could mean just, "Pray for me," but Shakespeare's slyer than that. How can she remember his sins, unless they sinned together?

(It's not a soliloquy, as David Ball notes in his excellent book Backwards and Forwards; it's a monologue. Hamlet knows she's listening. He even calls death, "The bourne from which no traveler returns" but he knows better. His father has bloody well returned from it!)

Hamlet really lays into Ophelia in III:i, ending by telling her, "To a nunnery, go!" In high school they tell you that "nunnery" was slang for a whorehouse, but it is also, more literally, an excellent place for a family to send a pregnant, unmarried noblewoman. The nuns will take care of her, and keep her out of sight, and the baby can be handed off to someone else to raise.

But it is the mad songs that Ophelia sings in IV:7 that really give away her secret. More than half of her songs are songs of mourning; after all, Hamlet has just killed Ophelia's father. That might be why Ophelia warns, "Lord, we know what we are, but know not what we may be." After all, she is no longer the daughter of the King's chamberlain; she is now only the daughter of a dead old man. But perhaps she knows all too well what she soon may be, for shortly she sings:

Tomorrow is St. Valentine's day
All in the morning betime
And I a maid at your window
To be your Valentine.

Then up he rose and donn'd his clothes
and dupp'd the chamber door;
Let in the maid, that out a maid
Never departed more.

Why is Ophelia singing about a maid seduced by her lover? Aside from the songs of mourning, all her songs are songs of betrayed love. A few lines later, she is singing an even more pointed song:

Quoth she, "Before you tumbled me,
You promis'd me to wed."
He answers:
"So would I ha'done, by yonder sun,
An thou hadst not come to my bed."

It is hard to avoid the thought that Hamlet has seduced and abandoned her.

When Ophelia returns, she has gathered herbs. "There's rosemary, that's for remembrance; pray you love, remember..." The various herbs have symbolic meanings well-documented in the scholarship, but the only herb she intends for herself is rue: "...there's rue for you, and here's some for me; we may call it herb of grace o'Sundays; O, you must wear your rue with a difference."

The symbolic meaning of rue is regret. Ophelia has much to rue, but the symbolic meaning is not the only one. The herb rue (ruta graveolens, aka Herb-of-Grace) is a powerful abortifacient. My herbiary notes that rue is "Lethally toxic, do not use during pregnancy."

Herbal abortifacients are mild poisons. You poison yourself to the point where your body decides it's too sick to support the growing embryo, and rejects it. If you miscalculate in one direction, continued pregnancy; in the other direction, you die. No one would take rue as a poison; it's an ugly way to go. Presumably Shakespeare would have given Ophelia something painless if she had intended to poison herself; hemlock, say.

A girl who has been seduced and abandoned need fear no more than a broken heart, provided there is no evidence of her shame. But if she is pregnant, then there is no way to hide what she has done, unless she can abort the child, or kill herself. And, indeed, shortly thereafter, Ophelia drowns herself.

The conventional interpretation is that Hamlet has broken her heart and killed her father. But the play seems to suggest strongly that Hamlet has seduced her, and to hint that she is pregnant as well.

It is not hard to imagine Ophelia falling in love with the romantic Prince, and giving in to his passions. He has promised to marry her, and it is not an impossible promise. The Queen later says of Ophelia (V: 2) "I hop'd thou shouldst have been my Hamlet's wife." Ophelia might well have hoped to become Queen when Hamlet ascended the throne, as his uncle Claudius has promised.

Hamlet has been away at Wittenberg long enough for Claudius to murder Hamlet's father and then to marry his mother Gertrude, and then for the news to reach Hamlet. Presumably this would be a few months at least, long enough for Ophelia to know she's pregnant. When he returns, she is hoping he'll do the right thing.

But Hamlet rejects her, kills her father, and to destroy all hope, is sent by King Claudius to England to be executed. What will become of the mother of the doomed prince's bastard? There is only one way to preserve her honor, and she takes it.

The point is, the next time someone puts on Hamlet, Ophelia really ought to be showing. Okay?

NOTES: A reader writes in to remind me just how specific Gertrude is when she later describes Ophelia's suicide -- as if she saw it, but did nothing about it. That would make perfect sense if Gertrude knew Ophelia's problem, and agreed that suicide was her only real option.

Amy Aldro writes in to point out that the heroine of The Rape of Lucrece "kills herself after Tarquin rapes her to preserve her honour." So it's a theme Shakespeare is familiar with.

Autumn S points out that during the play Ophelia says it has been "Twice two months" since his father's death. After four or more months of being pregnant, would people not begin to notice the pregnant belly that she had?

Well, it could be that Ophelia is showing, and people are talking around it; it could also be that Ophelia's pregnancy is not so obvious in an Elizabethan dress.

Jack K writes in:

Parts of what is said to the queen by a gentleman may also imply that there is talk of Ophelia being pregnant with Hamlet's child. Especially if she is singing in public the things she later sings in that scene.

Gentleman:

She speaks much of her father; says she hears
There's tricks i' the world, and hems, and beats her heart;
Spurns enviously at straws; speaks things in doubt,
That carry but half sense: her speech is nothing,
Yet the unshaped use of it doth move
The hearers to collection; they aim at it,
And botch the words up fit to their own thoughts;
Which, as her winks, and nods, and gestures yield them,
Indeed would make one think there might be thought,
Though nothing sure, yet much unhappily.
'Twere good she were spoken with; for she may strew
Dangerous conjectures in ill-breeding minds.

I.e. "Her crazy talk is giving people ideas; tell her to cut it out." He's a bit vague about what sort of ideas, but note the "ill-breeding minds." Shakespeare was super fond of double-entendres. Only ill-bred people would gossip about Ophelia; but maybe she's been breeding, and that's the problem.

 


Wednesday, April 08, 2026

Vibe Coding in Claude

 I've been messing around with vibe coding in Claude in Godot, Python and Javascript. Some observations:

1. This is a fantastic resource for someone who hasn't really coded since RAM was measured in KB and cell phones were bricks you could use in a street fight. 

2. However, Claude does not always get it right. I had to do about as much debugging as I would normally have done for a chunk of code that size. Fortunately, you can tell Claude what the bug is and Claude will identify the error. Unfortunately, Claude may be wrong about that, too. 

3. Claude's code is not elegant -- it does kludgy things like put a "goto" at the end of every branch of an if/elseif/else structure rather than just putting one goto after the structure. Yecch.

4. These are tiny stretches of code. I have doubts about how well Claude would handle a bigger coding project. But a programmer could probably use it to generate bits and pieces of code more quickly.

5. Technology has rarely reduced the amount of work. It has increased the productivity of that work. Since the arrival of personal computers, there aren't fewer people in offices, there are more. Programming itself has gone through multiple iterations of automation. Assembly language was a way to automate machine language. Programming languages were a way to automate assembly language. Scripting (in various environments such as game engines) is a way to automate programming. I suspect we won't need fewer programmers, we'll just have more complex software for the same price.

Wednesday, March 04, 2026

I'm giving a talk!

 



I'm giving a talk tomorrow at Cinesite in Montreal about "What Game Devs Should Know about Narrative." (You can still buy a ticket! 5 places left.) We're going to play a round of Ludonarrative Resonance. As I've mentioned before, this is a game where you draw cards for Player Character, Situation, Goal and Mechanic, and you have to make up a story that works within those parameters.

Tomorrow's cards are:

Player character

  • An apologetic Englishman
  • A beginning witch
  • A misunderstood monster
  • An addicted detective
  • An escaped android
  • A sulky teenager
  • A new vampire
  • An orphan girl
Situation
  • A building with a secret
  • Zombie apocalypse
  • A decayed city in a faithless empire
  • Paris in the 1920s, sort of
  • Alien invasion
  • A forgotten town
  • Renaissance Florence
  • Civil war
Goal
  • Escape
  • Break the cycle
  • Bring your beloved back
  • Bring back the Old Gods
  • Infiltrate the Organization
  • Get home in time
  • Reveal the Truth
  • Crush your enemies, see them driven before you, etc.
Mechanic
  • Deck Builder
  • Time Loop
  • Romance Sim
  • City Builder
  • Rhythm
  • Shmup
  • Metroidvania
  • Roguelike
  • Soulslike
  • Crafting

I did this a while ago with a large group, and one person kinda monopolized the conversation, so this time I'm making teams of four, and each team can pitch their idea.

Additional rules are: 

  • you can interpret the words on your card however you like
  • if you absolutely hate your combination of cards, you may throw out ONE card and replace it with something better that you made up.

What do you think? What cards am I missing?

Friday, January 16, 2026

I didn't come here for an argument

 I was listening to Julius Kuschke's Narrascope 2019 talk about interactive dialogue systems, and it occurred to me that we don't see enough dialogue systems where you get at least one of the options almost as soon as the other person starts talking. Because, let's face it, people do not listen very well. Sometimes they're just waiting until the other person stops talking so they can say what they planned to say all along, and some don't wait. 

Firewatch gives you dialogue options before your dispatcher is done talking. But the conversations are fairly slow and thoughtful. It's not really the cut and slash of repartee.

Obviously, this sort of system requires a bit more programming (gasp!) and the conversations have to be designed more carefully. But it does eliminate those dreadful pauses that kill the momentum in most conversations with NPCs. 

I'd love to see a dialogue system where individual responses pop onscreen as the NPC's dialogue triggers them, so your "yeah yeah yeah whatever here's what I want" response might pop up immediately, while an emotional response to the NPC's heartbreaking dilemma might require listening to their whole speech. 

What would be superfun would be the occasional dialogue option that the NPC interrupts, but that's probably too much to ask.