P
Pete Elmore
I quit my job, and that can only mean one thing: time to release a new gem.
About:
LiveConsole is a library for providing IRB over a TCP connection . If
you add it to your application, you can run arbitrary code against
your application. For example, you can:
* Inspect the state of a running application
* Change the state of the application
* Patch code on the fly, without a restart.
* Let anyone on the net 0wn you if you bind to anything other than
localhost.
It's useful as a diagnostic tool, a debugging tool, and a way to
impress your friends or get those Lisp guys off your back. You know
the ones I mean.
Installation:
gem install live_console
There's also rubyforge.org/projects/live-console , which has tar'd source.
Usage:
lc = LiveConsole.new 1337 # Creates a LiveConsole on port 1337
Not yet accepting connections.
lc.run # Starts the LiveConsole thread
At this point, users can connect and get an IRB prompt. It happens in
a different thread, so you get control back.
lc.stop # Kills the LiveConsole thread
Now, no one can connect.
Status:
It's alpha software for now. There are some things missing, like an
authentication mechanism, some of the niceness of IRB on a real
console (readline, being able to hit ^D, etc.), the ability to use a
named pipe instead of TCP. There shouldn't be any weird failures, but
I'm not ruling them out.
About:
LiveConsole is a library for providing IRB over a TCP connection . If
you add it to your application, you can run arbitrary code against
your application. For example, you can:
* Inspect the state of a running application
* Change the state of the application
* Patch code on the fly, without a restart.
* Let anyone on the net 0wn you if you bind to anything other than
localhost.
It's useful as a diagnostic tool, a debugging tool, and a way to
impress your friends or get those Lisp guys off your back. You know
the ones I mean.
Installation:
gem install live_console
There's also rubyforge.org/projects/live-console , which has tar'd source.
Usage:
lc = LiveConsole.new 1337 # Creates a LiveConsole on port 1337
Not yet accepting connections.
lc.run # Starts the LiveConsole thread
At this point, users can connect and get an IRB prompt. It happens in
a different thread, so you get control back.
lc.stop # Kills the LiveConsole thread
Now, no one can connect.
Status:
It's alpha software for now. There are some things missing, like an
authentication mechanism, some of the niceness of IRB on a real
console (readline, being able to hit ^D, etc.), the ability to use a
named pipe instead of TCP. There shouldn't be any weird failures, but
I'm not ruling them out.