CSS Battles on YouTube
CSSBattle.dev challenges you to write HTML and CSS to precisely match a given geometric design. I took to this site with a vengeance and am a top 100 players.
They do more formal "battles" periodically but my favorite thing is a daily target A new target rolls out each and every day when the UTC date ticks over. Some folks enjoy a daily crossword puzzle, Wordle, or Gisnep. Me, I like a CSS Battle every day.
- CSSBattle for JUNE 17 (2025)
- CSSBattle for JUNE 16 (2025)
- CSSBattle for JUNE 15 (2025)
- CSSBattle for JUNE 14 (2025)
- CSSBattle for JUNE 13 (2025)
93%I record videos of myself writing the code to accomplish these daily challenges. So far I've covered 621 days out of 669 total.
Overall progress and links to each and every video are on the CSS Battles page.
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:
I know a new meaning in my life. #affirmation
(2025-06-17)I continue to take personal inventory. #affirmation
(2025-06-16)It’s okay to have needs. I love looking after my needs #affirmation
(2025-06-15)I’m capable of helping myself and others. #affirmation
(2025-06-14)I forgive myself & others who have hurt me. #affirmation
(2025-06-13)Tell yourself how well you are doing with every little thing. #affirmation
(2025-06-12)
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.
- “USE IT.” (2025-01-24)
- I hate billionaire Nazis. (2025-01-22)
- “spite swimming | sanity swimming” (one-sheet) (2024-11-25)
- “Our Lady of the Cloud” (2024-11-19)
- “Once upon a time… in Aztlán” (2024-11-15)
- “SILENCE” (2024-11-13)
- “ALTERNATIVE FUTURES” (2024-11-13)
- Surrounded. Diary #webcomic (2023-07-31)
- “GEMINI” (2023-06-21)
- spite swimming | sanity swimming (2022 – 2023) (2023-06-17)
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.
- Front End Study Hall #030 in 8 hours
- Front End Study Hall #029 Jun 3, 2025
- Front End Study Hall #028 May 20, 2025
- Front End Study Hall #027 May 8, 2025
- Front End Study Hall #026 Apr 24, 2025
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
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.
The site is mostly in PHP, and I've taken some care to include unit tests with PHPUnit and maintain code quality using PHPCodeSniffer. Large websites are no different than any complicated piece of software and as such deserve care and handling to avoid technical debt. Ido not have a degree in computer science. But as a journeyman programmer who has worked on just about any kind of website that exists I have learned some terrific SDLC practices to maintain code quality and stability.
- Kanban Task Board in CSS Grid (2025-06-04)
- Ventcheck, a Twitter bot (2025-05-16)
- Safari Mailto Converter (2025-05-15)
- Mid-air footer (2025-03-06)
- Gettysburg Address in HTML. Interactive. (2025-02-21)
Smorgasborg
This is similar to the Lab, but for stranger, goofier, and (mostly) non-technical items which I have found useful on the internet.
- Maarva Andor Has A Posse (2025-04-26)
- IndieWeb Sickos (2025-04-10)
- Guru Meditation (2025-03-15)
- This Man Wants To Clean Your Clothes (Velvet Touch Dry Cleaners & Laundry) Pacific Beach, San Diego California (2025-02-23)
- Illinois State of the State Address, 2025 by Governor J.B. Pritzker (2025-02-19)
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:
- Turtle! (2025-06-16)
- Pass along music (2025-06-16)
- Put “romance” on the shopping list (2025-06-16)
- Facebook Messenger! (2025-06-15)
- Saturday at OB (2025-06-14)
- MORE GOOD DAYS (2025-06-14)
- Checkpoint: June Gloom (2025-06-09)
- On Los Angeles (2025-06-09)
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 dominikhofer.me - Curious. Creative. Coder. That’s me, Dominik :) I like to learn & understand more about the world we live in. While coming up with cool ideas & designing beautiful things. And bringing them to life with fancy symbols..
The site maintained with Eleventy and hosted on Netlify.
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 , or click below to load another at random.
Web developer & user interface engineer
Tinkering with the web since 1996
email: joe@artlung.com · twitter: @artlung
San Diego, California, USA
aka joecrawford.com
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 is available on GitHub:
artlung/artlung-tilde-club
.
Elsewise
Take a visit down memory lane: Prior Projects