I'd been thinking about doing this for a while, and yesterday, actually got around to it. The basic idea is this: record me during normal development, and then post it to the internet.
Here's the video:<iframe src="http://player.vimeo.com/video/37201618?title=0&byline=0&portrait=0" width="400" height="300" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
Why this is interesting
Why is this interesting at all? Well, there are a few things:
Exposing myself is hard
It's really difficult to put myself out there in this way. I thought about it two or three times, then recorded myself and threw it away two or three times, then finally published this version.
It's primarily difficult because I'm nowhere near perfect. For example:
<script src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
@steveklabnik I mean I love vim, you were just using it cringe-inducingly— Dannel Jurado (@DeMarko) February 22, 2012
There are lots of things that I can improve upon in my workflow, and vim is certainly one of them. So showing everyone that I suck at vim is rough, but it also lead to several improvements. Some people gave me a few good .vimrc suggestions, and some shortcuts I should focus on. So it's positive, for sure, but that doesn't make it difficult.
I am incredibly uncomfortable with referring to myself as anything more than an above-average developer. Maybe expert, sure. The thing to remember about your programming heroes is that they're just people, too. They aren't demi-gods. They don't have a super-secret sauce that you don't have access to.
So by putting out a video that shows my flaws, those who think I'm super awesome will maybe think of me as just like them, rather than someone particularly special.
This is the Real World
Too often things like blog posts present a fake, clean-room environment to demonstrate their ideas. "See, testing is absolutely easy, let me go through this example that I've specially crafted to demonstrate how easy it is!"
This isn't the case with this video. It's the real deal. Watch towards the end as I stupidly don't realize that the test code I replaced was different than what I replaced it with. Heh.
Everything becomes conscious
Knowing you're being watched has a crazy effect on you. I accidentally checked Twitter once during a test run, and immediately went "ZOMG POMODOROS PEOPLE ARE WATCHING ASSHOLE YOU SCREWED UP!!!!1" Whenever I mis-typed something in vim, "OMG YOU DON"T KNOW THAT SHORTCUT? EVERYONE ON THE INTERNET THINKS YOU"RE STUPID!"
As long as I can keep this effect real, I'll be hyper-aware of where my flaws are. That's kinda neat in and of itself.
What do you think?
Is this interesting? Should I keep doing this from time to time? What about an actual real LiveStream, not just recordings later?