Blinkenwords is a small RSVP (rapid serial visual
presentation) program written using
wxruby. It takes text from the clipboard and
shows it in vertical chunks. The user can set the reading speed and
the number of words shown in each chunk.
Input is taken from the clipboard (shortcut: up arrow key) and displayed (shortcut: down arrow key) in vertical chunks. You can change the number of words in each block (from 1-10 at a time) and change the speed in words per minute (shortcuts: -5 wpm => [, +5 wpm => ]).
There's lots of similar programs out there, some implemented as Javascript programs - I only wrote this because none of the ones I tried rendered text as I wanted to see it (i.e. reading in vertical columns, 3 words per column, but not scrolling a 3-line textbox one line at a time). It has a couple of very basic heuristics which insert a slight pause when a group of long words or end of sentence/clause is detected. Also, I took the opportunity to add easy keyboard shortcuts to streamline things (i.e. copy some text, switch to Blinkenwords, press up key (paste), press down key (play text), left/right keys (skip backwards or forwards)).
Whether reading this way helps or hinders speed and comprehension is
questionable (see this
blog post I wrote a while back on the topic of speed reading), so this is pretty experimental and YMMV (if you can even get it working - had some troubles with source file encodings and a couple of other things). Personally, I find it useful when there's lots of drudgery-reading to be done (e.g. catching up on forums/lengthy emails/news articles), but have problems with difficult, dense texts.