pheriday 2: termcasting overview (2012-08-03) from Paul Ivanov on Vimeo.
paul's habitual errant ramblings (on Fr)idays (2012-08-03)
show notes:
http://pirsquared.org/blog/2012/08/04/termcasting/
gopher://sdf.org/1/users/ivanov/pheridays/2012-08-03 (yes, gopher!)
- try to not say "uuuuhhhhmmnn"
BAM/PFA Summer Cinema on Center Street http://bampfa.berkeley.edu/filmseries/summercinema
- SciPy 2012 videos up, go check them out! (I have!) http://www.youtube.com/nextdayvideo (removed nextdayvideo internal box url, by request)
Software Carpentry: Record and Playback post http://software-carpentry.org/2012/07/record-and-playback/
- termcasting: a review of what's out there.
http://termcast.org and http://alt.org/nethack/ mostly nethack stuff, both just use telnet protocol, only live sessions (though there are "TV" scripts to re-run sets of ttyrec files).
(playterm vs ascii.io vs shelr.tv)
tldr: playterm.org supports ttyrec files, but has the most primitive player. Players on ascii.io and shelr.tv can both seek. shelr.tv can also speed up playback! Downside is both of those have their own recorder programs (though at least shelr leverages script or ttyrec)
http://playterm.org/ - supports ttyrec files, outgoing links for author and related article, comments. - most primitive player (https://github.com/encryptio/jsttyplay/) - Pause only - only terminal sized of 80x24 or 120x35 - supports tags and comments - service only (code for playterm.org does not seem to be available, though jsttyplay is doing the hardest part of actual playback)
http://ascii.io/ - supports non-standard terminal size - player can seek. - aesthetic thumbnail previews - login via github or twitter credentials (for uploads) - code for website available (ruby and javascript) https://github.com/sickill/ascii.io - code for recorder available (python) https://github.com/sickill/ascii.io-cli
http://shelr.tv/ - supports non-standard terminal size - player can seek. - player playback speed can be increased (currently up to 10x of real time) - supports tags, comments and voting up/down on a video - shelr can playback from command line ("shelr play http://shelr.tv/records/4f8f30389660802671000012.json") - code for website available (ruby and javascript) [AGPLv3] https://github.com/shelr/shelr.tv - code for recorder available (ruby) [GPLv3] https://github.com/shelr/shelr
- my wanted list for termcasting
- should support ttyrec files (upload and download)
- live-streaming (like ustream - but for coding)
- termcast.org has ttrtail which does just this
- quick "encrypt" switch - to keep streaming, but start GPG encrypting the stream as it goes out - so you can still look at it later. This would make it easy to leave the streaming on all the time
- a .tty editor that's like a video editor cut out portions [i.e. dead time]
This is a low-bandwidth way of capturing what I'm working on and thinking
about. Now, I'm going to try to record everything I do! "ttyrec -e screen
-x
". I've only done it a couple of times so far while coding, but I
find being able to go back and re-view (and review) what I worked on at the end
of the day to be really helpful.
I was inspired by Joey Hess' "git-annex coding in haskell" where he reviews and narrates some of the code he wrote, after he wrote it. http://joeyh.name/screencasts/git-annex_coding_in_haskell/
P.S. It's Saturday now. I tried to save some local diskspace by running recordmydesktop using the --on-the-fly-encoding option, and that was a mistake. The audio and video were (un)hilariously desynchronized - the audio ran for 9:48, but the video wanted to be just 7:30. Audacity came to the rescue by allowing me to change the tempo to be 30% faster, which made the syncing better. And then I used avconv to stitch in the faster audio.
tools used: Debian GNU/Linux sid, recordmydesktop, xmonad, fbpanel, screen, chromium, cheese, xcompmgr, audacity, avconv