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:

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.

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.

Smorgasborg

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

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 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.

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