personal website: joe crawford. code. occasional comics. toy robots. bodysurfing. san diego. california. say hi.
since 1998

January, 2022: 59 posts.

How did I not notice Scarlett Johansson played mermaids at least twice?

I saw The SpongeBob SquarePants Movie in the theaters in 2004 and I saw Hail, Ceasar! in the theaters in 2016 and several times streaming since then.

While watching Hail, Ceasar! last night it suddenly occurred to me Ms. Johansson played a mermaid in both. Now, why is it that my brain never has noticed this before? What is it about the associative connections in my brain that made me notice it on that viewing as opposed to prior viewings?

The brain, or rather my brain, is interesting.

San Diego City Christmas Tree Recycling 2022

Bumpin’ Morton Subotnick

Double Naught Spy Car from Panorama City

is moorpark a boulevard?
or avenue?
you know
is it boulevard?
is it boulevard boulevard?

cruising moorpark!
i’m looking for a hot chick
in a ’79 pacer
i’m bumpin Morton Subotnick
don’t tell me it’s the wrong approach
i’m morgan freeman and you’re the acting coach
hitch up the pacer to slip into a saloon
the waitress is from arleta
and the place is filled with goons

i’m cruising moorpark
looking for a hot chick
in a ’79 pacer
i’m bumpin Morton Subotnick

don’t tell me it’s the wrong approach
i’m coming like morgan freeman and you’re the acting coach
hitch up the pacer and slip into a saloon
the waitress is from arleta
and the place is filled with goons
i know karaoke is in full effect
tuesday in tarzana what the hell did i expect?
you know i’m only here to get with the ladies
yesterday was margarita monday at club hades

good god i’m bumpin Morton Subotnick
good god i’m bumpin Morton Subotnick
good god i’m bumpin Morton Subotnick
good god i’m bumpin Morton Subotnick

it’s margarita monday at club hades
it’s margarita monday at club hades
i’m here to get with the ladies
i’m here to get with the ladies
cruising moorpark!
cruising moorpark!

picked up wednesday’s child
and she said “whoa”
when i turned up the Penderecki
she said baby it’s time to go
cruising moorpark
i’m looking for a hot chick
in a 79 pacer
i’m bumpin Morton Subotnick


tante‘s The Third Web essay is a fine, detailed history and condemnation of the ideas of web3. I wish I could find more to take issue with, alas, the ideas of blockchain and cryptocurrency seem to be things that excite people without regard to their political, social, and energy effects.

Paolo Soleri Presentation, 1988

I asked my pal Chris the following in May 2020:

We attended a presentation by Soleri and a few other folks at the RH Fleet Space Museum in the mid to late 80s. Any idea what year? And do you remember any details of who or what entities were presenting? Was it just Soleri and his coterie or were there others?

Chris is a loquacious emailer, and so I got this in return:

As I recall, it was hot weather; likely summer.

Upon parking there, the Pontiac had just turned 2001 miles, which I thought was fun.

Therefore I’d say this puts that outing firmly in the summer of 1988. July, maybe August…

Onstage, I just remember Soleri, then perhaps two to three young people with him; and of course the Space Theater host guy.

Slides (?) of architectural drawings and models come to mind. (Plus those colorful, evocative photos of the shiny, happy folks who were living the Arcosanti dream.)

I also seem to recall there was a girl selling their cast bells in another area.

So, if it was 1988–


And a screenshot!

And then:


But then dang! Paywall; and/or, forced signup.

Lemmee see if I can snipe a cut/paste before the “Subscribe!” popup locks me out…


JULY 13, 1988 in the LA Times.

The Reuben H. Fleet Space Theater will celebrate “National Spaceweek,” beginning Thursday with a week of free lectures and activities. The speakers include Dr. Paolo Soleri, the founder of Arcosanti, the well-publicized futuristic city north of Phoenix; Derek Elliott, assistant curator of for the Department of Space Science and Exploration, and Carl Hodges, director of Environmental Research Laboratory at the University of Arizona. Call 238-1233 for more information.

don’t recall seeing the other dudes listed here; at least not without researching them. (Although now I’m back to “sleepy.”)

To me this looks like they may have appeared on different days during that week anyway.

(BTW were you along with me for the lecture I attended, another year, regarding Heavy-Lift Launch Vehicles? Met “Hoot” Gibson?)

Why do you ask and/or what makes you think of this now?

My reply:

Stunning research sir.

What prompted this was watching a new documentary last night called “Spaceship Earth” which is on Hulu. It details the genesis of the Biosphere 2 project from the origins of the commune that started it through the actual project, and details the controversies around it.

They were likewise inspired by Fuller, right? Spaceship Earth notions and such. Arcosanti was a particular aspect but thinking about self enclosed spaces and human sustaining pods was definitely in the zeitgeist. My memory was pricked around that. “Was Biosphere 2 mentioned at that talk?”—and my recollection was that, in passing, it was, but it was not the primary thrust of the talk.

Biosphere 2 would have been in the thick of construction by then ( ) but several years before the massive hype of the project itself. Columbia University took it over in 1995-2003, and the U of Arizona took it over in 2007 and ownership in 2011. The details of the managerial messiness during that early 90s period are mentioned briefly (Steve Bannon was a prime mover there, weirdly)—but not the full magilla of what Wikipedia’s synopsis entails.

Thanks for being my memory on this. 🙂 I really appreciate it!


In my teens I was fascinated by architecture and by the idea of utopias. I loved encountering Pierre L’Enfant and learning about Mies van der Rohe and Paolo Soleri — particular that idea of ARCOLOGY:

The term was coined in 1969 by architect Paolo Soleri, who believed that a completed arcology would provide space for a variety of residential, commercial, and agricultural facilities while minimizing individual human environmental impact. These structures have been largely hypothetical, as no arcology, even one envisioned by Soleri himself, has yet been built.

Like many utopias, it has not come to pass. Top down design of city-scale structures or colonies has been problematic and often destructive. Humanity is not unitary. Humanity subjected to top-down design which does not account for human choice and dignity ends up killing the best aspects of humanity.

I learned I love cities in all their disparate chaos. I appreciate the way urban planning seeks to steer rather than dictate our behavior. I think about design a great deal, and how everything we see every day is the result of some design process, for good or ill.

Bodysurfing Ultimate Media Guide by Spencer Dunlap


originally on, archived. reposting here for my own personal use. perhaps you will find it useful too!

I thoroughly enjoy writing about bodysurfing. Why? Not only do I love bodysurfing and hope to share my stoke with as many people as possible, but I also feel that I’m making a genuine contribution to the “literary canon” (if you will). As you’ll see from the ensuing list, there are relatively few bodysurfing resources in existence today, especially when compared to board-surfing. In fact, board-surfing has a nearly 500-page book—The History of Surfing by Matt Warshaw—dedicated to the topic, which offers the reader nearly anything he or she might want to know about surfing, not to mention the hundreds of other books, films, magazines, and websites dedicated to the sport. Bodysurfing, on the other hand, has next to nothing of the sort. 

But I can’t blame the surf industry for this oversight. Bodysurfing is nowhere near as sexy (nor as profitable) as board-surfing, so why waste one’s time? In fact, I am grateful that there is so little information about bodysurfing accessible on the web. Not only has it provided me with a fun challenge in tracking down the information that does exist, but it forces me to produce original and creative content. Bodysurfing is a passion-driven niche topic that I am more than happy to fill, and have done so with surprising success. I had no idea when I started writing one of my very first blogs on bodysurfing back in 2019, Everything You Need To Know About Bodysurfing, that it would ultimately become one of the top-read bodysurf articles on Google.

In the process of compiling the aforementioned guide, I stumbled across several helpful resources that I stored as a list of links on a Google Doc. Today, I am sharing this list with you, my valued reader. I hope you find these articles and videos as compelling as I do.

Best Bodysurfing Reads

Articles: Bodysurf Skills Required, Real Bodysurfers, My Boardless Bestie, Why I Bodysurf, The Lip Comes Down, The Closest Thing To Being Born, Regardless of Circumstances, How to Bodysurf

