Codecasting React Native

Aug 28, 2016

FeedReader and JumpShot3

After a few interviews, I realized that I was having issues thinking aloud. Too many thoughts and considerations flashing into my mind. Mentally I am pretty good at dealing with them one at a time, but when you are talking to someone, just hearing the audio (even when created by yourself) it causes the ideation to go into overdrive. Then the ideation leads to more ideation, which leads me down mental side streets.

This is why I started codecasting (the channel is here), which is a word that my friend QQ came up with. I basically screencast myself as I write code. It is a surreal experience, talking to myself and voicing out the thoughts as I am doing it. I started out writing a React Native program, FeedReader, which is a basic RSS reader. Then after 7 nights of that I started working on a React Native version of JumpShot, which is the app that I have been working (and reworking) for many years now - a basketball stat tracker.

So after two weeks of doing this, some thoughts:

You Feel Super Insecure

Beyond the normal situation where you don’t like to hear your own voice (I think mine sounds ridiculously stupid), codecasting is pretty good at inducing insecurities. I think it has to do with two things:

1) You feel super self-conscious, kind of like if you were playing at a piano concert. 2) When you watch other codecasting videos, they are tutorials and the guy knows what he is doing - having done it before. It is a perfect entity, something I am definitely not.

I program without a clear idea of where I am going. There were a few videos on the FeedReader playlist where I start out going like, “Well the stuff I did last night, I don’t like it so I am going to redo this.”

You Feel Super Incompetent

And then there are times when the code does not work and then you spend 10-15 minutes debugging it. I remember (and now there is video proof of it) when I was not able to get a NavigationBar working on FeedReader and I just kept staring at it, Googling error messages, and debugging trying to figure it out. Nothing worked! Then after 20-30 minutes of frustration (surprisingly kept cuss-free) I find out that I had misspelled something and that was why it did not work. And in the video, I go something like, “Is it really just me not spelling that right?” Wow embarrassing.

Timeboxing Helps, But Hard To Do Consistently

I think the act of recording is a bit of a hassle even though I don’t really take that long to get set up. I try to keep the videos to be an hour or so long because I do them after work though sometimes they can stretch to be two hours long. But just getting set up takes a while and so it really feels like I am getting to starting something BIG. Building habits take time, but this is displacing the rest and relaxing that I usually do at the end of the day so I felt some mental resistance to it. Working through that takes time and effort.

Hard to Banter

What the heck can you say when you are constantly thinking about what you need to write about next? On one level, I am trying to work through what I am doing and why I am doing it like that. This helps me gain better inherent understanding of the product, but at the same time it is hard to articulate that “feeling” into words. And also sometimes you do things just because it is how it is done or just how I have seen it in code examples on the internet.

And while I am not trying to make this entertainment like a video game streamer, I get awkward when silence has reigned for too long and that causes me to fill it with empty words or just loud “HMMMs”. Perhaps in the future I can write this while saying funny things and entertaining the (few) people who watch it.

Conclusion

So far, things are going well. I don’t really care about how many views that I actually get, but it does feel good to upload a video - it is kind of like a satisfying git commit message. Not sure how long I will keep at it, but I hope that it becomes a good part of my life.