artlung.

ArtLung posts tagged with “is_tag”


  • Make XML Sitemaps Easily with PHP!

    I am a huge fan of simple solutions for the web. So many solutions require tons of tooling or a giant content management system and those things are brittle over the long haul of time. XML Sitemaps help search engines, notably Google but other search engines too. In October 2009 I created this code to…


  • Adding tags to blog posts retroactively.

    I’ve been reflecting my instagram posts back to this blog for a while now. One of the conventions there is mentioning people with the @mention and hashtagging posts with #hashtags. It has bothered me for a while that I didn’t ingest those tags and mentions in some manner. I left this lay for a long…


  • CALL CHAR

    100 CALL CLEAR 110 CALL CHAR(96, “FFFFFFFFFFFFFFFF”) 120 CALL CHAR(42, “0F0F0F0F0F0F0F0F”) 130 CALL HCHAR(12,17,42) 140 CALL VCHAR(14,17,96) 150 FOR DELAY=1 TO 500 160 NEXT DELAY The first time I ever programmed it was from this page. And I made graphics in 8 by 8 squares on graph paper for months after that. Then I’d painstakingly…

  • @bloggingbot is probably a bot
    “Harold, they’re bots.”

    Found on FlowingData: Bot or Not: A Twitter user classifier which uses machine learning. The source code is here. Previously: I wrote about writing @bloggingbot. “Harold, they’re bots.”


  • “Leverage browser caching”

    I was looking at Google Pagespeed Insights results today for my website today. And I got this feedback: Leverage browser caching Setting an expiry date or a maximum age in the HTTP headers for static resources instructs the browser to load previously downloaded resources from local disk rather than over the network. Leverage browser caching…


  • Color the Smiley

    Over the years I have made a lot of little web experiments and geegaws. I’ve made hangman games and drawing programs and random text generators. At one place I worked I helped make a thing that would turn an uploaded photo of a face into a Terminator face! I’ve made so many of these kind…


  • I blogged for 17 years and all I got were these lousy Markov chains.

    In which I turn my experiments with turning written text into Markovify-generated sentences into a cool Twitter bot.



  • Markov Chains are hilarious.

    I’ve wanted to make Markov chain generated sentences based on this blog for a long while. Wednesday night, I did. It took me under an hour! Why have I avoided it thinking it’d be difficult? Probably I thought it’d take a long time and would be lame. NOT SO First, I exported the contents of…


  • Suspicious Activity: “An admin user with the username backup was created outside of WordPress”

    On 14 February 2018, WordFence alerted me to highly suspicious behavior. This is the format of the email I received from WordFence version 4.9.3: This email was sent from your website “[REDACTED BLOG NAME]” by the Wordfence plugin. Wordfence found the following new issues on “[REDACTED BLOG NAME]”. Alert generated at Wednesday 14th of February…


  • Blog Post Visualization + Code

    I’ve been doing maintenance galore on this site. I have a hand-written theme and I’ve been doing things like returning the footer to a good shape and sweating the responsive details of it. I first wrote that code in 2010 but I’ve adapted it to be a bit better and now am using CSS Grid…


  • Ventcheck – a twitter bot I wrote in 2016

    Back in 2016 I attended a terrific session of the San Diego Code Kitchen at FAB LAB San Diego. It was really a lot of fun and in a few hours I was able to create an inscrutable twitter bot – @ventcheck. It was fun! I didn’t write about it here because… well… who blogged…


  • Roman Numerals, Updated.

    Back in 2012 I first added the Roman Numeral page, as I noted in this post. It’s ultra-simple but it’s also quite fun. I also removed jQuery from those pages. I made individual pages for individual numbers. I upgraded from the older version of Bootstrap that page uses. Enjoy.

  • import-external-images 500 error with Ajax

    I had a pile of back-images to import recently. For some reason WordPress Import External Images” was failing to work properly on the bulk task. It worked great on individual pages but for some reason the Ajax version would crap out. Solution was to use a simple POST – accomplished by doing this in Chrome…

  • Who doesn’t love code?

    Longtime blogger and longtime pal MAS mentioned me over in Make and Host Your Own Soundboard yesterday. I am glad to have contributed to more software. I dig being able to give to code that people use, even if it’s for no money. I love even more that the whole thing is up on GitHub….

  • Programming Tinder

    WOW. Go read: AUTOMATING TINDER WITH EIGENFACES This is some straightforward, and yet entirely brilliant programming. This person took his prior Tinder choices, made an aggregate of “yes” and “no” swipes, then used the official Tinder APIs to automate his selections. This is kind of Artificial Intelligence, though a better term might be “expert system”…

  • Stupid HTTP Status Jokes

    Questionable humor value. And yet, there I go. Giddy Up 409: Beach Boys Conflict #HttpResponseCodeCulture — Joe Crawford (@artlung) March 3, 2014 501 Jeans: Not Implemented #HttpResponseCodeCulture — Joe Crawford (@artlung) March 3, 2014 418 I'm a little teapot short and stout #HttpResponseCodeCulture — Joe Crawford (@artlung) March 3, 2014 400 Blows: Bad Request #HttpResponseCodeCulture…

  • My Open Source Report Card

    THE OPEN SOURCE REPORT CARD based on GitHub accounts, like mine. e.g.: Joe is a high caliber Javascripter. Joe is a hump day hero who seems to work best in the morning. Joe’s behavior is quite similar to pdokas‘s but pdokas spends more of their time commenting on issues. It would also be impossible to…