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

December, 2021: 51 posts.

Own your newsletter

People talking about newsletters today this week.

I appreciated this:

Set up a way for your blog to slurp your new Substack posts (i.e. on WordPress you can use an RSS aggregator plugin to pull in your Substack RSS feed) so they’re automatically archived on your own domain.

That was from Have you “Moved to Substack?”.

Ultimately the thing a creator wants is to control over their own work. I know freelance reporters whose work was lost entirely as some company changed management or focus. You gotta own your own stuff. And using existing, tried and true tools to pull stuff into a website you control seems like the minimum for someone who lives by their words.

And MAS is talking newsletters today, too. Though he’s a bit critical of himself on his predictions. I don’t think anyone has a handle on what comes next. I’d have said nobody would ever want to watch someone play a videogame live, it still amazes me that that is considered entertainment.

Adapting Comics for Blind & Low Vision Readers: Seminar Resources

Email from earlier this year. There’s a vibrant community of people talking about accessibility in comics. Reposting to my site for posterity.

Thank you again for attending our March program, “Adapting Comics for Blind & Low Vision Readers”!
If you want to watch again or share the program, you can do so here: Adapting Comics Panel Video.
If you can spare two minutes to share your experience and hopes for where this topic might go in the future, it will greatly assist our efforts! Take the event survey here.
To learn more about the event organizers: 
The compiled list of resources our attendees offered during the webinar:
Thank you once again for joining our event!
Yue-Ting Siu, Nick Sousanis, and Emily Beitiks

Extract #Hashtags from Titles and Content for WordPress

I’ve been using IFTTT since 2013 and use it to import posts from my Instagram account into for safekeeping. One aspect of that is hashtags, which mostly I’ve imported manually and in batches over the years. Based on WordPress HashTags by Matthias Pfefferle I was able to build a small plugin to popular the Tags editor for me. Yay for itch-scratching!

Surfline Camera of Crystal Pier this morning

Very comforting!

Comic Con Special Edition

I’ve been attending San Diego Comic-Con since I was a kid in the 1980s. When I started going it was at the Civic Center. We stood in line to buy tickets on the morning of. At the end of each one, there was a booth set up to buy tickets for the next year’s Comic-Con.

The Pandemic changed Comic Con. 2020 was skipped. Then 2021 was skipped.

And then something new appeared. Comic Con Special Edition. Vaccines were happening. The Pandemic’s impact was being blunted. Somewhat.

What would CCSE be?

In September I and friends bought tickets.

Unlike regular Comic Con, it did not sell out.

I felt pretty excited for Comic-Con, but it was a bit strange. We would all be masked, but not as part of our costumes. We would need to be vaccinated or have proof of vaccination. And it would be smaller. Much smaller.

I gave blood.

I saw robots.

The show floor was less dense. There were fewer people. Fewer vendors. No big companies. No Marvel Comics. No DC Comics. No Dark Horse Comics. No big videogame vendors. It was odd.

Not the same as a “regular” Con but still fun. I enjoyed the Comics Arts Conference as usual. It’s fun to look at culture more deeply. It’s the kind of thing that has me thinking I’d like to do something in academia that’s cultural.

Speaking of that COMICS@SDSU had a great panel talking about what’s happening with them.

You can follow their blog or twitter. They are getting comics pros to come in and do lectures and appearances. Good stuff. Pamela Jackson wrote about SDCCSE as well.

Also happening on that weekend was the opening of the Comic Con Museum in Balboa Park. I have not been since they’ve opened but I’ve been to a few events there in pre-opening. In 2020 Kelly and I saw the Picard opening in their theater.

I had a real good time. Despite the abbreviated nature of the thing.

I look forward to 2022’s Con. Very curious to see how it goes.

For further reading check out Beth Accomando’s piece: Reflecting on Comic-Con Special Edition

Bullocks Wilshire Tea Room Sit In

At the end of 2016 I heard something vague somewhere about Bullocks Wilshire in Los Angeles having a Civil Rights Sit-In in their Tea Room. I’ve not been able to track down more information on it and I don’t even remember where I heard it. Bad on me.

