I’ve been streaming my coding for a couple of months, almost everyday, around three hours per day. That was my one of the most productive periods. And I’m going to return to streaming.
Although I’m not the most frequent and regular streamer on the services like Livecoding.tv, I learned a lot from streaming some side projects development.
I was even interviewed there.
Me streaming on Livecoding.tv:
While streaming you have to be focused only on one task, on coding. You should be able to answer questions if your viewers have any. This doesn’t take too much time and these questions more or less are related to what you’re doing. So these questions can even help you if you’re stuck. Streaming also prevents you from going to your favorite news website, or going to
/r/funny or doing anything else.
In the best case you learn how to concentrate your attention on your project, on teaching others, on whatever else you want to stream. In the worst case you just stay concentrated during the session.
When one teaches, two learn
– Robert A. Heinlein
A lot has been said about this topic. Most of you know that we learn a lot when we teach others, so streaming is just an extra tool to learn and teach. It allows you to learn about what you are doing. You can develop everything you want, but once in a while a cool guy comes and asks a good question. And you have to answer it (of course if you’re not a moron). If you don’t know an answer, just go and dig for it.
One of the first things you learn during streaming is to do this on schedule. You definitely can do this randomly, but doing so won’t result in any amount of regular viewers and you will lose your motivation to stream.
You learn how to plan your streams and when to put them on a calendar. By doing this people interested in what you’re doing will most likely visit your channel, giving you more motivation to do what you do.
I broke my schedule due to long vacaction. And couldn’t get back even by reducing amount of streaming sessions per week.
Sometimes you have to talk a lot about what you’re doing. Preferably you should comment your actions. Thus you train to structure your thoughts, explain people why did you decided to pick this library among others etc. By doing this you understand more about what exactly you’re doing and whether you do this right.
On web services like Livecoding you have a video archive, where you can find all your streamed videos. E.g. here is mine (not all the videos I leaved there). Need to go back in time and understand why you put that ugly hack there? Just go to archive and check yourself!
Often programmers suffer from procrastination and it’s so tempting to distract on different things, like checking reddit, reading hacker news, or “incredibly useful article” about hamsters. Thus we can loose a lot of time doing nothing, pretending we do something useful etc. It happens even when it comes to our side projects. There are a lot of tools on the web that might help you to cut this distractions, to block different websites that you don’t want to visit your development. It helps, but just temporarly.
If you want to acomplish your old side project, you should try to stream its development regularly and you won’t even notice how you start getting things done.
Once you start it, it’s hard to stop.
I'm starting a new open-source project "Open RSS Reader" that will be modular app so if you don't like the existing clients, you'll be able to quickly build your own. It's gonna be both open source and free to use.
`pet` is a simple command-line snippet manager. It allows you to write and store snippets for the command-line, so you don't need to remember all the commands you frequently use in you terminal. It can sync your snippets to the GitHub Gist, so you can always take your snippets with you.
This time I want to share 5 reasons why I advocate for using Linux whenever I have a chance, and why you should give it a try too.
Taskwarrior is an open-source, cross platform time and task management tool. It has a command-line interface rather than a graphical user interface.