Here is a list of some of my software projects.
You can find more projects on my GitHub profile. My GitHub shows over 100+ repositories spanning Python libraries, web applications, and experimental projects dating back to 2008. I try to always be working on something new and exciting! That isn't always the case, though.
Motivations
I write software for a variety of reasons. Sometimes, I write software to solve a problem that I have. Other times, I write software to learn something new. I also write software to help others solve their problems. This "scratch your own itch" philosophy led to Requests (solving HTTP frustration), Certifi (certificate headaches), and Pipenv (workflow pain points). I have found, however, that the most rewarding software projects are those that are written to help yourself.
I have always had a fascination and love for software and the computers that ran them. This began in childhood with BASIC programming on early computers, evolved through web development, and now includes exploring AI consciousness and digital creativity. It's strange, being in a modern world where software is so prevalent, and yet so few people understand how it works. I have always been drawn to the magic of software, and I love to share that magic with others.
Philosophy
PEP 8 is the style guide for Python code. I maintain pep8.org as a clean, readable version of Python's official style guide, making it more accessible to developers worldwide. It is a set of rules that help you write clean, readable code. It is a guide to writing code that is easy to understand and maintain. It is a guide to writing code that is easy to share with others.
I love taking the Zen of Python philosophy Tim Peters' "Zen of Python" (PEP 20) contains 19 guiding principles that influence not just code structure, but API design, documentation, and user experience. and applying it to all areas of life.
- Beautiful is better than ugly.
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
I have found this approach to life to be incredibly rewarding. It has helped me to write better code, to be a better person, and to live a better life.
Languages
I learned BASIC
and (albeit, very rudimentary) C
and Turbo Pascal
when I was a 9 years old. Throught elementary and middle school, I had fun programming my own programs and making my own websites. I learned Python
in college, and it has been my primary language ever since. I have also written software in PHP
, Ruby
, and Go
.
My "favorite" language is bash
, overall. I have written a lot of bash
scripts over the years, and am a big fan of shellcheck
. It makes you a better person.
The Future
I think that AI is here to stay, and it changes our relationship with code, fundamentally. Because of AI, code can be a trivial artifact of the creative process. It'll take some time to get there, but it's coming. I think, overall, that this is a good thing for humanity. AI has a tendency to trivialize code, while also making it more accessible to everyone. This is not ideal for software engineers, or is it? I think it is.
The engine for this website, for example, was made with Claude 3.5 Sonnet, a powerful AI that can write code for you. It is a powerful tool that can help you to write better code, faster.
The future is bright!
✨ 🍰 ✨