3 min read
|
Saved February 14, 2026
|
Copied!
Do you care about this?
The author logs and analyzes 67 bugs from their personal software projects throughout 2025, focusing primarily on Python. They explore common mistakes and the effectiveness of tools like Pyright, while discussing lessons learned and plans for improvement.
If you do, here's more
The author tracks bugs in personal software development, logging 67 errors since January 2025. Most of these bugs occurred in Python (58), with a few in Bash (5) and JavaScript and Go (2 each). Notably, 6 bugs were related to the authorβs website, and 53 were found in a private Python monorepo that houses various projects, including a job scheduler. The author runs Pyright for type checking, which catches most type errors but doesn't prevent all issues. Out of the Python bugs, 12% would have been type errors in a statically-typed language.
Some of the more interesting bugs include problems with process handling after a fork, leading to chaos due to clean-up handlers firing in both parent and child processes. There were also two deadlocks caused by acquiring locks in signal handlers. A log rotation job intermittently crashed due to race conditions when trying to delete a non-existent file. Another bug stemmed from a mismatch in hash calculations between the client and server when uploading Markdown files, resulting in unnecessary re-uploads. Amusing errors included issues with CSV parsing and a change in a function that led to a significant drop in the quality of article recommendations.
The author embraces the presence of bugs in personal projects but sees each one as a chance to improve the development process. Some lessons led to actionable changes, like expanding Pyright's scope, while others highlighted ongoing issues, such as the need for better unit testing. The author expresses optimism about using AI for code reviews to reduce bugs and improve overall software quality.
Questions about this article
No questions yet.