got tired of typing "n" and "s" many times in the debugger. so I am introducing vibe debugging.
while karpathy introduced vibe coding, most of the time is spent on debugging programs and understanding how code works. the current prototype is very basic - dmovie opens a program and starts executing it line by line. you can stop, resume, restart and add any print statements. plus it also records the output and renders it as an mp4. its a pyexpect wrapper over all the debuggers.
after finishing the prototype I realized what would really make it better is adding time travel debugging. i'd like to call it "backwards programming". its one thing to have a vibe coded app and another to basically pause the app at a certain point, ask the program how did you arrive here ? debugging flows forward. I would like to go backward. most of the wasted mental effort in debugging is constructing the callgraph in your head. that said this will not be that simple, as you basically need to do a vm that snapshots the state at every instant. theres some demos that talk about this done in js and java.
probaby only works on my computer at the momment -
github.com/xyzzyapps/dmovie