Hey, uh, here’s a long-overdue new release of LiveConsole. If you’ve
never heard of it, it is a library for providing IRB over a TCP or Unix
socket so that you can interact with a running application.
- Unix Domain Socket support (Works under Linux and OS X, apparently; not likely to work under Windows)
- The ability to supply bindings to LiveConsole
- A program for interacting with the Unix socket (installed in your bin directory as udscat), as some versions of netcat don’t include this functionality.
It’s useful for debugging, for hot-patching code that you don’t want to
interrupt, for interactive monitoring, and for looking cool.
For the impatient:
# Run a LiveConsole with IRB bound to the toplevel: lc = LiveConsole.new :socket, :port => 30303 lc.start # Fire up a second terminal, and you@your-box:~$ netcat localhost 30303 irb(main):001:0> puts "Hello, world!" # This shows up in the terminal of the program that created the # LiveConsole: Hello, world! # Run a LiveConsole for the current process, and pass it the # local binding (Unix only): lc = LiveConsole.new :unix_socket, :path => '/tmp/live-console.sock', :bind => binding lc.start # Fire up a second terminal, and you@your-box:~$ udscat /tmp/live-console.sock irb(main):001:0> puts "Hello, world!" # Similar results. See the example code or the README for # details.
<< Previous: "BACK FROM THE DEADLY!"
Next: "Making Music with Computers: Two Unconventional Approaches" >>