8 ms·
I've gotten mixed reactions whenever I share this, but when I program I like to record my screen with OBS. * It's a mental hack to keep me accountable, especia
by suby 4y ago
I've gotten mixed reactions whenever I share this, but when I program I like to record my screen with OBS.
* It's a mental hack to keep me accountable, especially now working from home. If I'm in an office anyone can look over and see whether or not I'm working. It started as an attempt to mimic this feeling at home, even though I'll be the only one to ever see the recordings.
* It allows me to go back and see how I worked in the past. I have a few videos of myself working from 2015 which I think is pretty neat just because of how different my workflow was back then compared to now. I'm not using the same tools or even on the same operating system.
* I'm working on video games which is what makes this very useful for me. If something visually interesting happens, or if there's graphical bug of some kind, I can go back and breakdown exactly what happened. I've stepped through videos frame by frame in the past to debug, it's been surprisingly helpful.
* It allows me to go back and see my progress. I can know what I was working on a given day, see how far I've progressed, it's just generally a good motivator. You can of course do this with git, but if you're working on something visual it can be nice to see it in motion rather than a textual diff.
- coldblues 4y agoI did the same for a while. It's a neat productivity hack. There are a few services that market accountability by hooking you up with strangers. Both of you must have your webcams enabled, and you just work on whatever you need to do for a set period of time without talking.
- saimiam 4y agoI used one such service. It was such a drag. Hated it. Does anyone use it repeatedly with different strangers? I think I’d prefer live streaming to keep myself accountable to one-on-one sessions with both cams on.
- akersten 4y agoIt sounds intriguing, but where do you find the space to store all the recordings? A bunch of external drives? Feels like 8hr/day × 20 days/month of recording my multi-monitor setup would fill up my drive pretty fast.
- deleted 4y ago[deleted]
- capableweb 4y agoNo need to record 4k 120fps videos if you're doing web development, something like 1080p in 10fps might be enough and it won't take ridiculous amount of space.
- fuckcensorship 4y agoParent comment specifically mentions recording for game development so 1080p at 10fps probably isn't going to cut it.
- capableweb 4y agoUpdate it to be 20~25 fps then, still won't take ridiculous amount of space.
- soruly 4y agoUnlike movies, the content on screen recordings usually remains roughly the same for minutes before switching scene. So it can achieve significantly higher compression ratio even at high fps
- capableweb 4y agoI wrote more about it here: https://news.ycombinator.com/item?id=32223240 https://news.ycombinator.com/item?id=32223240 But the TLDR, ffmpeg can remove duplicate frames: ffmpeg -i in.mkv -map 0:v -vf mpdecimate,setpts=N/FRAME_RATE/TB out.mp4
- PeterisP 4y ago1080p may easily mean that the code is unreadable if you have a decent size screen.
- haunter 4y ago
- anyfactor 4y agoSometimes, I do a full screencap with my face when I am coding. Then at the end of all that, I will even do a reaction video to my full video. Why? I REALLY enjoy the dopamine rush when you are struggling then find a solution. I see myself pulling my hair, staring blankly at the screenshot then at a random moment of pure luck I find a solution and it literally is euphoric. I enjoy relieving those moments.
- bradlys 4y agoWhat’re you guys working on that this is a regular occurrence? I just never run into walls like this when coding stuff up.
- roman-holovin 4y agoDebugging is huge part of this. For example, for web where you can plop breakpoint or print statement anywhere and have a good level of transparency into what is happening really helps resolve issues quickly. Game development where GPU is not really going spill the beans of what is happening under the hood that easily - one can stuck for a longer times easily.
- chrismarlow9 4y agoYeah debugging or testing theories for production only bugs (without adding risk) can be a big source for "aha!" moments.
- mleonhard 4y agoI'm writing Swift code that calls Apple's UIKit. I'm constantly wasting time trying to figure out how to use the API properly, since it's buggy and poorly documented. Each solution brings relief, not euphoria.
- the_gipsy 4y agoSounds like hell
- laumars 4y agoThat’s an interesting idea. I might try this myself
- ianbicking 4y agoI've found this too... at work I regularly make videos of what I'm doing for other people. Then I realized how much stuff comes up in the videos because I'm being attentive, and started making videos I never share. Like it splits my attention to both act and watch myself acting
- lazyjeff 4y agoI've started doing this more. The videos of my work has always outlasted the work itself. Even though technically I can dig up old compilers or try and update my dependencies, I rarely do. So whatever was captured in the video becomes the only artifact of my older programming projects. I used to think that video formats would no longer be supported over time, but even the oldest weird video formats still play in VLC and MPC, and probably would work fine if uploaded on YouTube.
- djmips 4y agoYeah that's neat! The part about reviewing the video. Back in the day we would use VHS to record the game and capture rare glitches to review. Nowadays our QA runs with OBS always on and can attach clips to bugs. It would be cool if every dev had it too.
- karaterobot 4y agoI discovered a while ago that all those errors and bugs that only appear when you demo something to an audience also magically appear when you record yourself demoing it to nobody. Maybe narrating a feature to a pretend audience takes the blinders off enough that you notice little mistakes you wouldn't have otherwise.
- simonw 4y agoThis is a fantastic tip, thank you! I'm definitely going to try this out.
- jayknight 4y agoVery similar to the process of rubber duck debugging.
- AndyJames 4y agoBack in my office days we was doing this constantly. The sentence "will you be my rubber duck" always put smile on my face
- martinflack 4y agoI often wish I had a pet dog husky so I could walk him through some tricky python and have him figure out my bug with me.
- scottlilly 4y agoI've been streaming some of my side projects on Twitch, with OBS. During the stream, I keep up a fairly constant spoken description of what I'm doing, what I'm thinking, what problem I'm stuck on, etc. I've noticed I've also been speaking my thoughts out loud when programming, but not streaming. It ends up being a continuous "rubber duck" conversation, and feels (completely subjectively) like it helps me develop easier/better.
- heroku 4y agowhy don't you just stream on twitch
- seb1204 4y agoBecause of sharing internal information from the screen? This would be. My first thought.
- ChadNauseam 4y agoI would do that but my workplace doesn’t allow it ;(
- rr888 4y agoBTW do you think twitch is best for this? I'm working with js for the first time and tools seem really slow and poor, I'm sure I'm doing something wrong, I figure looking at others would be great.
- urthor 4y agoHmm, that's actually a very clever hack. I'll try it!
- meshaneian 4y agoHow do you setup OBS to keep the recording sizes tolerable? I've used this before on engineering grade machines, but it doesn't do so well on "everything is in the cloud so you can use a word processor quality" laptop, any advice?
- capableweb 4y agoI have a 4k display but record to 1080p, bit blurry but I'm not really using it to find small copy of text, but to see general state of things. Recording in 20fps as well. I have a small shellscript that takes all video files recorded by OBS, and runs them through this ffmpeg command: ffmpeg -i in.mkv -map 0:v -vf mpdecimate,setpts=N/FRAME_RATE/TB out.mp4 Using mpdecimate removes duplicate frames, so if nothing is happening on your screen (although smaller changes gets ignored, like my clock showing the seconds), it removes those duplicate frames. So one ~1 minute video of you thinking for 40 seconds can get reduced to 20 seconds. Not uncommon for some of my video files to go from multi-GB to just ~100 MB when removing all the pauses.
- edpichler 4y agoVery nice tip, mainly the part about when something happens you can rewind it. What about hard disk space? How you handle it?
- coastalangles 4y agoThe space requirements can be very low capturing something like writing code, where only 1% of the screen might change second-to-second. "ffmpeg -f gdigrab -i desktop -c:v libx264 -preset medium -fps_mode vfr -crf 0 -an -vf mpdecimate capture.ts" (Windows, -f x11grab -i $DISPLAY for Linux on X11) produces a lossless video that averages 102 MiB/hour for me (1920x1080 @ <= 60fps). That's about two cents a day at current disk prices, and easy to upload as a private YouTube video if you don't want to lug the files around. If you don't like the CPU hit, use -preset ultrafast to record the capture using less processing power but giving a larger file, and then re-encode that file later using -preset slower. There's no quality loss if you used lossless mode (-crf 0), and for content like this the savings are especially large (reducing to around one-quarter ultrafast size, in my experience).
- edpichler 4y agoWow, I did not know that. Awesome!