Mosaic Browser, 1993! (new post from

The histories of the web by Richard MacManus on webdevelopmenthistory dot com are wonderful. Read the latest: 1993: Mosaic Launches and the Web is Set Free

Oatmeal Chocolate Chips Cookies by Leah

As part of my ongoing “going through my files” efforts I found this, made by my ex, Leah. Here’s a great recipe for oatmeal chocolate chip cookies. Chocolate Chip Cookies most often lack oatmeal. Oatmeal Cookies typically have only raisins to accompany them. Oatmeal Chocolate Chip is my favorite cookie combination!


1 cup butter, softened
1 cup packed brown sugar
½ cup white sugar
2 eggs
2 teaspoons vanilla extract
1 3/4 cups all-purpose flour
1 1/2 tsp baking soda
1/2 tsp salt
1 tsp Cinnamon
3 1/2 cups quick-cooking oats
1 cup semisweet chocolate chips


In a large bowl, cream together the butter, brown sugar, and white sugar until smooth.

Beat in eggs one at a time, then stir in vanilla.

Combine the flour, baking soda, and salt; stir into the creamed mixture until just blended.

Mix in the quick oats and chocolate chips.

Refrigerate dough two hours or overnight.

Preheat the oven to 335F

Break or cut off 1-2” chunks, smash between hands to flatten.

Bake for 12-15 minutes in the preheated oven.

Allow cookies to cool on baking sheet for 5 minutes before transferring to a wire rack to cool completely.

Notes: I use regular oats instead of quick cooking because I like the density. I replace some brown sugar with muscovado sugar, up to 1/2 cup for the darker flavor. Instead of adding cinnamon to the batter, sometimes I dip the top of uncooked cookies (after flattening) into a sugar cinnamon mix. 335 is not a typo : ) and sometimes it takes 17+ minutes. I don’t let the bottoms get very brown, the tops still look a little wet, and I do let them sit for five minutes on the hot cookie sheet after removal. Stays chewing and soft inside.

Quote of the Day: Brian Eno on NFTs.

Brian Eno on NFTs & Automatism on the crypto syllabus:

I’ve been approached several times to ‘make an NFT.’ So far nothing has convinced me that there is anything worth making in that arena. ‘Worth making’ for me implies bringing something into existence that adds value to the world, not just to a bank account. If I had primarily wanted to make money I would have had a different career as a different kind of person. I probably wouldn’t have chosen to be an artist. NFTs seem to me just a way for artists to get a little piece of the action from global capitalism, our own cute little version of financialisation. How sweet – now artists can become little capitalist assholes as well.

The whole thing is worth a read.

About Radio Garden. Thanks WNRN 91.9FM!

This is a sort of strange followup to my music roundup from November.

I worked at Slacker Radio (now LiveXLive) for many years and enjoyed that service a lot. Now I use Spotify mostly. Before that I managed my iTunes music collection onto iPods over the years very carefully and deliberately, making playlists as needed.

I’m really enjoying Radio.Garden.

Radio Garden lets you listen to what music people call “terrestrial” radio. Terrestrial refers to “Terra” aka “Earth” — which perhaps implies that internet radio services are unearthly? Alien, then?

I especially have enjoyed the eclectic mix on Charlottesville station WNRN. They seem to span new and old music in a mix that seems to hit some kind of listenable sweet spot to me. I have not tried to look closely at why that is. They feature more country and bluegrass inflected music than I typically listen to and maybe that’s comforting right now. I also love hearing place names like Crozet, Lexington, Afton and the like. I lived in Charlottesville when worked at the UVa Medical Center, many years ago now. But it’s not mere nostalgia, I dig the music. As I’m listening right now they’re playing a Dave Matthews Band song. Dave Matthews was a resident of Charlottesville and I missed out on seeing them (despite going shows at Trax regularly in the 90s).

Thanks WNRN, for being awesome.

And thanks Radio.Garden!

Music, as Frank Zappa said, is the best.

Another thing to worry about! Surfer’s Ear

