Before/After Photo Alignment Web App
Posted by Al Sweigart in misc
I created a web app for aligning before/after photos. Ony of my hobbies is picking up litter, and I'll post before/after photos to the r/detrashed subreddit:
Posted by Al Sweigart in misc
I created a web app for aligning before/after photos. Ony of my hobbies is picking up litter, and I'll post before/after photos to the r/detrashed subreddit:
Posted by Al Sweigart in misc
After you've learned the basic concepts, the best way to improve your coding skills is to work on projects. You may not know enough to contribute to popular open source projects, but you can create small programs on your own. Here's a list of 81 projects suitable for beginners. They're short, can be done in any language, and don't require additional software library installation. These projects are drawn from my free books, The Big Book of Small Python Projects, Cracking Codes with Python, and Invent Your Own Computer Games with Python. Each program has a link to a sample Python implementation, but I encourage you to make it from scratch.
Posted by Al Sweigart in misc
I wrote some Python scripts to help me create the HTML web pages for an online version of Maze, a 1985 visual puzzle book by Christopher Manson that was a large inspiration for Blue Prince (my personal game of the year for 2025). I'm hosting it at https://inventwithpython.com/mazewebsite/
Posted by Al Sweigart in misc
For Halloween 2024, I made a Recursive Fract-Al costume. It was literally an exponential amount of work! The idea came to me when I was writing The Recursive Book of Recursion
Posted by Al Sweigart in misc
I needed a complete list of valid color names for Python's Tkinter package as part of my ButtonPad GUI framework development. The lists I found on the internet were either incomplete, buried under ads, and often just plain wrong. Here's a list of all 760 color names (valid and personally tested) for Python Tkinter.
Posted by Al Sweigart in misc
Over the past week I've been experimenting with vibe coding: asking LLMs such as ChatGPT, Claude, and Gemini write entire apps as if I had absolutely no programming ability at all. LLMs can easily solve programming challenges or interview questions. But I wanted to see how far the current LLMs can go when asked to make complete apps, and what kinds of failure patterns emerge. From the role of a non-programmer, I would only be able to fix bugs by describing them to the LLM. For simplicity, I choose small apps written in Python that use only the standard library and the tkinter package for the GUI. This blog post details the failures: the kinds of apps that AI just isn't capable of making.
Posted by Al Sweigart in misc
The nominees for the Python Software Foundation's Board of Directors 2025 election have been announced. You can find a full list on the nominees page. This year there are 4 seats open on the PSF Board. You can see who is currently on the board on the PSF Officers & Directors page. I'm pleased to announce I'm endorsing the following nominees: Abigail Dogbe, Archana Vaidheeswaran, Daniele Procida, Jannis Leidel, Sheena O'Connell, Simon Willison
Posted by Al Sweigart in misc
There is a phrase used when teaching recursion and recursive functions, leap of faith. In researching my book, The Recursive Book of Recursion, I found that most explanation of this technique were vague or even misleading. In this article, I'll go into what the leap of faith is and how it can help you write your recursive functions.
Posted by Al Sweigart in misc
Here are some recursive functions that are technically correct and technically recursive.
Posted by Al Sweigart in misc
The third edition of Automate the Boring Stuff with Python is now available for purchase or to read for free online. It has updated content and several new chapters, but one chapter that was left on the cutting room floor was "Working with Audio, Video, and Webcams". I present the 26-page rough draft chapter in this blog, where you can learn how to write Python code that records and plays multimedia content.