If you are doing web development, you have to check out LiveReload, which provides fast feedback by removing the need of hitting refresh button after some change to this source.

§How it works

There are two parts totally: the fs monitoring service on the server side and the reloading part on the client (browser) side.

§Rails

guard-livereload does the fs monitoring, and emits the event that some files of interest are modified.

rack-liverelad builds the connection between client and server via injecting some js script to the HTML page. One websocket connection is established either natively or using Flash. Thus, it could listen to the events emitted by guard-livereload, and inform the client side.