ARTLUNG. photo of Joe at the beach, plus inset picture of Woody Guthrie's hands on his guitar with a signing reading THIS MACHINE KILLS FASCISTS. Plus watercolor flags of Ukraine and Palestine.

Welcome. I'm Joe Crawford. I love the web. I live in San Diego, California.

me, at the beach

Links to me on other websites, my email address, my phone number, ways to get in touch, are here.

Everybody's carrying around a web browser in their pocket. Go make a web page!

And, no, fooling, please sign my guestbook. You were here.

CSS Battles on YouTube

Want to watch me write code to do the daily targets on CSSBattle.dev ? You are in luck. And I wrote about it: 110 Hours of CSS Battle.

Here are the latest battles I've recorded.

artlung.com/cssbattles/

Affirmations Bot

I've experimented with several social media bots over the years. The latest is Affirmations Bot and it sends out affirmations daily to Mastodon (RSS Feed) and Bluesky. I've collected many over the years from support groups, books, and some I've written myself.

Recently posted affirmations:

The IndieWeb blog carnival I hosted on the theme of affirmations in February 2025 had excellent participation. Read more blogs!

Comics

I've always drawn, but I've only been making comics for the web for a few years. I find it really satisfying to start with an idea and follow it through to completion.

artlung.com/comics/

Front End Study Hall

I host an open forum for learning CSS & HTML called Front End Study Hall under the aegis of the IndieWeb. If CSS and HTML are of interest to you, and you like to explore and learn and experiment, you are welcome to join us. Meetings are held on Zoom.

View my IndieWeb profile which is mirrored here.

WordPress

I've used WordPress since it was b2. Much of this site—but not this page—is powered by WordPress using a custom theme and plugins that I've written. In 2010 I created a plugin—Open Graph Protocol Tools—still in the WordPress plugin repository. I've enjoyed every WordPress win and suffered every WordPress indignity. I've debugged shortcodes, worked with child themes, used Multisite. Woocommerce, and created themes from scratch. I've been gratified to help people migrate from Blogger FTP to WordPress, and Import Instagram photos to WordPress. And I've tackled the nastiest malware infestations and fixed the most tedious Mojibake problems. Many people dislike WordPress. I like it. (Also, the WordPress CLI is among my favorite development tools).

ArtLung Lab

The Lab started as a part of this website. I post experiments in web programming there. Here are the latest.

Ever since I've had a web page I have tinkered with HTML. The Lab lab.artlung.com (RSS Feed) collects experiments and explainers I've made over the years. The source code for the site is available on GitHub: artlung/lab.artlung.com. When I learn something new or find some interesting oddity about the web, I will create a page for it on the lab. I left it fallow for many years but returned to it with a passion in 2024.

lab.artlung.com

Social Media

I'm active on a few different platforms. Lately I'm posting more to Mastodon and Bluesky and less on Instagram. I was once a very active user of Twitter (now X), but avoid it now. More links here.

Here are a few recent posts from Mastodon.

Smorgasborg

This is similar to the Lab, but for stranger, goofier, and (mostly) non-technical items which I have found useful on the internet.

smorgasborg.artlung.com

Likes

Links which I Like, recently (RSS). Many of which I have sent webmentions to.

artlung.com/likes/

Blogging

I'm a blogger. artlung.com/blog (RSS Feed), I appreciate the power of a blog. Blogging has inspired books and movies. Blogging has brought people tv careers, political power. Blogging got me on the radio, twice. It also has connected me with people who became life-long friends.

Some recent posts:

