BETA Testers Wanted

Shakespeare Plays Browser - React and TailwindCSS

I’ve been unemployed for several months, and I’m not enjoying it. As a “full stack” software engineer, and an old one at that, one of the biggest hurdles to getting through the job interview game is keeping specific technical skills up to date. I was at my last job for eight years, so there are many things I never got to touch. That’s working against me.

I want to change that. Technology doesn’t exist in a vacuum, however. Reading a book or taking a course is not enough to say, “Sure, I know that language,” any more than it would be true for Italian or Icelandic. You have to use what you’re learning, internalize (grok!) it, and be able to speak confidently that you know what you’re talking about.

With that in mind, I will use the site as a canvas for learning projects. While I could create a new site for this, I’ve already got the domain, the hosting, and the traffic here, so I might as well use it. It also goes toward that “not in a vacuum” thing. I can add features here that are useful and not just another to-do list manager.

Presenting My React + TailwindCSS Shakespeare Browser

Several months ago, with the help of generative AI, I put together some resource pages on the site offering basic summaries of the plays and individual characters. It was an exercise in SEO (search engine optimization). To put it bluntly, if I built it, would they come? Yes, those pages are hit thousands of times each month. But that project was also a cobble-together job, very static and hard to maintain. I always knew I wanted to rewrite it.

Now I have. The specific technology I wanted to practice is known as React and TailwindCSS, for the curious (with some Vite thrown in). Instead of having hundreds of static pages, only a few dynamically generated ones power all of the content. This allows me to create a better user experience that I can easily maintain. When I update the content, I need to push a single file. When I want to touch up the visual design, I can do it consistently across all the pages.

How You Can Help

  • If you find any broken links, please let me know; since this is a small React app running side-by-side with WordPress, I had to do some fancy rewriting trickery behind the scenes, and it may not always be perfect.
  • I admit that this was built using gen AI, and we know AI tends to hallucinate. I’ve been steadily going through the more egregious issues and fixing the content by hand, but there are hundreds of entries to look at, so the more eyeballs we can put on the problem, the better. These hallucinations sometimes include making up characters that may not even exist. Be warned.
  • Quality Control Play titles should appear different than character names — Hamlet vs Hamlet, for example. HTML or other formatting that doesn’t look quite right. Fair warning I’m no visual designer, I just don’t have the eye for it. If you’ve got ideas for making it look more beautiful, too, starting with color, maybe? I’m happy to take them.
  • New Features What can we add to this? It originally started as a full browser of the entire play text (which still exists in the static pages), but moving that whole thing to React is a much bigger job I’m continuing to work on behind the scenes. What else? How can we make these pages the most useful for all those Google users finding their way to them?
  • Hire Me? This part’s obligatory — if you know any place hiring full-stack developers, particularly those experienced in Ruby on Rails (and now React and TailwindCSS!), please, by all means, send my name along. Beggars can’t be choosers in this market. I’ll take every lead that comes my way.

Thanks For Everything

Like so many of my projects, this is a work in progress, so please don’t be too hard on the effort. I’ve got so many irons in the fire these days that it’s hard to keep my attention focused long enough to stick to a single project as long as I want. I should probably also be doing things in Python, Go and Rails, too. I appreciate having this platform to work on what I can when I can and the continued help and support of all my readers. Thank you.

Review: Denzel Washington as Macbeth

I suppose the official title of this production is “The Tragedy of Macbeth”, directed by Joel Coen and starring Denzel Washington and Frances McDormand in the title roles, but that’s too much to fit in a title. You all no doubt know which production I’m referring to. Though it came out in 2021, I’ve finally sat down to watch the entire thing.

If you are a student of the art of film-making, you’re probably going to love this. It’s one of those final products that is all about the director’s vision, regardless of what actors he had to work with or what source material they spoke. Every scene is clearly driven by, “Ok, I want it to look like this.”

For my part, I hate that. Shakespeare, to me, is all about the character. Why are the characters speaking to each other the way that they do? What’s their backstory, their motivation? Why are they making the choices that they make? I can get that on a bare stage with no costumes. I don’t need special effects.

Macbeth's Castle
Seriously, who was their architect? What if they did have kids? That’s so dangerous.

Worse, I think that the visual backflips in this version are disjointed and distracting. Like when Macbeth and Banquo have first encountered the witches (more on this in a moment) and get to the line “Whither are they vanished? Into thin air…” but they are still right there. Or when the murderers set Macduff’s castle fully ablaze in a matter of seconds, just so we can get the image of people falling into the flames. Don’t get me started on the MC Escher-esque castle that the Macbeths live in. It’s like they borrowed some scenery from David Bowie’s Labyrinth.

Starring Kathryn Hunter as The Witches

