Show HN: CodeMic
52 points| seansh | 22 days ago |codemic.io
Think Asciinema, but for full coding sessions with audio, video, and images.
While replaying a session, you can pause at any point, explore the code in your own editor, modify it, and even run it. This makes following tutorials and understanding real codebases much more practical than watching a video.
Local first, and open source.
p.s. I’ve been working on this for a little over two years and would love to hear your thoughts.
Bishonen88|19 days ago
EDIT: https://news.ycombinator.com/item?id=28207662
Seems this but with a slightly different spin?
EDIT2: Gave it a go. Works as intended, so good job on that. The video being a video, makes it a bit awkward though - if I stop the recording and edit some part, I'd want to see the changes live, but for that I guess I'd have to start the server myself? And when I hit play, my changes got deleted anyway (?).
As for the usefulness aspect, personally I am not sure that this has a benefit over e.g. watching youtube tutorials/following books. I watched one of the videos and I'd have to concentrate on the video, the text and audio at the same time, and it wouldn't be me typing the code anyway, so I'm not sure how much I'd remember of it. I'd have to stop, open a new project and try to rewrite it myself to memorize the concepts deeper. But that's just my personal take - might be that there's a big userbase for such interactive learning!
seansh|19 days ago
I do like YouTube video tutorials, but only as long as they're short. Watching Handmade Hero (by Casey Muratori) for example was a little frustrating: the videos are long, the codebase is large, things are moving fast, and I'd get lost.
I often wished I could pause the video to look up the definition of a function, or get an overview of when each file/line was edited and jump straight to that point.
Books/blogs are ok for explaining large codebases that already exist, but not for following a project as the code constantly changes. The book Crafting Interpreters did a really good job there, but that's really rare and hard to do.
I think CodeMic could be useful for this kind of long-form tutorials.
seansh|19 days ago
The difference is that CodeMic records and replays inside your editor, not on the web. Currently, only VSCode is supported, but the output is independent of VSCode, making it easy to bring it to other editors and even the web.
Another difference is that CodeMic is not focused on web development or any particular stack. It's more general.
small_model|19 days ago
newswasboring|19 days ago
seansh|19 days ago
You may very well be right about the future. I won't argue. I just love the art of programming :)
Imustaskforhelp|19 days ago
https://github.com/computing-den/CodeMic
Wishing you luck for this project!
seansh|19 days ago
eddyg|19 days ago
The best part is the ability to easily edit, delete, and re-order "tour points".
Tours can either be checked into the repo or exported to a "tour file" to allows anyone to replay the same tour (without having to clone any code to do it!)
exceptione|19 days ago
yurii_l|19 days ago
catchmeifyoucan|19 days ago
cgonzar3|19 days ago
mikemarsh|19 days ago
Big fan of this project for this reason alone. I hope over the next few years we'll see this more and more not just as an implementation detail, but a public branding sentiment that like-minded coders, consumers or even (if we're living in fantasy-land) business clients can rally behind.
seansh|19 days ago