My sister, who loves me dearly, is now worried about me getting Surfer’s Ear, something I’d never heard of. I did used to get swimmer’s ear as a kid a fair about. I’m pretty sure it was the result of me not cleaning my ears well enough after swimming in pools or the ocean. In my teens I got in the habit of doing better with that and then irrigating my ear with vinegar when I did get an ear infection. I haven’t had ear trouble much since then. It looks like my last infection was in 2008. And in this COVID year where I’ve swum so much, I’ve gotten no infections.

Anyway, UCI tells me about Surfer’s Ear:

Surfer’s ear (also known as swimmer’s ear) is a condition where the bone of the ear canal develops multiple bony growths called exostoses. Over time, this can eventually cause a partial or complete blockage of the ear canal.

The condition is primarily caused by prolonged exposure to cold water or wind. Cold water surfers are six times more likely to get surfer’s ear than warm water surfers.

UCI describes the symptoms and complications as follows:

An ear infection is one of the primary symptoms of surfer’s ear.

It is important to seek treatment early. When the ear canal is narrow, water and debris can become trapped and cause an infection. These infections are difficult to treat and require several visits to an ear, nose and throat physician for cleaning of the

When 90 percent or more of the ear canal is blocked, significant hearing loss occurs. The loss can only be relieved by removing the bony growths in the ear.

I’m not concerned as of this minute, but obviously I will be vigilant.

Just keep swimming!

Remember .sig files?

I used to spend a great deal of time on mailing lists. Listservs. Majordomo lists. eGroups. Onelist. Yahoogroups.

So I agonized about good formatting of my signature file. Here are some old ones! I think they’re great.

