"What to the Slave Is the Fourth of July?"
Posted by Al Sweigart in misc
I registered the domain WhatToTheSlaveIsThe4thOfJuly.com to host the text of the speech by Frederick Douglass.
Posted by Al Sweigart in misc
I registered the domain WhatToTheSlaveIsThe4thOfJuly.com to host the text of the speech by Frederick Douglass.
Posted by Al Sweigart in misc
A single-file web app for resizing images and converting them to WebP, so they're small enough to post on size-limited platforms (forums, chat apps, social media, etc.). Open the Shrink to Post app. Runs entirely in your browser. Nothing is uploaded. Works offline. The whole app is one shrink-to-post.html file — save it and you own it forever. Generated and human-reviewed by Al Sweigart.
Posted by Al Sweigart in misc
An interactive, borderless 3D globe for learning world geography. Spin and zoom a clean globe (no political borders drawn by default) and identify countries, US states, and dozens of country subdivisions — as a quiz, a guided tour, or a free-form info explorer. Learn country locations by geographic features, not borderlines. The color scheme is customizable, making it idea for capturing screenshots of a globe. Check it out online: No Borders Geography Quiz Generated and human-reviewed by Al Sweigart.
Posted by Al Sweigart in misc
I generated CurbSign, a full-screen custom text sign app so your tablet or phone can become a sign like pickup drivers have. Check out CurbSign. It runs as a single .html file that works offline. There is nothing to sign up for. You own the file. More instructions on the git repo. Generated and human-reviewed by Al Sweigart.
Posted by Al Sweigart in misc
I generated Memory Peek, a memory card game maker: you can upload your own images to make a memory card app. Check out Memory Peek. It runs as a single .html file that works offline. It will never have a "Pro" tier. There is nothing to sign up for. You own the file. Generated and human-reviewed by Al Sweigart.
Posted by Al Sweigart in misc
A free, single-file website tester that finds broken links, slow pages, and bloated pages on your site — no signup, no paywall, no subscription nagging, no install. Download lottie.html, upload it anywhere on your domain, and open it in your browser. That's the whole install. More information about Lottie.
Posted by Al Sweigart in misc
On May 14th, I gave a 3.5 hour tutorial at PyCon US titled "Python for Absolute Beginners" I got positive feedback from the 25 attendees. I've set up a web page with the resources I made for it.
Posted by Al Sweigart in misc
Botbright is a single-file JavaScript clone of the Flash puzzle game Lightbot. Program an isometric robot to walk a 3D-tile grid and light up the blue goal tiles. It exists completely in a single .html file which you can save to your device and play offline. You can visit the webpage for it or play it online. The source is available in a git repo. This app was generated with Claude Code.
Posted by Al Sweigart in misc
In August 2025, I created a Python package whereismyip to do simple geolocation based on IP address using free, no-registration online services. This blog post covers the package after a recent update. The source code is available in a git repo. and you can download it with pip or other tools from PyPI. If you are interested in this package, I also have a whatismyip Python package that finds your public IP address. You can also run python -m whereismyip to geolocate yourself (this requires whatismyip) or a specific IP address such as python -m whereismyip 8.8.8.8.
Posted by Al Sweigart in misc
Back in August 2020, I created a Python package whatismyip that can tell your Python script your public IP address using free, no-registration online services. This blog post covers the package after a recent update. The source code is available in a git repo. and you can download it with pip or other tools from PyPI. If you are interested in this package, I also have a whereismyip Python package that does geolocation based on IP address. To find out your IP address, run import whatismyip and call whatismyip.whatismyip() to return a string of the IPv4 or IPv6 address. There are additional functions for more specific requests. You can also run python -m whatismyip.