Let’s talk about the witch(es) for a moment because clearly, she/they are the best part of the production. I would see a one-person show of just this performance. Kathryn Hunter alone plays the witches. Is she playing one, then, or three? Or one body housing three spirits? Yes, I guess, to all the things. If she didn’t play it so well, I’d be taking serious issue with the inconsistency in the presentation. Sometimes, she’s just one person speaking in three (or more?) voices. Other times, she splits into three. Or, she’s one body casting three reflections or shadows. She’s also a bit of a contortionist, which only adds to the otherworldliness of the whole performance. When I first started watching this at home on my laptop, my son walked by and said, “What the hell is that? That’s terrifying.”

Kathryn Hunter as the Witches

I’d watch a one-person show of that because the other actors have no choice but to break the illusion. Why does Macbeth refer to “them” in the plural when there’s just one person there? Something like that leaps off the screen and pulls me out of the moment. It’s a minor thing, I suppose. It just feels disjointed, as I mentioned above. It is as if the director is saying, “Yes, I know what the script says, but I know what I want the visual to be, even if they don’t match!”

Bring It Home, Denzel

Even if the director didn’t care much about how the actors played their parts, they still had to find something to work with. Though I admit I wasn’t hanging on every word, I liked parts of Washington’s performance, such as Macbeth. His explanation of killing Duncan’s guards can be summed up as “Sometimes I get into this weird mood where I randomly kill people, I can’t explain it,” and it is the implied, “Would you like to be next?” that cranks up the tension. Everybody probably wonders precisely what happened, but they know they’d better not question it too deeply.

Toward the end, I also enjoyed the way he played his assumed immortality to a point. Everything’s falling apart around him; most of the witches’ prophecies have come true, yet he’s still almost laughing at it all, believing himself to be invincible. His speech to Young Siward is a cross between a serial killer and a Marvel supervillain. Unfortunately, this is ruined by a ridiculous fight scene, but I’ll take what I can get.

See It Or Skip It?

I’ll end how I started. If you’re a fan of the art of filmmaking, this is a great example. You can pause at any point and break down why the director wanted that scene to look like it does. It’s disorienting 100% of the time. There are claustrophobic shots, there are shots looking straight down. There’s nothing extra in any of the scenes, it often feels like bare stage. For me, though, I think that takes away from the Shakespeare. Shakespeare didn’t make any of those decisions, Joel Coen did. Which is fine if your plan is to go see the Coen version of Macbeth. But I’m more about the actors, I wanted to see more of Denzel Washington’s Macbeth. I got some. I liked some. I just wish it was more about the words and the actors and not the visuals.

Macbeth on his throne
Macbeth doing his best Thanos impression.

Wicked Shakespeare

Ok, show of hands, has everybody seen Wicked yet? How many times? 🙂

Well, it’s now available for streaming, which means we get to take screenshots. And with screenshots and subtitles, we get to do this!

You just knew that if there were any Shakespeare in there, we would find it. Here, of course, Galinda (or Glinda) borrows Malvolio’s quote from Twelfth Night: “Some are born great, some achieve greatness, and some have greatness thrust upon them.”

This got me thinking about something I like to call the “Lion King Rule.” That’s the one that says you only need a handful of recognizable elements of a Shakespeare play to say that a movie is based on that movie. So, is Wicked a retelling of any Shakespeare plays?

We’ve got a father who wants nothing to do with his wife’s new baby and demands it be taken away. There’s even a bear. This makes it Winter’s Tale.

We’ve also got a powerful solo central character who is positioned as a pawn of powerful political forces. When our hero fails to do what they’re told, they’re recast as the villain of the story. There’s also a “frenemy” character who our hero may or may not be in love with but will certainly be instrumental in their downfall. Coriolanus.

Of course, this is a story about witches. Therefore, it is obviously Macbeth.

Anything else?

New Shakespeare Downloadables Now Available

I love a good word puzzle. I do the Connections and Strands every morning, and I think everybody knows about Bardle. I used to visit classrooms when my geeklets were younger. I’d always bring puzzles to print and distribute as a fun, Shakespeare-themed activity (as well as a Shakespeare-themed memory).

Those days are long in the past, but there’s no reason why the practice shouldn’t continue. I’ve mentioned before that I’ve got a store over on Gumroad focused on Shakespeare digital downloads — digital products rather than the traditional retail Shakespeare merchandise you’d find on Amazon. The goal with these is for teachers, who often spend their money to enhance their students’ learning opportunities, to easily access a wider variety of Shakespeare material. Once downloaded, the material can be printed and distributed at will, as often as you like.

Perhaps the most universal word puzzle is the word search – no patterns, no clues, no tricks, just find the words. So, of course, the variety in the puzzle comes with what words you choose, and boy, did Shakespeare give us a lot to work with there! With a bit of help from some software of my creation I’m pleased to unveil my next contribution.

Words, Words, Words: A Collection of Shakespeare Puzzles

The other great thing about word searches is that building them with software is pretty straightforward (try that with a Connections!) Since the puzzles tend to be easy, I wanted a way to make them in large numbers. Whether you’re just one person working your way through them all or a teacher selecting them one at a time based on what plays are on the curriculum, I wanted puzzlers to get the most possible fun out of their purchase

