[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mentor for user friendly and intelligent shell project
From: |
James Youngman |
Subject: |
Re: mentor for user friendly and intelligent shell project |
Date: |
Fri, 3 Apr 2009 15:53:54 +0100 |
On Fri, Apr 3, 2009 at 7:39 AM, mahaveer jain <address@hidden> wrote:
> I have idea about making intelligent and user friendly shell.I will be
> very thankful if your organisation can mentor my project during GSOC
You can make an application on Google's Summer of Code website.
Please be sure to read
http://www.gnu.org/software/soc-projects/guidelines.html first,
though.
>
> Terminal uses exact command matching model .Some user might
> forget exact command ,in such cases approximate matching capability of
> shell can suggest commands to user,from which user can select
> appropriate command .Secondly, For a novice user remembering all
> commands is not possible ,Converting simple written English into shell
> commands can help an un experienced users to use and learn shell
> commands .
>
>
> For correcting commands, Listance model a variation of Longest Common
> Subsequence Model can be used. In this model two words are considered
> to be same if there Listance is not more then a predefined number k.
> Suppose that length of two words A and B is m and n respectively, then
> the listance between them is defined as max(m,n)-Least Common
> SubSequence(A,B).By storing a collection of SubSequences extracted
> from actual command in a table and performing the similar
> transformation when user type incorrect command to get approximate
> command will result into more user friendly shell.
>
>
> English text can be processed using lexical,semantic , syntatic
> knowledge and real world information of the language (NLP) and hence
> commands can be generated .Applying these concepts in shell can help
> novice user to get commands coresponding to written english text..
>
>
> For example:
> 1. Suppose someone want to connect to internet using dial up .
> He/She has to first configure wvdial.conf where he/she has to write
> modem type, user name ,password and then execute wvdial command to
> start connection .For an inexperienced user, it will be good if system
> can support him/her for performing these tasks by either guiding or
> executing commands for user. By making a new command for this purpose
> say “help me” command can help user.
> @root# help me “connect to net".
> it automatically finds that wvdial.conf has to be configured and
> prompt user to configure it and then give a message telling "wvdial"
> should be used to connect to net or shell automatically execute the
> command.
> 2.Example if k is 1 and command is ifconfig then
> (fconfig ,iconfig ,ifonfig ,ifcnfig ,ifconif ,ifconfg,ifconfi) will be
> stored in Sub Sequence Command Table for ifconfig command by deleting
> one character from ifconfig.
> If user types ipconfig as there is no command like this available so
> correcting algorithm wiil be called which will generates the sub
> sequenences (pocnfig,iconfig,ipcnfig,ipcofig,ipconfg,ipconfi) .
> iconfig is there in both set of sequences so ifconfig is suggested as
> approximate command to user.
It looks to me that your proposal may well not be implementable in the
time available for the Summer of Code, so you might want to pay
attention to this when making a detailed proposal. In particular the
GNU project's summer-of-code mentors will be seeking to select useful
and achievable project proposed by people who have a high chance of
success within the limits of the available time. You may wish to
think about how you can refine your idea to reflect this.
James.