Category: coding

  • Archive WordPress with HTTrack

    Archive WordPress with HTTrack

    I’ve been running WordPress websites since 2005, and creating webpages since 1995. Over that time I’ve accumulated a lot of sites including different blogs, professional development sites, projects, podcasts, and communities I’ve been part of. Many of them aren’t active any longer, but some sites still have content I want to preserve. The problem is…

  • Slideshow via FFmpeg

    Slideshow via FFmpeg

    Since I’m known in our family (and in parts of my community) as someone with a few technology and media skills, from time to time I’m asked to help out with slideshows at special events. In the past this has included funerals for both of my spouse’s parents, as well as my mom’s funeral. Back…

  • Minecraft MakeCode Javascript Workaround

    Minecraft MakeCode Javascript Workaround

    We’re wrapping up our Coding Mars / Minecraft Mars unit in my middle school computer programming class. It’s one of my favorite units. Students have been programming “agents” (which function like “robots” in Minecraft Education) to mine resources, farm, and build structures in a Mars-themed world. It’s hands-on, it’s creative, and it’s been particularly exciting…

  • Vibe Coding a Mythological Creature Spinner

    Vibe Coding a Mythological Creature Spinner

    This school year, I’m unable to use SpinTheWheel.io, a random animal selector I’d been using for one of my favorite middle school creature-design projects. Last spring when I was asked to start teaching two sections of AP Computer Science Principles in February, I co-created this lesson with my colleague Todd Johnson, who took over one…

  • Vibe Coded: AI Who’s Who

    Vibe Coded: AI Who’s Who

    Over the weekend I successfully completed my eighth vibe-coded project, and I’m really excited about it! It’s called the “AI Cultural Canon,” and it’s basically a Firebase-powered front-end website for 27 people that arguably comprise a “Who’s Who” list in the world of AI / artificial intelligence. Visitors can read a short bio, see a…

  • Google Sites Comment Magic

    Google Sites Comment Magic

    For a long time, I’ve wanted a simple way for my students – in this case, my adult Sunday School class participants—to share comments directly on a webpage I’ve made with Google Sites. Google Sites doesn’t include a built-in commenting system in its “new” version which debuted in 2021. Commercial commenting widgets like Elfsight can…

  • Vibe Coding with AI

    Vibe Coding with AI

    Today I facilitated the webinar “Vibe Coding with AI” for the MediaEd Club of the Media Education Lab. I mainly shared stories of two of my recent vibe coding projects, “Packet Defender 2.0” and my “DIY Federated Reader.” Both of those projects are shared on my GitHub. Check out the recorded session video and session…

  • Packet Defender 2.0

    Packet Defender 2.0

    Back in January of 2025 I used ChatGPT to “vibe code” a project I named “Packet Defender.” This project was and is my attempt to use HTML and JavaScript to create a simple, text-based and web-based game to help my middle school web design students learn some of the basic terms and concepts about how…

  • Vibe Coding for Flickr CC 4.0 Attribution

    Vibe Coding for Flickr CC 4.0 Attribution

    I’m excited to share a little “vibe coding” project I worked on today, building on the awesome work of Alan Levine and with a healthy dose of AI-powered assistance from ChatGPT 4o. If you’ve ever needed to generate properly formatted attribution for Creative Commons licensed images on Flickr, you probably know about tools like ImageCodr.org…

  • RSS Converter for MastoFeed

    RSS Converter for MastoFeed

    In this post I’d like to share a way I’m streamlining sharing of my podcast recommendations to Mastodon, following the innovative lead of Alan Levine. (CogDog) Striving to imitate (some of) Alan’s digital breadcrumbs on Mastodon, I’m now using using Pinboard to collect and organize links, including a dedicated tag for podcasts I recommend. It’s…