Words, Words, Words: A Collection of Shakespeare Puzzles

100 Puzzles Per Volume

Each download contains a total of 100 puzzles. Here’s how it breaks down:

There are five different puzzle topics. Right now, that means five different plays per volume, but as the library grows, this will change.

There are four difficulty levels. Easy ones have the words only left to right or top down. These are for the youngest audiences still getting the hang of how its done. Medium puzzles add backward, so look right to the left or bottom up! Hard level brings in the diagonals. Ready for expert mode? On the Expert level, you don’t get the list of words, just how many words you’re looking for.

There are five puzzles per topic per difficulty level. For example, if one topic is Characters in Hamlet, you’ll get five easy puzzles, five medium, five hard, and five expert. Twenty puzzles per topic, five topics, for a total of 100 puzzles.

Solutions Are Provided

Each puzzle is uniquely numbered, allowing quick lookup of solutions at the back of the book. These can be printed and made available with individual puzzle, or kept in digital form and used as answer key.

Two Volumes Now Available

Volume 1 starts in well-known territory, looking at the characters from Shakespeare’s most well-known (and frequently taught) plays: A Midsummer Night’s Dream, Hamlet, Macbeth, Othello and Romeo & Juliet.

Volume 2 continues the theme with more of Shakespeare’s greatest works: King Lear, Julius Caesar, Taming of the Shrew, Twelfth Night and Much Ado About Nothing.

Many More To Come

As a programmer, I spent time getting the process right to produce these Shakespeare downloadables as efficiently as possible. Which means that I can pretty much crank them out however I like. I’d love to do more themes like Words Shakespeare “Invented”, Shakespeare’s Friends and Family, Shakespeare’s Sonnets and Poetry, Shakespeare’s Contemporaries … the list is practically endless.

I’m starting with these two straightforward volumes to see if the idea finds its audience. The best outcome? Teachers write back with their requests for themes they feel will be most helpful in their classrooms. (I’ve included my email address right on the title page)

Any questions? Please enjoy your new Shakespeare downloadables! I hope to have the opportunity to create many more for you and your students very soon. You can download a FREE SAMPLE here!

I Guess We’re Doing Infinite Monkeys Again

monkey typing

Ok, my newsfeeds are absolutely flooded this morning with news of infinite monkeys typing out the works of Shakespeare. Or, more specifically, not doing that.

The headlines all say basically the same thing — “Chimpanzees will never randomly type the complete works of Shakespeare.

But if you click through to any (well, most) of these articles, you’ll see what they really mean. And it’s not even really news unless you’ve fundamentally misunderstood the concept of “infinite.”

Take this BBC version of the article:

Two Australian mathematicians have called into question an old adage, that if given an infinite amount of time, a monkey pressing keys on a typewriter would eventually write the complete works of William Shakespeare.

Which means that while mathematically true, the theorem is “misleading”, they say.

Once upon a time, when we were all small children and first tried to wrap our heads around the concept of infinity, I think we all did the same thing. We all imagined the biggest possible number we could and thought that infinity is kind of like that. That’s all that’s happening here. In this case, we’ve decided to replace “infinity” with “lifespan of the universe.” It’s the adult scientific equivalent of the first-grader who thought “a zillion zillion.”

But the “infinity is just the biggest number you can imagine” argument was wrong then, and it’s still wrong, and scientists know it. Infinity is not a number. This was never a statistical probability problem. You have to think “without limit,” so you can’t treat it as math.

But it’s not an entirely meaningless question. For example, if we say, “Is the monkey guaranteed to write Shakespeare, given infinite time?” the answer is no. There’s no guarantee that our monkey will create all possible sequences, no matter how much time he’s given.

You could also flip the question and ask, “What if I had infinite monkeys?” This changes the question a little bit, because what do we do with the time variable? Infinite monkeys with infinite time could indeed still generate garbage forever. But what if we fixed that other param? What if we said, “An infinite number of monkeys types 50,000 characters.” That number can be whatever you want, but it’s still going to be a fixed and finite number. Now let’s also throw out the trivial “what if they all type the same thing” edge case and say, no repeats. No monkey will type the same 50k characters as another monkey. In that case, yes, one of the monkeys would produce the first 50k characters of Shakespeare’s work. At least, I think so. There’s a reason why scientists still study this stuff.

The introduction of a finite parameter does bring the math back into the realm of interesting, though, and the Australian scientists of the article know this:

There would be a 5% chance that a single chimp would successfully type the word “bananas” in its own lifetime. And the probability of one chimp constructing a random sentence – such as “I chimp, therefore I am” – comes in at one in 10 million billion billion, the research indicates.

That, I think, is more interesting than the catchy headline everybody went with. This gets it back into the realm of actual statistics because we’ve got numbers, not infinities, to work with. In both those examples you have finite monkeys and a finite amount of time. But that’s not as fun, I guess.