Blog Archives
2001
01 02 03 04 05 06 07 08 09 10 11 12
2002
01 02 03 04 05 06 07 08 09 10 11 12
2003
01 02 03 04 05 06 07 08 09 10 11 12
2004
01 02 03 04 05 06 07 08 09 10 11 12
2005
01 02 03 04 05 06 07 08 09 10 11 12
2006
01 02 03 04 05 06 07 08 09 10 11 12
2007
01 02 03 04 05 06 07 08 09 10 11 12
2008
01 02 03 04 05 06 07 08 09 10 11 12
2009
01 02 03 04 05 06 07 08 09 10 11 12
2010
01 02 03 04 05 06 07 08 09 10 11 12
2011
01 02 03 04 05 06 07 08 09 10 11 12
2012
01 02 03 04 05 06 07 08 09 10 11 12
2013
01 02 03 04 05 06 07 08 09 10 11 12
2014
01 02 03 04 05 06 07 08 09 10 11 12
2015
01 02 03 04 05 06 07 08 09 10 11 12
2016
01 02 03 04 05 06 07 08 09 10 11 12
2017
01 02 03 04 05 06 07 08 09 10 11 12
2018
01 02 03 04 05 06 07 08 09 10 11 12
2019
01 02 03 04 05 06 07 08 09 10 11 12
2020
01 02 03 04 05 06 07 08 09 10 11 12
2021
01 02 03 04 05 06 07 08 09 10 11 12
2022
01 02 03 04 05 06 07 08 09 10 11 12
2023
01 02 03 04 05 06 07 08 09 10 11 12
2024
01 02 03 04 05 06 07 08 09 10 11 12
2025
01 02 03 04 05 06 07 08 09 10 11 12
Tag Cloud

Blog of the .Day

Blog of the .Day was created by James. I am now its steward. Every day, a different user-submitted blog is highlighted at random.

Do you have a blog? Blog of the day is on GitHub: artlung/blogofthe.day. If GitHub pull requests and editing JSON intimidate you, know that there are other ways to submit your indie blog.

The blog of the day is tyfromtheinternet.com/posts - Ty talks type, travel, and photos.

The site maintained with Eleventy and hosted on Netlify.

Tilde Club & HTML 2.0

tilde.club/~artlung/ is "retro." It is a single page site. I assure that the code validates to the HTML 2.0 DOCTYPE. That means CLASS or ID attributes are not allowed. That deprecated 1990s version of HTML still allows for a readable, fairly attractive page. That code is available on GitHub: artlung/artlung-tilde-club .

Blog Headers (2000—)

For as long as I've been blogging I've been making visually distinct blog headers out of my own photos, drawings, typography, quotes, and other artwork. 800x600 pixel wide CRT screens were the norm when I started making these using image-and-table sliced layouts. I have kept and adapted them for the modern web and in so doing sharpened my skills in CSS. View all the headers over here .

