summer-of-code
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]