ArtLung Projects
I work on a lot of different stuff. Have a gander.
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:
Be kind to yourself. #affirmation
(2025-02-21)My spiritual progress determines my internal well being. #affirmation
(2025-02-21)I abandon myself to my higher power's care and protection. #affirmation
(2025-02-20)I am willing, because this is the key to recovery. #affirmation
(2025-02-19)I will seek out friends today. #affirmation
(2025-02-18)Because amends are vital to my recovery, I readily go to those I have harmed, who may have harmed me, with a helpful and forgiving spirit. #affirmation
(2025-02-18)
If affirmations are up your alley or you have an indieweb blog, this month's IndieWeb Carnival might be up your alley.
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 #022 in 3 days
- Front End Study Hall #021 Feb 13, 2025
- Front End Study Hall #020 Jan 30, 2025
- Front End Study Hall #019 Jan 16, 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)0 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.
- Gettysburg Address in HTML. Interactive. (2025-02-21)
- Spoiler Widget (2025-02-12)
- Keystroke to Go to Random Web Page (2024-12-23)
- :root Color Properties Editor (Bookmarklet) (2024-12-20)
- Webmentions (2024-12-18)
Smorgasborg
This is similar to the Lab, but for stranger, goofier, and (mostly) non-technical items which I have found useful on the internet.
- Illinois State of the State Address, 2025 by Governor J.B. Pritzker (2025-02-19)
- Good Words (2025-02-12)
- Giant Woman (2025-01-27)
- All the Foods I Cannot Eat by Leoh Blooms (2025-01-08)
- 'Little' image upsizing with SVG (2024-12-15)
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:
- San Diego Cults (2025-02-22)
- Quote of the Day (2025-02-21)
- Two, on social media, each gated. (2025-02-20)
- Forever is the wind (2025-02-20)
- Experimenting with new pages (2025-02-19)
- Fog (2025-02-18)
- I love American Music (2025-02-17)
- Ob is still Ob. (2025-02-16)
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 journeytolunar.com - Follow my epic journey of 384400 km (distance to the moon) by walking, hiking, biking, running, swimming, rowing, and more....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.
ArtLung [Joe Crawford]
Web developer & user interface engineer
Tinkering with the web since 1996
email: joe@artlung.com · twitter: @artlung · (photo from instagram)
San Diego, California, USA
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 player on the site.
They do more formal "battles" periodically but my favorite thing is a daily challenge. Some folks enjoy a daily crossword puzzle or Wordle or Gisnep. Me, I like a CSS Battle every day.
- CSSBattle for FEBRUARY 22 (2025) & Gettysburg Address in HTML. Interactive.
- CSSBattle for APRIL 10, 11, 12 (2024) (RETRO-DAILY CHALLENGE)
- CSSBattle for FEBRUARY 21 (2025)
- CSSBattle for APRIL 7, 8, 9 (2024) (RETRO-DAILY CHALLENGE)
- CSSBattle for APRIL 4, 5, 6 (2024) (RETRO-DAILY CHALLENGE)
68%I record videos of myself writing the code to accomplish these daily challenges. So far I've covered 414 days out of 606 total.
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