Books: The Art of Wave Riding, Plight of the Torpedo People, The Yoga of Bodysurfing

Bodysurfing in Film

Professional Surfers who Bodysurf

Buffalo Keaulana (27:25), Gerry Lopez, Tom Curren, Kelly Slater, Dave Rastovich (1:15), Lauren Hill, Belinda Baggs, Keith Malloy, Dan Malloy (0:30), John Florence

Surfing Wipeouts to Bodysurf Recovery

Koa Rothman – Jaws, Billy Kemper – Puerto Escondido, Brett Burcher – The Right, Joan Duru – Pipeline, Ramon Navarro – Chile, Mikey Wright – Indonesia, Sebastian Williams – Jeffreys Bay (1:58)


Maybe you’d like to read about Thundarr the Barbarian — one of my favorite cartoons when I was a kid. Deeply weird and VERY JACK KIRBY. I only learned that part years later.

Also I am a fan of Mark Evanier. I learned his name in his comic DNAgents. I was buying them in 1983.

Hidden Zines!

This story is super-charming: Inside a hollow library book, a secret library By Tori Marlan. It’s about this art project: Decentralized Zine Library Project. As I’ve now been *in* some publications that were anthology zines (see: #burn_all_books) it has a special meaning for me.

Make more art and put it in the world!

That time my Halloween costume was an app

In 2016 I went as the Slacker App as my Halloween costume. I have a lot of affection for this costume! I would do it much better and slicker now that I have my very own paper cutter and a drawing desk!

Prodigy Burnout: OMNI

He was a young violinist on his way to a brilliant career. Then one day he quit—-put down his violin and never picked it up again. He’s a high achiever in medical school now, but he nurses a sense of failure that may haunt him for life.

What stopped him from becoming a Perlman or Paganini? A midlife crisis at age fifteen, something that can affect prodigies in music, science or the arts says Massachusetts Institute of Technology researcher Jeanne Bamberger.

Bamberger, a pianist herself, says gifted children uniformly seem to go through a period in their teens when the music that once came so naturally no longer seems to flow. The problem occurs because the way children learn is different from the way adults do. Like children with less developed talents, the child prodigy learns much of his music intuitively. But as he enters adulthood he must relearn his skills, fitting them into the more structured, analytic style that typifies adult thought. Many successful musicians say they have weathered this change. But some children quit and never play again.

How prodigies learn is largely unstudied–scientists are reluctant to interfere with the delicate process that makes genius. So Bamberger is proceeding slowly-—first getting to know gifted children, and then testing them on computers and musical bells to see how they organize notes. She’s also helped or- ganize a network of behavioral scientists who will hold two conferences this year on how gifted children learn. The results may explain why some prodigies fail so painfully.

-—Douglas Starr

Starr, Douglas. “Prodigy Burnout.” OMNI, Apr. 1983, p. 39.

See OMNI, Jeanne Bamberger

Finding earworms in data with PHP

Over the weekend I was prompted to think about the idea of an “earworm” — a song or piece of music that gets stuck in your mind. Some people find such “earworms” to be highly irritating. The idiom implies an actual worm in your actual ear which sounds positively *horrifying* to me. For me, an earworm can be pleasant. It can serve like a mantra, or a soundtrack that can help put me in a state of flow that leads to getting a task done. It can actually help productivity. And so I was curious, given that I have been sending listening data to (sometimes called audioscrobbler) for many years I took some time to write code to find sequential repetitions of music plays. And I found a bunch of them! “Little Fluffy Clouds” on repeat was because I made a single track playlist and accidentally left it running over a weekend, but otherwise it was fun to see the results emerge. I used PHP as it is the language I can quickly solve novel problems with. I love going from idea to a reasonable result in a matter of an hour or so. Also, I’ve put the code up on Github.

I’ve made a YouTube playlist with a number of the earworm tracks.

Sparklines in Excel courtesy seminar by Jordan Goldmeier

I attended Jordan Goldmeier’s ( seminar on data visualization in Excel via one of Creative Morning‘s Field Trips. It is far easier to do cool stuff in Excel than I remember. Behold a sparkline bar graph of my ArtLung blog post counts by month since 2001.

Spielberg’s Films by year of release vs year set

The other day, over on twitter, Todd Vaziri sent a lazyweb request that piqued my interest:

free cinema chart idea

chart the films of steven spielberg and graph the release date minus the year the film takes place

you know, for fun

How does one do timelines these days anyway? I had a vague memory that Google had a tool in their charting APIs.

And they do: Timelines are a feature of Google Charts! Not too hard to set up, really. But I needed the data first. So I started a spreadsheet and started searching Wikipedia and IMDB. I added year of release, and my best guesses as to the year of setting. I also made a distinction for movies set in one period but with an epilogue or prologue in another year (e.g. Schindler’s List and Saving Private Ryan). I didn’t end up using that distinction as it didn’t have much effect on the chart.

I decided the end points would quite naturally be the average year of the setting year of the film and the year of the film’s release. Start point would be whichever was sooner. For colors I chose a shade of red (#b94e48) and for science fiction I chose a green (#8bbe1b)

I rather like the result:

My “client” responded to it favorably:


The essence of my question was ‘how many period pictures has SS done’ and it looks like A LOT!

To work it out I used the estimable Codepen, which is terrific for working out small or medium sized web tasks. You can play with it yourself at

var futureColor = "#8bbe1b";
var pastColor = "#b94e48";
var nowColor = "#000000";
var epilogueColor = "#cccccc";

google.charts.load("current", { packages: ["timeline"] });
function drawChart() {
	var container = document.getElementById("spielberg-timeline");
	var chart = new google.visualization.Timeline(container);
	var dataTable = new google.visualization.DataTable();

	var rawdata = [
		[1964, 1964, 1964, false, "Firelight"],
		[1971, 1971, 1971, false, "Duel"],
		[1973, 1922, 1922, false, "Ace Eli and Rodger of the Skies"],
		[1974, 1964, 1964, false, "The Sugarland Express"],
		[1975, 1975, 1975, false, "Jaws"],
		[1977, 1977, 1977, false, "Close Encounters of the Third Kind"],
		[1979, 1941, 1941, false, "1941"],
		[1981, 1936, 1936, false, "Raiders of the Lost Ark"],
		[1982, 1982, 1982, false, "E.T. the Extra-Terrestrial"],
		[1982, 1982, 1982, false, "Poltergeist"],
		[1983, 1983, 1983, false, "Twilight Zone: The Movie"],
		[1984, 1935, 1935, false, "Indiana Jones and the Temple of Doom"],
		[1985, 1900, 1916, false, "The Color Purple"],
		[1985, 1985, 1985, false, "The Goonies"],
		[1987, 1941, 1945, false, "Empire of the Sun"],
		[1989, 1912, 1938, false, "Indiana Jones and the Last Crusade"],
		[1989, 1989, 1989, false, "Always"],
		[1991, 1991, 1991, false, "Hook"],
		[1993, 1993, 1993, false, "Jurassic Park"],
		[1993, 1939, 1945, 1993, "Schindler's List"],
		[1997, 1997, 1997, false, "The Lost World: Jurassic Park"],
		[1997, 1839, 1841, false, "Amistad"],
		[1998, 1944, 1944, 1999, "Saving Private Ryan"],
		[2001, 2150, 4150, false, "A.I. Artificial Intelligence"],
		[2002, 2054, 2054, false, "Minority Report"],
		[2002, 1963, 1967, false, "Catch Me If You Can"],
		[2004, 2004, 2005, false, "The Terminal"],
		[2005, 2005, 2005, false, "War of the Worlds"],
		[2005, 1972, 1975, false, "Munich"],
			"Indiana Jones and the Kingdom of the Crystal Skull"
		[2011, 1949, 1949, false, "The Adventures of Tintin"],
		[2011, 1912, 1918, false, "War Horse"],
		[2012, 1865, 1865, false, "Lincoln"],
		[2015, 1957, 1960, false, "Bridge of Spies"],
		[2016, 1982, 1982, false, "The BFG"],
		[2017, 1966, 1971, false, "The Post"],
		[2018, 2045, 2045, false, "Ready Player One"],
		[2021, 1960, 1960, false, "West Side Story"]

	var massaged_data = [];
	dataTable.addColumn({ type: "string", id: "Movie Year" });
	dataTable.addColumn({ type: "string", id: "Movie Title" });
	dataTable.addColumn({ type: "string", role: "tooltip" });
	dataTable.addColumn({ type: "date", id: "SettingStart" });
	dataTable.addColumn({ type: "date", id: "SettingEnd" });
	var colors = [];

	for (var i = 0; i < rawdata.length; i++) { 
		var movie = rawdata[I];
		var averageSetYear = (movie[1] + movie[2]) / 2;
		var madeYear = movie[0];
		var startYear = 0;
		var endYear = 0;
		var tooltip = [movie[4], "was made in", movie[0]].join(" ");
		var epilogueYear = movie[3]; // future if (averageSetYear > madeYear) {
		startYear = madeYear;
		endYear = averageSetYear;
	} else if (averageSetYear < madeYear) {
		startYear = averageSetYear;
		endYear = madeYear;
	} else {
		startYear = madeYear;
		endYear = averageSetYear;

	var movieYearStart = movie[1];
	var movieYearEnd = movie[2];
	var epilogueYear = movie[3];

	if (movieYearStart == movieYearEnd) {
		tooltip += " It is set in " + movieYearStart + ".";
	} else {
		tooltip += " It is set from " + movieYearStart + " to " + movieYearEnd + ".";
	if (epilogueYear) {
		tooltip += " It has an epilogue set in " + epilogueYear + ".";
		String(i + 1),
		new Date(startYear, 1, 1),
		new Date(endYear, 1, 1)

	var options = {
		colors: colors,
		alternatingRowStyle: false,
		avoidOverlappingGridLines: false

	chart.draw(dataTable, options);

Drawing with CSS: Cube Cat

I have seen extraordinary things made with HTML and CSS. I remember in 2003 seeing the CSS Zen Garden (though it was hosted on mezzoblue at the time). Nearly 20 years later and CSS remains an incredible tool, only more extraordinarily powerful with each passing week, each new spec, each new browser release.

For several years I took note of incredible projects where people used CSS to draw. Looking at the markup, I was daunted. So much code! So many elements! I wanted do do it myself but never took the time to do so.

I started making computer graphics on a TI-99/4a in the 1980s by drawing on graph paper and turning those shapes into code. At the time it was grids of pixels 8×8, each representing a custom character. Add enough of those characters up and I could make a drawing. Pixel by pixel, displayed on a 12″ black and white cathode ray tube television. I wrote about this in 2019 in my post CALL CHAR().

If kid Joe can do it, adult Joe can too. I was thinking of using my character Cube Cat–of whom I’ve been sketching and making comics about for several years.

I started with drawings. First rough:

And then on graph paper:

This past week, off and on, I’ve been learning how to do it, one piece at a time. Many fits and starts. I learned about tools like the CSS property clip-path which can take a polygon as a value. This is a triangle: polygon(26% 0, 0% 100%, 100% 100%);, and here’s an oval: ellipse(50% 28% at 50% 50%);. I used the Clippy tool to learn about that. It is a simple and useful tool to explore the available shapes. A complicated polygon is how I made Cube’s cowlick, which has 12 points. I tried a lot of things that didn’t work out. To do the “freckles” (more like whiskers but Cube Cat, as an anthropomorphized creature has some odd anatomy). I tried to use display: flex to organize those dots but ultimately it was easier to place them with position: absolute. I have avoided CSS variables (aka CSS custom properties) but I used some here. Codepen lets me used SASS and I could have done that, but what’s a learning exercise if you don’t try new things? I knew I’d be using border-radius and box-shadow, which worked well. And I used z-index more than I expected to maybe. I thought I’d rotate squares to create the collar but alignment became somewhat difficult using CSS rotate() function, in the end, that also ended up a polygon. I considered doing my signature with a polygon but I did end up using an image for that, altering the opacity just a bit with CSS.

All along I used MDN’s CSS documents as well as canIUse, which documents browser support for this custom stuff.

Frank Zappa, when a piece of music was unfinished, talked about “putting the eyebrows on it.” That is, creating the final textures that for good or bad, make the piece done. And so, here’s the final result:

I am even more impressed by folks who do this kind of painstaking creative work in CSS now that I’ve created one myself. I can see why they do it though, it’s a lot of fun!

View it, and even edit it, on codepen

Quote of the Day, on Martin Luther King

from Tony Pierce

mlk makes me think you can do everything you can and it still wont change some people.

which is a good thing to realize quickly.

that way you dont waste your time doing things to change people.

instead you should do things

because theyre awesome,

and maybe youre the best person to do them.

Quote of the Week

This post: Only Scale, from Dubious Quality (who I’ve been reading for a decade or more):

Morality is never rewarded in this country, only scale.

Just think about that for a moment. Is doing the right thing ever even discussed? Not really. How often do you see a CEO get rewarded for taking a moral stance on anything? Scale is rewarded, though, and massively. Just grow so big that you can crush everyone else, no matter how you do it, and you’ll get paid.


This is something I think about all the time. This is why despite being relatively successful in this country I can see the disparities and the way systems seem not to really be oriented to fairness, or justice, or truth. How those who are unfair, or unjust, or who lie can nonetheless prosper in the US (and the world).

It’s because that’s how the system is (mostly) set up.

For me, the disjoint came early. I worked in medicine as my first significant job: the “lung” in “artlung” is about my having worked as a Respiratory Therapist. I worked in intensive care units, and in ambulatory care, and long term care. How are you going to make a profit taking care of people? There’s no profit to be had in comforting the dying. So: nonprofit as a way to organize that enterprise makes perfect sense.

Your Driver: The Rock

There was a tweet saying that Dwayne “The Rock” Johnson is going to be in another movie based on a videogame.

Which of course is an explicit allusion to the incredible video game Desert Bus by Penn & Teller!

The bus contains no passengers, there is little scenery aside from an occasional rock or bus stop sign, and there is no traffic. The road between Tucson and Las Vegas is simplified compared to the real highways: it is now completely straight. The bus veers to the right slightly, and thus requires the player’s constant attention. If the bus veers off the road it will stall and be towed back to Tucson, also in real time. If the player makes it to Las Vegas, one point is scored. The player has the option to make the return trip to Tucson for another point, a decision which must be made in a few seconds or the game ends. Players may continue to make trips and score points as long as their endurance lasts. Although the landscape never changes, an insect splats on the windshield about five hours through the first trip, and on the return trip the light fades, with differences at dusk, and later a pitch black road where the player is guided only with headlights. The game cannot be paused.

It is, to me, the apotheosis of “realistic video game.” What could be more real than simulating real life and the low pay of a bus driver? I’ve loved the idea of this game since I read about it in 1995.

Desert Bus for Hope is an annual charity play of the game that never fails to make me smile. Episode 5 of A Life Well Wasted documents the event and is a brilliant must-listen.

Cousins and TI-99/4a

That’s me and my cousins. I was quite proud to show off my TI-99/4a computer. 4 MHz processor and less RAM than pretty much any photo posted to any social media service you use daily. I did my first graphics programming on that computer. You can also see the tape recorder/radio I saved programs onto. Much love to my cousins Eddie (RIP), Bronson and Leeman. Also peep the “CRAWDADDY” cartoon on the side of the monitor!

Dad’s words about Mom

My father says of himself and my later mother: “We majored in each other in college.”

Some fun facts about them:

  • He proposed to her during the movie Goldfinger at the drive-in.
  • It was bold of her to visit him in Canada when she’d never been anywhere but Pasadena.
  • He remembers movies they went to. In Canada they saw both In The Heat of the Night and Wait Until Dark in 1968.
  • My grandfather’s family–paternal–family had been in San Diego a LONG TIME. Homes in Old Town. First restaurant in San Diego was the SILVA residence.
  • My mother won a Portuguese scholarship at some point because she was presumed Portuguese.
  • My father told me the radio was on constantly in the Silva house. Music played 24 hours a day.
←December 2021February 2022→