• The Doctor goes down the drain in Doctor Who: Planet of Giants

    The Doctor goes down the drain in Doctor Who: Planet of Giants

    Continuing my full Doctor Who rewatch (previously: The Reign of Terror). Watched on Britbox.

    The second season of Doctor Who gets off to a lopsided start, with the unusually brisk 3-part Planet of the Giants. Lest you think the production team was feeling peppy, it transpires that this serial was originally planned and shot as four episodes, but later edited down to three. The BBC couldn’t let another week pass until the highly anticipated serial to follow, set to feature the return of the unexpected pop cultural phenomenon the Daleks.

    Planet of Giants seems especially childish, even by the standard set by the sci-fi stories so far, but is nevertheless undeniably fun. The props and sets are impressive, considering the time and resources. I don’t know for sure if this is true, but I recall reading once that Doctor Who was budgeted by the BBC the same as a typical non-sci-fi show, which changed my perspective. If any set, costume, or effect looks dodgy, I remind myself: they pulled this off with no time or money, so it’s a minor miracle.

    The industrial espionage / murder mystery angle is a fun twist for the show, in which our heroes solve a murder without actually interacting with any of the victims, perpetrators, or bystanders.

    Starting to sense a bit of shift in The Doctor’s character with this serial. He has what we might call today chaotic energy; he clearly gets his jollies from a bit of anarchy, evidenced by how he giggles to himself while rigging together a bomb.

  • Our Destiny is in the Stars: Doctor Who: The Reign of Terror

    Our Destiny is in the Stars: Doctor Who: The Reign of Terror

    Continuing my full Doctor Who rewatch (previously: The Sensorites).

    After the disappointing The Sensorites, Doctor Who is back to looking good. Perhaps the explanation is as simple as the BBC having enough costumes and props in its closets to make almost any kind of historical setting look good. This might be the first time the production filmed anything outside of the studio, but none of the main cast got to enjoy going on location out in the sunlight.

    Two out of the six episodes are missing, but official animated versions fill the gaps. The animation is above and beyond what I expected, with rapid cuts, close-ups, dramatic framing, and apparent rotoscoping. But I would have preferred an attempt to recreate the actual visual style of the show, even if the result had been more static.

    “Our destiny is in the stars, so let’s go and search for it.”

  • Our whole life is based on trust: Doctor Who: The Sensorites

    Our whole life is based on trust: Doctor Who: The Sensorites

    Continuing my full Doctor Who rewatch (previously: The Aztecs). Watched on Britbox.

    The Sensorites was my least favorite serial so far, and a huge letdown immediately following the delightful The Aztecs. The sets and costumes are shabby, the plot is thin, and it also seems notably more childish than most of what came before (which I grant is a weird thing to say for a 1960s teatime family show). I miss the alternating sci-fi/historical pattern, which was long gone by the time I discovered the show during the Tom Baker era.

    Many of the cast members overact very theatrically, especially a weird fourth-wall break, where an apparently psychic human character directly tells the audience which aliens are good guys or bad guys. Indeed a key plot point is that the Sensorites all look alike, even amongst themselves, which had apparently never occurred to them until a bunch of all different-looking humanoids showed up.

    The Sensorites may have identical upside-down beards, but they do have fine penmanship.

  • The Doctor makes cocoa and gets engaged in Doctor Who: The Aztecs

    The Doctor makes cocoa and gets engaged in Doctor Who: The Aztecs

    Continuing my full Doctor Who rewatch (previously: The Keys of Marinus). Watched on Britbox.

    Just when I was beginning to fear that I don’t actually like Doctor Who as much as I thought I did, I come to the best serial so far. Deeper into this rewatch, maybe I’ll get a sense of what I haven’t been connecting with so far: is it the mid-60s British culture, William Hartnell in particular, or maybe just the vibes? So far, I would say I definitely prefer the historical stories over the sci-fi; the latter definitely seem to be more deliberately aimed at children. The historical stories seem to have a bit more wit and substance to engage an adult’s attention, while still doing the job of entertaining and educating kids.

    The Aztecs is a tight four episodes, with plenty of subplots involving most of the cast, and little padding. There’s some interesting debate between Barbara and the rest of the gang about how and whether to intervene in the culture of others — ostensibly within the context of sci-fi time travel ethics, but they’re clearly grappling with being self-conscious tourists blundering around in a culture alien to them. There’s action/adventure, a very prominent role for Barbara, a romance for The Doctor, a bromance for Ian, and the kind of iconic Doctor Who dialogue one might associate with the Tom Baker or Matt Smith eras: “Yes, I made some cocoa and got engaged.”

    Tlotoxl is much more interesting than most Doctor Who antagonists; he’s neither crazy nor a mindless monster, but rather a clever Machiavelli, Merlin, or Littlefinger type. He’s clear-eyed and rational about the sudden arrival of a bunch of weird strangers, when everybody else is quick to assume the supernatural. Barbara threatens his game-of-thrones-style power schemes, and you can almost feel for him.

  • Even wise spacemen misplace their keys: Doctor Who: The Keys of Marinus

    Even wise spacemen misplace their keys: Doctor Who: The Keys of Marinus

    Continuing my full Doctor Who rewatch (previously: Marco Polo). Watched on Britbox.

    To later Doctor Who fans who discovered the show in the 70s, 80s, or 00s, one of the most immediately striking aspects of the early years is the sheer number of episodes in each season. With such a vast episode count to write for, it seems the production team quickly hit on the winning idea of setting up long strings of episodes with loose framing devices.

    So the biggest strength of the first of these, The Keys of Marinus, is its sheer variety. It never stays too long in any one location, supporting characters and monsters don’t linger long enough for us to get bored with them, and the plot doesn’t get bogged down in the usual cycle of capture and escape. Its structural conceit is ahead of its time in the sense that it will seem very familiar to later generations that played video games with plots that amounted to exploring different environments to collect a set of keys to unlock a big puzzle at the end.

    But it is sometimes a slog nevertheless, including a superfluous episode set in a mountain cave, which already looks to be a hallmark of returning writer Terry Nation. A similar episode was a welcome break in The Daleks, but in this context it does seem like a failure of the imagination.

    Putting the audience in Barbara’s POV in episode two is effective, and for once the script allows her to be the proactive hero, and not a plot device in need of rescue. But later episodes revert to treating the character as stereotypically passive. And Susan, originally introduced as a mysterious weird teenager, so important that the first serial was named after her, here seems to have been written as a child. But I remind myself this is 1964, the age of Beatlemania and teenagers first asserting themselves as a demographic, which utterly bewildered and frightened their elders, who hadn’t experienced anything like it in their own youth.

  • All the mysteries of the skies: Doctor Who: Marco Polo

    All the mysteries of the skies: Doctor Who: Marco Polo

    Continuing my full Doctor Who rewatch (previously: The Edge of Destruction). Watched on The Internet Archive.

    With only the fourth-ever Doctor Who serial, we already encounter two significant landmarks: the first true “historical”, and the first gap. The entirety of the elaborate seven-episode epic Marco Polo is missing.

    Not to get sidetracked on the topic of missing episodes, but: it’s reasonable for the BBC to erase and reuse the expensive videotape format used during production, but to then later deliberately destroy all copies does seem inexcusably short sighted, especially since the practice continued well into the late 70s. There’s more lingering heartache about lost Doctor Who than almost anything else the BBC junked, including precious Beatles appearances.

    The unofficial “Loose Cannon” fan-made reconstructions available on the Internet Archive are more watchable than I had been warned. For the uninitiated, these are the full original soundtracks, accompanied by surviving stills and production photos. Wikipedia states that there is an unusually copious amount of imagery for Marco Polo, so perhaps later reconstructions won’t go down as easy. Still, all that said, I found the experience much less engaging than the moving image, only slightly removed from a podcast or radio drama.

    Despite the low-quality images, it’s apparent Marco Polo was an impressively lavish studio production, certainly compared to the previous three serials. I predict I will make the following observation for every historical to come: if they look better than the sci-fi serials, I’m imagining BBC warehouses full of props and costumes for almost any historical period the Doctor Who production team might want.

    There isn’t much material for Barbara in this story. And seen through today’s eyes, it definitely reads as if Ping-Cho and Susan fall in love.

  • Susan runs with scissors in Doctor Who: The Edge of Destruction

    Susan runs with scissors in Doctor Who: The Edge of Destruction

    Continuing my full Doctor Who rewatch (previously: The Daleks). Watched on Britbox.

    I had already seen the first two serials, but from here on, the remainder of season one is entirely new to me.

    The Edge of Destruction is the surely most metal of all Doctor Who titles, belying what it actually is: a budget-saving two episode interlude, with no new sets or supporting cast required. And considering its actual plot, a more fitting title might be something like Susan Runs With Scissors or Doctor Who and the Curse of the Broken Spring.

    Runner-up for the second most metal title: The Ambassadors of Death. As for the least, maybe Delta and the Bannermen?

  • The Daleks keep a vegetable garden in Doctor Who: The Daleks

    The Daleks keep a vegetable garden in Doctor Who: The Daleks

    Continuing my full Doctor Who rewatch (previously: An Unearthly Child). Watched on Britbox.

    Ian starts, or rather, restarts a war. In today’s terms, is he a revolutionary freedom fighter, or a neoconservative war hawk interventionist? Probably the former, as he acts out of principle, and does not stand to profit from the conflict. So he’s certainly an outside agitator, albeit unpaid, and he does it all in a sensible sweater.

    I discovered and immediately loved Doctor Who during the Tom Baker years, but never warmed to earlier eras. The Daleks is unfortunately a prime example of what makes the early episodes trying for later fans: overlong, repetitive, humorless, outmoded. Everyone complains about the one episode set largely in a cave. While it’s true this sequence is a mostly irrelevant narrative detour that doesn’t advance plot or character much, it is one of the few incidents that stands out to me, after sitting through this already overlong story a second time. The spelunking adventure is a welcome change of scenery, and a reprieve from the already-tired repetitive capture/escape cycle.

    For a show of this vintage, one must of course be prepared to roll one’s eyes at inevitable outrages regarding politics, race, gender, and any other topic we’ve become more enlightened about over time. But even so, The Daleks is built around a problematic sci-fi premise that I’m not sure it knows what to do with. The survivors of both sides of a nuclear war are hideously mutated, but over generations, one side seals themselves into protective armor and becomes (or remains?) hateful and aggressive, while the other evolves into fair-skinned blonde pacifists. The Twilight Zone-esque twist is, the latter become the oppressed people.

    What are we to make of this story today? Then and now, audiences can agree that the Daleks’ dehumanized mechanization is clearly the worst outcome, but in today’s political climate where white majorities are claiming persecution despite centuries of evidence to the contrary, it’s just plain icky to posit that the Thals’ aryan appearance is the idealized endpoint of natural evolution, and representative of goodness.

    As enemies, the Daleks have not yet accumulated the baggage of being The Doctor’s oldest enemies. They’re plainly Nazi-coded, but not yet the all-powerful intergalactic embodiment of evil. Interesting to note that they are portrayed as incredibly paranoid and insecure, from the very beginning. They constantly shriek that they are superior and in charge, even as their plans repeatedly fail and everything falls apart around them. An evergreen metaphor, all the way up to today’s Trumpism.

    Nice of the Daleks to keep a vegetable garden. Perhaps they have a shed ’round the back?

  • I tolerate this century: Doctor Who: An Unearthly Child

    I tolerate this century: Doctor Who: An Unearthly Child

    On the unfortunate-but-not-unexpected occasion of the cancellation of Doctor Who, my sentimental favorite TV show from childhood, what better time to undertake a full rewatch?

    I’ve seen the majority of it, but all in the wrong order, and over the course of many decades. Embarking on what fans have called “the pilgrimage” has been complicated by the notoriously missing episodes, but also that not all the surviving episodes are officially available. We subscribed to Britbox in part for Doctor Who, but were very disappointed to discover it omits the entire first serial, as well as the surviving parts of any incomplete ones. Confusingly, the latter are official available on YouTube. So I’ll be filling in the gaps with the Internet Archive, at least until I hit the Third Doctor, at which point it’s all there, in full colour.

    There’s really nothing left to say about one of the most analyzed and studied television series of all time, but I plan to record some of my reactions here anyway, for my amusement.

    William Hartnell, William Russell, and Jacqueline Hill in Doctor Who: An Unearthly Child.
    William Hartnell, William Russell, and Jacqueline Hill in Doctor Who: An Unearthly Child.

    An Unearthly Child is missing from Britbox in the US and iPlayer in the UK, for the most ridiculous of reasons. Long story short, it seems the son of the original writer Anthony Coburn objected to the LGBTQ representation in the 2023 BBC/Disney coproduction. He also believes his late father was due greater recompense for originating the concept, and challenged the BBC’s copyright. Only a lawyer could determine if he has a case on the latter point, but as to the former: if he had swallowed his various phobias and intolerances, he would still be receiving the occasional residuals check in the post, and the rest of us could enjoy his father’s contribution to a classic TV show.

    It’s a pity An Unearthly Child is in limbo, for the pilot episode is a good self-contained entry point. Quaint but brisk, and as such, the rare classic story that doesn’t overextend a thin premise. It was mounted twice, and it’s a good thing: the second effort is much improved (for one thing, the camera bumps into fewer props). Both versions survive, and are an interesting back-to-back watch for anyone curious about the show’s origins or about period television production.

    The next three episodes are an abrupt change in every way, and aren’t that notable. Instead of a prehistoric setting, an intriguing what-if is to imagine if the show had instead tried an era in recorded history, or jumped straight into futuristic sci-fi. But regardless, the narrative quickly falls into what would be Doctor Who‘s regular plot pattern: splitting up, being mistook, getting captured, escaping, repeat.

  • A non-developer’s guide to flexible Flash SWF embeds

    A non-developer’s guide to flexible Flash SWF embeds

    Here’s a simple solution to an issue that’s been bedeviling me for some time: how to embed ancient Flash .SWF files into a contemporary responsive website. If you want to skip the preamble, you can jump directly to the walkthrough, or to the demo page & CodePen.

    I almost never blog about web design matters, despite it being my career. But I thought this was worth sharing, even though the potential audience is extremely small — possibly me and only me! In the earliest phase of my career, I specialized in Flash animation and design. So I have several old .SWF files and/or entire Flash sites I would like to present on my portfolio site, or at the very least, temporarily resurrect so I can take screenshots or screen recordings. But the problems, oh the problems! Where to begin?

    The Problem With Flash

    Problem 1 of 3: ding-dong, Flash is long, long gone

    My archived Flash files are decades old, and the web has long since moved on. Flash changed hands from Macromedia to Adobe in 2005, who retired the browser plug-in in late 2020, followed to the grave by the authoring app Animate (née Flash) in late 2025.

    Luckily, the open source Flash Player emulator Ruffle.js can display SWF files in almost any modern browser. The solution below includes the simplest Ruffle.js implementation that a non-developer such as myself can understand.

    Problem 2 of 3: What about phones?

    Famously, Apple consciously opted not to support Flash from the advent of the iPhone. Many cite Steve Jobs’ open letter Thoughts on Flash with steering popular opinion on the technology.

    So to point out the obvious, Flash predates the responsive web era, and had been typically intended to be displayed at fixed sizes on desktop monitors. So even with Ruffle.js, how to present .SWF files in a contemporary responsive website, that ought to support any screen size? Below, I’ll share the simplest, leanest code that worked for me.

    Problem 3 of 3: Modern browsers don’t like autoplaying media with audio

    For users, this is a feature, not a bug. But modern browsers do present an interesting roadblock for legacy media that was originally designed to autoplay with video. Even with Ruffle.js, SWF playback may simply halt when it reaches a keyframe with audio. I’ll attempt to cover this below.

    The Solution

    Step 1 of 3: Ruffle.js

    At the bottom of your html page, above the closing </body> tag, paste the following:

    <script src="https://unpkg.com/@ruffle-rs/ruffle"></script>
    <script>
    	window.RufflePlayer = window.RufflePlayer || {};
    	window.RufflePlayer.config = {
    		"warnOnUnsupportedContent": false,
    		"autoplay": "on",
    		"unmuteOverlay": "hidden"
    	};
    </script>

    There’s a lot more to implementing Ruffle.js than this, but as a reminder, I’m going for simplicity here. This code uses the recommended content delivery network, so you don’t even need to worry about hosting any .JS files.

    Important note: the above will automatically play all .SWF file(s) on the page, which usually works for me bu may or may not be what you want. Modern web browsers will mute any audio (and possibly even halt SWF playback) unless the user taps or clicks directly on the SWF embed. This is not a problem if your SWF file has a built-in “play” button. But if not, you may wish to omit the following line:

    "autoplay": "on",

    …in which case Ruffle.js should automatically overlay a large, ugly triangular “play” button of its own. As a last resort, if you still have Adobe Animate and your original .FLA files, consider adding a “play” button of your own design at the beginning of your movie.

    Step 2 of 3: The HTML

    Perhaps you’re familiar with the old traditional method of embedding SWF files: a tangled mess of <object> and <embed> tags, with multiple <param> lines, support for Internet Explorer, and on top of all that, you may have also had to use SWFObject.

    I’m here to tell you to let all that go. Just forget it all. Feels good, right? This is the least amount of code I was able to get away with, for a hypothetical file originally authored at 640×480:

    <object width="100%" height="100%">
    	<!-- original dimensions: 640x480 -->
    	<param name="movie" value="file.swf">
    </object>

    Note that I’ve included the dimensions in a comment, for posterity. Width and height are now both set to “100%” in the <object> tag. (I tried using CSS for this, but it didn’t seem to work.)

    Wrap the whole thing in a container <div>, with a class name. In this case, 640×480 has the aspect ratio of 4/3, so it made sense to create a class I can reuse for any other Flash files that may share the same aspect ratio.

    <div class="embed-swf-4-3">
    	<object width="100%" height="100%">
    		<!-- original dimensions: 640x480 -->
    		<param name="movie" value="file.swf">
    	</object>
    </div>

    Step 3 of 3: The CSS

    Did I mention I’m going for stupid simplicity? This is the full extent of the CSS you will need:

    <style>
    	.embed-swf-4-3 {
    		aspect-ratio: 4/3;
    	}
    </style>

    That’s it!

    For SWF files with irregular dimensions that don’t conform to common aspect ratios, unfortunately you will need to create unique classes. Here’s an example, for a hypothetical 591×387 SWF file:

    <style>
    	.embed-swf-591x387 {
    		aspect-ratio: calc(591/387);
    	}
    </style>

    I suppose you could use inline styles for special cases like the above, but I prefer to keep all my CSS separate and in one place, no matter how simple.

    Important note: the above code will display .SWF files to the maximum width of the viewport or container. If you want to cap the width, see below.

    Optional Niceties:

    The above is the least you need to get going. But for purposes of my portfolio website, I wanted to add some niceties. Here’s an example of how you can apply a few possible enhancements, including border-radius, figcaption, max-width, and an inset box-shadow, for a hypothetical 640×360 .SWF file, which works out to a 16:9 aspect ratio.

    The HTML:

    <figure class="figure-swf-16-9">
    	<div>
    		<object width="100%" height="100%">
    			<param name="movie" value="file.swf">
    		</object>
    	</div>
    	<figcaption>This example demonstrates some possible enhancements</figcaption>
    </figure>

    The CSS:

    <style>
    	.figure-swf-16-9 {
    		position: relative;
    		margin: 0;
    		max-width: 640px;
    		div {
    			border-radius: 8px;
    			overflow: hidden;
    			aspect-ratio: 16/9;
    			box-shadow: 0 4px 8px 0 rgba(0,0,0,.25);
    		}
    		div::after {
    			position: absolute;
    			top: 0;
    			left: 0;
    			border-radius: 8px;
    			aspect-ratio: 16/9;
    			width: 100%;
    			content: "";
    			box-shadow: inset 0 0 0 4px rgba(0,0,0,.25);
    		}
    	}
    </style>

    Here’s a demo page:

    And here’s a CodePen (but note that the sample .SWF files will not load for security reasons):

    See the Pen Flexible SWF Embed by Chad Ossman (@cossman) on CodePen.

    Hopefully all this will be of help to at least one other person out there. Please let me know if you happen to have any corrections or suggestions.