Re: ifile internals

Jason Rennie <[email protected]> Fri, 27 Sep 2002 08:32:16 -0400
Newsgroups gmane.mail.ifile.general
Message-ID <[email protected]>
[email protected] said:
> I've been taking a long look today at trying to daemonize ifile.  The
> fact of the matter is, the internals are a bit tangled up for that.
> Before I get deep into a code overhaul larger than the
> memory-leak-hunt, I figured I'd check in with you with some questions.
> (I'm deliberately asking off the mailing list, but you're welcome to
> forward this there if you'd prefer.)

> - Does this seem like something actually worth doing?  Is anyone
>   besides me complaining about performance issues?

Yes and yes.  Besides the fact that it would be cool to see <grin>,
daemonizing ifile would open up a range of possibilities.  Besides the
fact that it would make things much faster, it would also provide much
better infrastructure for remote applications.  Imagine an AI Lab-wide
spam filter daemon.  Individual clients could connect and get judgements
on incoming e-mails.  This could alleviate the individual burden
(requiring each person to set up their own spam-filtering system) while
also making it easier to detect junk e-mails since the filter could run on
a much larger corpus and it could do smart things like looking for
identical messages.

> - Do you have any insight on the best place to split client/server
>   functionality?  (I'm currently leaning toward letting the client
>   parse a message, and then shoving a serialized version of the 
>   hashtable over to the server for comparison vs. the database.)

I agree with your leaning.  I'd suggest having the client send features
(words) and counts.  The message you sent me might be trasmitted as: the 
word "long" occurred twice, the word "today" occurred once, the word 
"ifile" occurred twice, etc. (albeit in a slightly more compressed format 
:)  The server would take this "bag of words" and produce a best folder 
or list of top folders.

> - Has ifile been evolving long enough that it might be time for a 
>   fresh rewrite/simplification pass?

Certainly.  The last major re-vamping was done late '97-early '98.  
Removing all of the complex parsing/lexing from the core engine would be 
a plus, I think.

> - Will I be stepping on your toes if I take a shot at any of this? 

Not at all.  Also, considering how drastic of changes you want to make, 
it might be best to give the code a new name, maybe jfile? :)

Jason D. M. Rennie
MIT AI Lab
[email protected]
(617) 253-5339
http://www.ai.mit.edu/~jrennie/