Joe (

Joe Crawford

Joe Crawford  > ArtLung = Artist + Respiratory Therapist <
              >          W e b    D e s i g n e r        <
              >       Los Angeles, California, USA       <
              >            <
              >     <

Joe_Crawford {
//     Web Integrator | Jamison/Gold Interactive
//                    | Marina del Rey : CA : USA

Joe Crawford.............................................ArtLung
Web Integrator             Artist + Respiratory Therapist (Ret.)
Marina del Rey             Los Angeles           California  USA

Joe Crawford   { ArtLung }    |
Web Designer + Integrator     |
Respiratory Therapist (Ret.)  |    Los Angeles . CA . USA

Joe_Crawford {
//     Web Integrator | Jamison/Gold Interactive
//          San Diego : Marina del Rey : CA : USA

 Joe Crawford   { ArtLung }    |
 Web Designer + Integrator     |
 Respiratory Therapist (Ret.)  |    San Diego  . CA .  USA

 Joe Crawford { ArtLung } _________
 Web Developer + Designer  ________
 Former Respiratory Therapist _____ San Diego  . CA .  USA
 San Diego Web Developer? Go to

Joe Crawford...........electronic mail -> mailing list ->
founder..San Diego/CA/USA mailing list ->
Web Designer/etc.............about(me) ->

*   Joe Crawford / Web Developer              **** 
**             *** 
***                   ** 
****   The Marketplace for Continuing Education  *

Joe Crawford  | web designer + developer 
                    services-for-hire |
                        personal-site |
dev-mailing-list-for-san-diego-CA-USA |

Joe Crawford  | web designer + developer 
                        personal-site |
dev-mailing-list-for-san-diego-CA-USA |
                    if ( Gush==Bore ) { }

Joe Crawford 
 * I am a Web Designer and Developer;
 * Find out about me at :
 * A Mailing List for San Diego Web Folks :

Joe Crawford ||||||||||||||
|||||||||||||||||||||||||||      Avencom: Set Your Sites Higher

...........  Joe Crawford : thinking and design about the web
.... enigmatic narcissism and miscellany :
.... community instigator :
.... San Diego, California, USA .....................AAAFNRAA

Joe Crawford, web journeyman, San Diego CA USA ======================
Joe Crawford, web journeyman.  San Diego Calif. USA
.............||||||||||||||||| latest thought:
............||||||||||||||| san diego web folk:
...........||||||| san diego bloggers:

phpStorm: URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)

So I was looking through ancient HTML files last night, as one does, and noted this peculiar error in phpStorm around the DTD of one of the files:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 

phpStorm did not like this DOCTYPE. It reported to me:

URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)

I downloaded the dtd and entered the URI as the key and pointed to the downloaded dtd as a new schema in Schemas and DTDs.

That kind of worked, but then the <html> inspection was mad at me:

Element html must be declared

I added some related ent files referred to in the dtd.

I inspected where the other DTDs are kept, they’re in the platform-impl.jar file hidden inside ~/Library/Application Support/JetBrains/Toolbox/apps/PhpStorm/ch-0/213.5744.279/ but this also included a pile of other files so aping the format seemed like a nonstarter.

Ultimately the nuisance of the error for 20 year old HTML schema was not a profitable use of my time. But I have a soft spot for DTDs as tools to validate HTML. I remember hacking the HTML4 DTD so that I could validate against a DTD that included the attributes:


… which were necessary to make Microsoft Internet Explorer and Netscape Navigator render a page with no associated margins. This was useful for the pixel-perfect implementation work I did as a web integrator working with designers who wanted designs to be as close to perfect as possible.

Today, it’s trivial to add body { margin: 0; } to your stylesheet.

But I was creating web pages before stylesheets! When single-pixel GIFs ruled the day. The days of David Siegel’s Creating Killer Websites.

If anyone gets phpStorm to behave with these old DTDs please do let me know though.

Resume View Tracker from 2010

Back in 2010 or so when I was looking for work. I wanted to track when recipients were looking at my portfolio, so I added some code to alert me whenever the page was loaded, by anyone.

It seems more innocent than sinister to me now. Note how I had to alter it to filter out web spiders:

$spiders = array(

And I also had to filter out friends and family I sent the page to to get their feedback, and me when I was at their places.

It’s no longer working code because PHP has added changes to eliminate global variables that are not scoped to the $_SERVER variable. But it’s a fun time capsule.

One of the best feelings: retiring debt

This was a credit card shared in common with my ex-wife. Took a year and a half, and it feels so wonderful to be clear of it!

Quote of the Day is from Jeet Heer

Fabricating Consensus Why The View’s search for a palatable Republican will fail:

In a polarized America, The View is trying to manufacture a reasonable conservatism that is a miniscule and an ever diminishing part of the political spectrum. They are trying to create out of thin air a conservatism that has no bearing on actual politics, because they prefer to keep alive the idea of reasonable discourse along a narrow spectrum—some disagreement is permitted between left and right, so long as it’s the center that holds.

I’m a big fan of Jeet Heer. His twitter is great and I enjoy his newsletter.

It’s telling that Republicans are increasingly odious. I think we’re all in for a worse 2022 than 2021 in terms of political behavior of those who consider themselves Republicans. It’s a fiction to think it’s a reasonable political party.

The USSR had too few political parties: 1.

It turns out the USA has too few political parties too: 2.

Specklefin Midshipman

I go to the beach a lot.

And I post to Instagram the things I see. The waves, the sand, sometimes: sea creatures.

On the morning of December 6th I came across a bunch of foodstuffs, and one unusual fish.

So unusual that when the photo was shared to Facebook, my angler cousin remarked that it was quite unusual and would be asking buddies what it was.

My pal Susan likewise was curious, and posted the photo to iNaturalist has a few goals:

  • Keep Track
    Record your encounters with other organisms and maintain life lists, all in the cloud.
  • Create Useful Data
    Help scientists and resource managers understand when and where organisms occur.
  • Crowdsource Identifications
    Connect with experts who can identify the organisms you observe.
  • Become a Citizen Scientist
    Find a project with a mission that interests you, or start your own.
  • Learn About Nature
    Build your knowledge by talking with other naturalists and helping others.
  • Run a Bioblitz
    Hold an event where people try to find as many species as possible.

That Crowdsource Identifications is the key one. And in about 2 days the “Crowd” of experts in ichthyology made a consensus: Specklefin Midshipman (Porichthys myriaster). Here’s the iNaturalist sighting page.

It’s a rare fish for the Mission Bay Jetty but not unheard of. It has a deeper range than most of the critters there though, having been spotted as deep as 126 meters (413 feet!) deep.

More info:
here, here, here, and here.

On Atemporality

At the “end” of the year, as we are, one can’t help but think about time.

Time “passes.” And we can “waste” time. But in a very real sense “time” is not a “thing” in the same way as other nouns.

We are bound to our temporal space. We can “remember” prior times but we can’t really go there.

But we can recreate pieces of the past, and inhabit them.

I like to cosplay–wear costumes–and it’s remarkable how that helps me inhabit another persona. I recall the comedian Dana Carvey saying in an interview something like “when I do an impression of Dennis Miller, my vocabulary is better.”

Our imaginations are amazing. We can simply decide to speak like someone else.

I think about a therapy session where it was suggested to me that I carry inside me voices of parents, family. When I “know what my mother would say to me” about something, that’s a feat! My mother is a decade in the past, but in some sense I carry inside me a model of what she would say.

Which brings me to the idea of “atemporality.”

I first encountered the idea of atemporality through the author William Gibson.

Prince and Frank Zappa can still put out new music, but they have been dead a while.

Gibson famously coined the term “cyberspace” and is famous for being part of what was dubbed the “cyberpunk” movement.

I first encountered Cyberpunk in 1983 and the idea of it – technology is wondrous and yet prosaic – it’s terrifying and thrilling — and the street finds its own use for things. My worldview is 100% filtered through the ideas of Cyberpunk. When a group of K-Pop fans group together to disrupt a political process — that’s cyberpunk. When email archives are shared out to the internet; when a snippet of video goes viral; internet memes: all cyberpunk.

I digress.

Using a set of ideas to look at the world is not exactly what I mean by atemporality. One idea of atemporality would be something along the lines of Pennsylvania Dutch or Amish – people who adopt a culture that is aside from the current moment. But that’s not what I mean. I mean that when I watch the film Smithereens from 1982 on demand that is a tiny piece of atemporality. I see kids on Instagram choose to only listen to music from the 1980s and that’s a particular kind of atemporal choice. We can pick and choose the cultural artifacts we engage with because so much of prior culture is available to us on demand.

I think about hot rod culture, rockabilly style, and the fashion associated with all that. All of that is from the 1950s, and a person can choose to live in that style, to drive a Mercury Coupe, to wear a pompadour hairstyle. Such a life choice has been possible a while, there’s a finite amount of 50s culture. Moving forward, it is easier to make choices like this.

The Present is deeply weird. There’s no coherent zeitgeist. There is little way to get a handle on it. Different people use a term like “millennial” and depending on who you talk to they might mean it to be a pre-teen or someone 35. I see a term like “boomer” get thrown around and hit people who by no means meet the established criteria of being part of WWII babies, and yet, the usage makes a certain kind of sense. Time as a definer of who we are is becoming a less valid criteria to understand people.

Musings for a Thursday morning.

When are you reading it? I can’t know.


Longmont Potion Castle

Part of blogging in WordPress that’s great is that I can save drafts. This is one with just a link to wikipedia and the title Longmont Potion Castle.

What did I mean? Why did I save it? To research?

Longmont Potion Castle:

Longmont Potion Castle (born 1972) is the pseudonym of an anonymous surrealist prank caller active in Colorado and the Los Angeles areas since 1986. Details about his personal life are scarce, and his real name is unknown to the public. Over the years, his mostly self-released albums have gained a cult following, notably among musicians.


Listen to a track:

It’s fascinating. Ridiculous. I don’t like prank phone calls, really. But this, it’s very listenable. Reminds me a bit of Joe Frank at a totally different angle. It also reminds me a bit of the They Might Be Giants track Untitled. Found recorded audio can be magic.

Gloria: But what does he get–how does he make money on this? Whatever he’s advertising in the paper. This is the part that don’t make no sense.
Guy on Phone: Oh, he’s advertising this in the paper you saw it.
Gloria: In the Village Voice, yeah. They got–that’s where the Kiss Clinic, but they give you another number if you wanna join it. Then I got the “intellectuals meet with other intellectuals…”

I think I’ll listen to My Life in the Bush of Ghosts today.

←November 2021January 2022→