I had an idea today when navigating around in the shell. All my work related files are stored in `~/Work`. Under that there's a folder for each project. Sometimes there are multiple variations on a project or project with a similar prefix such as: * radiopaedia * radiopaedia-stable * radiant-sites When I type `rad [Tab]` in my shell (<a href="http://www.zsh.org/">zsh</a>) it kindly completes this to `radi` and gives a list of the other completions since there are several to choose from. I though it would be nice if the shell could learn from the choices I make. So if I generally choose radiopaedia then `rad [Tab]` would complete to radiopaedia but still show the list of option. I'm sure there are several other areas where an adaptive shell that learnt from usage patterns could be applied.