I got two Elgato Key Light Airs for better lighting when I am on video calls. After setting them up, I wondered: How do I turn them on automatically for video calls?
I wanted to open a Google Meet link and have the lights turn on instantly, like my webcam.
One danger in mastering anything is forgetting that what seems simple to you is not simple to everyone.
It is normal that something learned deeply seems self-evident to you. According to Albert Einstein, “If you can’t explain it simply, you don’t understand it well enough.” But when you do understand it well — when you have studied something deeply — you can explain it simply. When you have practiced a skill for years, it becomes second nature.
You make it look easy.
But for your friend, what seems obvious to you may be unknown, and what seems easy may require great effort.
It’s your job to support them. Give them your mental models. Teach them your tricks. They might need to watch you because you may have so deeply internalized what you’re doing, that you oversimplify it when explaining it.
Tell them that it isn’t easy yet, but with practice, it can be.
Shaving with a new razor is wonderful. I found that out this spring. I was on vacation and had no razor, so I bought a new one. I could not believe how easy it was to shave — fun, even. And that’s when I found out my old razor was dull.
What struck me is that I never noticed that my razor was dull. The gradual wear with every use was imperceptible, until I tried a better tool.
Gradual degradation is all around us. It’s well understood that degradation is a default in the physical world. Iron rusts, things experience “wear and tear,” and nothing lasts like it used to.
Degradation happens in the digital world too.
One of the amazing gifts that software engineers have today is the volume of free, high-quality, open source software. For instance, Python has 384,273 projects on PyPI. They span everything from utilities like Requests to backend Web frameworks like Django to machine learning packages like scikit-learn — and more. It’s incredible when you think about it.
When I started getting into software, I remember people talking about contributing to open source. And when I heard contribute, I was translating that to create or maintain, even when those words weren’t used. It sounded amazing — and overwhelming.
I’m very grateful for the work of open source creators and maintainers, and we are at no risk of appreciating that work too much. I am glad that we are talking more these days about how to sponsor open source work, as companies and as individuals, and have programs like GitHub Sponsors.
But open source contribution means more than creating a package or being a maintainer, as important as those roles are.
There are many paths to learning to program. I decided to reflect on mine and thought it might be valuable to share. This post was inspired by Dan Luu’s How I Learned to Program.
For me, this reflection underscores that craft knowledge is learned by doing. The essential way to get better is to practice.
HELLO $NAME. YOU ARE $AGE.
I didn’t do anything much fancier than that, but the whole idea was amazing to me - I could program a computer!