Why do you do these projects?
A couple of reasons:
- I enjoy 'code archaeology' from my early years as a programmer (re: 1980s). These projects cover topics that I wasn't capable of doing back when they were new. Now that I have a half-lifetime of experience, I'm amazed at the things I can still learn.
- Putting words and diagrams to code forces me to be thoughtful and internalize what I learn. It's easy to shut off the brain when only reading code -- It's not easy to be lazy while describing code to others.
- Some people may find these projects useful. There's a gap in what I'd call 'intermediate' programming projects directed towards beginners. That is, projects for people who already know how to program in a language, but find it difficult to explore odd corners outside of their comfort zone. My projects try to fill that gap.
How do you choose projects?
My TODO list of is certainly longer than my lifetime. Of those that I start, only about a third make it to this website. I generally keep to fun topics, such as a games or common tools and then jump between them. I like to keep project length to between two weeks and a month. Too short and it's not worth the effort, too long and I take too many shortcuts because I'm losing interest.
Do you have a community, group, or mailing list?
Nope. I prefer to spend my free time doing more projects.
Do you have contact information?
I'm deliberately difficult to contact. But, please try if for any of my projects you:
- Need clarification -- I take shortcuts often
- Find a serious error -- I make them often
- Extend or improve on it -- There's plenty of room
- Think something is especially (un)helpful and need to vent
I ignore opportunistic messages including: monetization tips, startup ideas, job offers, consulting gigs, volunteer work, community participation, mentorship requests, interviews, speaking engagements, conference appearances, and permission to use/cite my work -- just take it