Toy Robots a collection

  1. Maria Robot (1927)
  2. Elektro the Moto-Man (1939)
  3. Robbie the Dog Robot (1944)
  4. Gort (1951)
  5. Astro Boy (1952)
  6. Astro Boy (blasting) (1952)
  7. Astro Boy (visible) (1952)
  8. Super Space Giant (mini replica) (1955)
  9. Robby the Robot (1956)
  10. Gigantor (aka) Tetsujin 28 (1956)
  11. Alicia (1959)
  12. Rosie the Robot Maid (Jetsons) (1962)
  13. Robot "B-9" aka M3-B9 G.U.N.T.E.R. (1965)
  14. Sentinel (1965)
  15. Super-Adaptoid (1966)
  16. Rock 'Em Sock 'Em Robot: Blue Bomber (1966)
  17. Rock 'Em Sock 'Em Robot: Red Rocker (1966)
  18. Giant Robo (1967)
  19. Giant Robo (small) (1967)
  20. GR2 (Torozon) (1967)
  21. Red Tornado (1968)
  22. King Joe (1968)
  23. Space Robot (Number 902) (1968*)
  24. Claw (Ding-A-Ling) (1970*)
  25. Kikaider (1972)
  26. Aphrodite A (1972)
  27. Aphrodite A (mini) (1972)
  28. Doublas M2 (1972)
  29. Mazinger Z (1972)
  30. Mazinger Z (gashopon) (1972)
  31. Dewey (1972)
  32. Huey (1972)
  33. Louie (1972)
  34. Doraemon robot cat (1973)
  35. Jet Jaguar Super7 (1973)
  36. Jet Jaguar Vinyl (1973)
  37. Jet Jaguar Vinyl Glow (1973)
  38. Analyzer Unit 09 (1974)
  39. Robo Gari (ロボガリ) (1974)
  40. Robocon (1974)
  41. Getter 1 (1974)
  42. Getter 3 (1974)
  43. Getter Dragon (1974)
  44. Getter Liger (1974)
  45. Getter Poseidon (Shogun Warriors) (1974)
  46. Getter Poseidon (small die cast) (1974)
  47. Getter Poseidon (sofubi) (1974)
  48. Getter Robo (1974)
  49. Getter Robo (Superdeformed) (1974)
  50. Getter Robo 1 Pink Edition (1974)
  51. Mechagodzilla (1974)
  52. Mechagodzilla (Superdeformed) (1974)
  53. Great Mazinger (1974)
  54. Venus A (1974)
  55. Diana A (1975)
  56. Raideen aka Brave Raideen aka Raydeen (superdeformed) (1975)
  57. UFO Grendizer aka UFO Robot Grendizer (1975)
  58. ZnDc Missler "Zinc Diecast" (year approximated) (1975)
  59. Combattler (Chōdenji Robo Combattler V) (1976)
  60. Combattler (gashopon) (1976)
  61. Daikū Maryū aka Kargosaur (1976)
  62. Gaiking (1976)
  63. Fembot (1976)
  64. Dynomutt (1976)
  65. Daiapolon (1976)
  66. Gamerot (ガメロット) (1976)
  67. Manhunter (1977)
  68. K-9 (1977)
  69. Mekanda aka Mechander Robo (1977)
  70. Machine Man (Marvel) (1977)
  71. C-3PO (Threepio) (1977)
  72. Gonk (1977)
  73. R2-D2 (1977)
  74. Voltes V (Super Electromagnetic Machine Voltes V Mini Action Series) (1977)
  75. Voltes V (chibi) (1977)
  76. Voltes V (vinyl) (1977)
  77. Zambot 3 (1977)
  78. Cylon Centurion (1978)
  79. Cylon Centurion (Funko Mini) (1978)
  80. Muffit II (a Dagget) (1978)
  81. Muffit II (a Dagget) (second copy) (1978)
  82. H.E.R.B.I.E. (Humanoid Experimental Robot, B-type, Integrated Electronics) (1978)
  83. H.E.R.B.I.E. (larger) (1978)
  84. Leopardon (1978)
  85. Pocket Bot (1978)
  86. Daimos (1978)
  87. Ash (1979)
  88. Maximillian (Black Hole) (1979)
  89. Maximillian (Black Hole) (super 7) (1979)
  90. Old B.O.B. (1979)
  91. Old B.O.B. (super 7) (1979)
  92. V.I.N.CENT (1979)
  93. V.I.N.CENT (super 7) (1979)
  94. Twiki (1979)
  95. Robot Spirits RX-75-4 Guntank (1979)
  96. DaiDenzin (ダイデンジン) (1980)
  97. IG-88 (1980)
  98. Medical Droid 2-1B (1980)
  99. Postler (ポストーラー) (1981)
  100. KITT (1982)
  101. Dairugger XV (1982)
  102. GC-09 Metal Robo 55 (1983)
  103. AFC Blinks (1984)
  104. Cy-Kill (1984)
  105. Vulgar the Destroyer (1984)
  106. Egg bot (1984)
  107. Mouser (Mobile Offensive Underground Search Excavation and Retrieval Sentries) (1984)
  108. T-800 Terminator (1984)
  109. T-800 Terminator ("Carl") (1984)
  110. Bumblebee (1984)
  111. Roll Bot (1985)
  112. R.O.B. (Robotic Operating Buddy) (also in Smash Brothers) (1985)
  113. Fugitoid (1985)
  114. Bishop (pull apart) (1986)
  115. Conky 2000 (1986)
  116. Arcee (1986)
  117. ED-209 (1987)
  118. Data (Star Trek:The Next Generation) (1987)
  119. R-24 (Captain Rex) (1987)
  120. Chromedome (1987)
  121. SpotBot (1988)
  122. Lore (1989)
  123. Blaster T-1000 (1991)
  124. T-1000 Terminator (1991)
  125. MOGUERA (1994)
  126. Transformers Dreadwing (G2) (Decepticon) (1994)
  127. Transformers Smokescreen (G2) (Decepticon) (1994)
  128. Preston (Cyber-Dog) (1995)
  129. Rusty The Boy Robot (1995)
  130. Rusty The Boy Robot (wheels) (1995)
  131. The Big Guy (1995)
  132. Fembot (1997)
  133. Sojourner Rover (1997)
  134. ASP-704 (1997)
  135. Integalactic Robot (1998)
  136. Big-O (1999)
  137. Bender (1999)
  138. Robot Santa (1999)
  139. Iron Giant (1999)
  140. Iron Giant (machinder edition) (1999)
  141. Evila (1999)
  142. Pit Droid (DUM-series) (1999)
  143. Pneuman (1999)
  144. ASIMO (Advanced Step in Innovative Mobility) (2000)
  145. Gekkoku 2 (月光機 弐号 Gekkoki No. 2) (2000)
  146. Little Green Bot from Swap Meet (2000*)
  147. Teddy (2001)
  148. Roberto (2001)
  149. Gir (2001)
  150. Super Optimus Prime (Super Mode) (2001)
  151. Robo-Chi (Orange Bear) (2002)
  152. Spongebob Robot (2002)
  153. B.E.N. (Bio Electronic Navigator) (2002)
  154. Six (2004)
  155. Kikkerland Awika Wind Up (2004)
  156. Marvin the Paranoid Android (2005)
  157. B2 Super Battle Droid (2005)
  158. Imperializer (2006)
  159. Scar (Cylon) (2007)
  160. Superman's Robot at Fortress of Solitude (2007)
  161. Hexbug Ant (Green) (2007)
  162. Kikkerland Le Pinch Windup Toy (green) (2007)
  163. Kikkerland Le Pinch Windup Toy (yellow) (2007)
  164. Mom (Grace Hargreeves) (2007)
  165. Plex (2007)
  166. Dermot Joshua Gramo (DJ Gramo) (2008)
  167. Sketchbot (2008)
  168. EVE (Extraterrestrial Vegetation Evaluator) (2008)
  169. Wall-E (2008)
  170. Josef (2009)
  171. BMO (2010)
  172. Robot Unicorn (2010)
  173. Big Boss Robot Artist (black) (by Giant Robot) (2010)
  174. Big Boss Robot Artist (purple) (by Giant Robot) (2010)
  175. Schylling Tin Bot X-306 (2010)
  176. Sparks (Toy Story 3) (2010)
  177. Robot 18 (2010*)
  178. Kikkerland Cranky (2011)
  179. Space Robot Wind-Up Party Favor "Galaxy" (2011*)
  180. Batman Robot (バットマン ロボット) (2012)
  181. Robo Shark (2012)
  182. Hello Bertie (2012)
  183. Gundam Converge 12 RX-79[G] Ground Type (2013)
  184. Girl Robot (2013)
  185. Crimson Typhoon (2013)
  186. Gipsy Danger (2013)
  187. Baymax (2014)
  188. Baymax (armored) (2014)
  189. Baymax (green armor) (2014)
  190. Bandai Chogokin Sanrio 40th Anniversary Hello Kitty (2014)
  191. SP//dr (large) (2014)
  192. SP//dr (with Peni Parker) (2014)
  193. Vulkira (2014)
  194. ROBOT-7 (2014*)
  195. BB-8 (2015)
  196. Mad Baron [(Orange) Vinyl Artist Gacha series 3 by Zollmen] (2015)
  197. Little Blue Wind Up Robot (Suzi-525) (2015*)
  198. Telephone Arms Bot (2015*)
  199. PJ Robot (2016)
  200. K-2SO (2016)
  201. Dr. Khal's Robot (2017)
  202. JOJO Neon Blue (BB-03NB) / gorilla (2017)
  203. Orpheus the Robot Wooden Mechanical Puzzle (2017*)
  204. Schylling Happy Mini Tin Robot (2018)
  205. L3-37 (2018)
  206. Unidentified Dark Red Bot from Wondercon (2018*)
  207. T-Nature by Teagan (2019)
  208. D-O (2019)
  209. iBoy (2020)
  210. Perserverance (2020)
  211. Vegan Bot (2021)
  212. A-37 (2021)
  213. E-92 (2021)
  214. R6-W1CH (2021)
  215. Sox (2022)
  216. B2EMO (2022)
  217. Mr. Peanut (2025)