Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Does anyone record themselves while programmming?
29 points by segmondy on Jan 29, 2020 | hide | past | favorite | 11 comments
It's a good habit to keep worklogs when programming, some don't and their commit log and perhaps code comment might be it. But lately I have been thinking, what if I recorded every time I programmed, both myself and my screen session and spoke to the computer and captured my thought process. Sort of like folks do when screencasting but just for personal reference. I'm curious if anyone does so and if so, what are the pros and cons you have noticed?



Ive done it for 5ish years, the advantages are huge and absolute.

#1) no impossible to reproduce bugs

Any one off bugs you find a are instantly replayable, often times things that you think are bugs were actually just misclicks. Since issues you open in eg github are timestamped (and commits) you can go back to the video and see what happened

#2) You can now quantify what's wasting your time in numbers

By randomly sampling hundreds of hours of video I can say 60% (60%!) of my development time was spent on premature optimization. With this data I have now effectively doubled my programming productivity. An added bonus is now you know exactly how long everything took to complete in hours (837h for current project)

#3) Helps you stay on task

At the end of the day i tell myself what i need to do tommorow in a very short 5 minute video and suddenly its really easy to jump in.

In short, I highly recommend it, and theres really very little reason not to do it.


Very nice! What tooling do you use? How do you link to git history? I just did a dry run with OBS to record screen and webcam. But need to figure out how to link to git history, transcribe and make searchable


Just obs, typically i just type in the obs curr recording time in the github issue and then when i go back i can find the video that day and look for the time, but most of the time i would just stop the recording, go back and analyze what happened, and fix then and there. This has happened at a rate of 5 times a year so its not super common, but nothing worse than seeing a bug once and never seeing it again till production. I have not done the type of video analysis you are talking about so i cant speak to how helpful it would be, it would be nice to link videos to commit history but i have not done this and not aware of anyone making tooling for it. You can ballpark it if the last commit was when you ended the video but ya thats prolly not what you looking for.


How do you store the video? Do you archive to lower res? I imagine 5 years of video recordings adds up pretty quickly.


I've never done it for myself. I did, however, do it for screencasting (Twitch and YouTube).

There are a couple of things here:

1. Talking to yourself is extremely useful. You'll be surprised by how effective it is. 2. A recording is not very useful because discovery is awful. Even though all my content is on YouTube, There's no way I can find that one time I fixed an interesting bug or implemented something complicated. Without proper logging of what you did and indexing in the video, it will just be like any other video you take with your GoPro, hours of nothing.

What I found to be really effective with my teams is this: 1. Draw your thoughts. 2. Write up a mini-plan of how you want to "attack" this 3. Talk through it, even if it's only to yourself. 4. Pseudo Code and Pseudo Flows of data


Interesting... Voice transcription software can close caption and you can search by that. You can have keywords you can use for searching. TODO, BUG FOUND, BUG FIXED, FEATURE X. Perhaps the tech is not yet solid for searching, but I feel that the basic elements is there. I'm more interested in doing this for solo project, but this can be interesting for teams too, what if you can look through a git history and match it up with the video of when it was developed and hear the author's line of thought? The tough part of it of course will not be the tech but the behavior of getting folks to speak up and dump their thinking verbally.


Funny enough I just recently started doing this. I started watching a lot of developers on Twitch, and while I don't want to screencast my day to day work, it was interesting to rewatch myself and see myself from a "third person" perspective afterward.

It's surprisingly cringey to rewatch how I was solving a problem or just the general inefficiencies of programming. But seeing it helps me more cognizant of them going forward.

I'm surprised it took me 10 years to try this, because I play a lot of sports and, for me, watching my form on video has been the biggest way to improve in sports... kind of makes sense it would work with programming.


In a recent task, I started journalling (using Medium). The particular task was a deep dive into how some open source tech worked (specifically, how Electron loads Chrome extensions). At each step (more or less), I'd copy over code snippets, and provide links to the source code and documentation.

I referred back to these notes all the time during the rest of the dive, and I still refer back to them in the subsequent tasks.

It's mostly about not retracing steps; having a link to this or that SO question; or about having a checklist ("here's all the places this symbol appears"). It was also handy when resuming work, or when something was a dead-end and I had to resume from a different point.


I was thinking what a Twitch for Programming might look like. And then I found https://asciinema.org/. While limited to the terminal, this could be an interesting genre to explore. Repurpose the underlying recorder and foster some sort of community around the practice... if only to improve each other's skills. Anyone want to work on this, the idea if yours. LMK if you want a hand. :)


Ideas are free for all, you can work on it. Let me know your progress and I can use and give feedback, I already have a never ending backlog. I'll probably approach it simply by using a bunch of scripts glued in. The dry run I used today was OBS on Linux to record both a window and the webcam. I haven't explored on if I can trigger it via cli and automate. My email is in my profile if you wish to reach me.


This makes me think back to the times that Notch used to record/stream himself when he would program. I used to love watching those because it helped me become a better programmer.

https://news.ycombinator.com/item?id=3811332




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: