RELEASE INFO (Xtreme Programming) June 15, 2000 - 20,046 categories. June 13, 2000 - Filled a few empty templates. Removed limits on dialogue lengths and types in Access.analyze(). 19,488 categories. Added ip.cron and classify.c to B.zip June 12, 2000 - 19,033 categories. June 5, 2000 - Binary search speeds up StringSorter; Load-time. StringSorter class by Yiannis Paschalidis. Declared 1.25 Added tag. Kay Fricke suggested changing Date to Calendar because of deprecated methods. Created dontoc.html June 2, 2000 - More reorganization of AIML files. Removed call to Classifier.update(). 18,027 categories. Linked to John Friedman's' DTD in Don't Read Me. May 31, 2000 - Added a few terms to substituter. May 15, 2000 - Try-catch loop in Classifier.update(). Fixed a few typos in AIML files. May 5, 2000 - Added some code for finding oldest client with ip_date. Added some transitive verbs to person_subst for . More "comments" in B.aiml explaining file contents. April 24, 2000 - Fixed ip_date bug. Parese.depth tracks depth of calls, SraiProcessor limits the depth. April 20, 2000 - Added content to YesNo.aiml and That.aiml. Reorganization of AIML files continues. Added sign predicate. April 17, 2000 - Rearranged and edited category files. April 10, 2000 - 16K categories. Added Inventions.aiml. April 9, 2000 - Added Srai.aiml, reorganized AIML files. 15K categories. Experimented with "New.aiml" conventions. April 6, 2000 - New content by Karolyn, Stan, John F., Andrew, Rob and Anthony. April 4, 2000 - Merged ology1.aiml into Knowledge.aiml. Made default topic be "you". Globals.getMergePolicy() now determines whether to merge or discard duplicate key templates at load time. Made 1.24 April 3, 2000 - New content to Knowledge.aiml by Mike Modes, Alain, Kingwolfe. Rich added to Atomic.aiml, Brain.aiml. March 21, 2000 - Added ology1.aiml to B.zip March 17, 2000 - Used Yiannis Paschalidis' StringSorter.add(). Linked his Bawt.java, dropped most anonymous classes in favor of actionId's for each menu/toolbar item. Declared 1.23 March 16, 2000 - Added AIML content. March 13, 2000 - Kirk Munoz contributed the ology1.aiml file. March 11, 2000 - Filled empty templates in Brain.aiml. Added Billy Mahoney's set_they patch to Classifier.java March 10, 2000 - made AIML license comment XML compliant. March 9, 2000 - Made AIML (more) compliant with DTD. John Friedman created xml.alicebot.com for DTD. Cleaned up templates with '*' found by Jacco's preprocessor. Now AIML files load in program C without errors. Removed botint.c and Pretty.aiml. February 16, 2000 - Updated AIML January 28, 2000 - ALICE wins Loebner Prize 2000 January 22, 2000 - 1.21 Christian sent revised Germanlanguage.txt, Classifier.java and Globals.java January 20, 2000 - Full moon edition 1.2. Kris and Christiann both sent updates. More foreign language support and improvements to Servlet. January 19, 2000 - Implemented Kris' suggested pre_process() method in Responder classes. January 18, 2000 - Kris Drent sent Servlet revision. Added DataDir to Globals. Made this one 1.12 January 15, 2000 - prepended GNU license notice to AIML files. Declared 1.11. January 13, 2000 - removed all remaining +~ old style AIML syntax. Various other corrections to AIML by Jacco Bikker. January 4, 2000 - added custom personality tag. January 1, 2000 - Declared 1.10 distribution. December 28, 1999 - Modified the selection "More Targets" to be more incremental. December 24, 1999 - Declared 1.07 distribution. Added Globals.advertize. December 23, 1999 - fixed Kid interface bugs. December 22, 1999 - Added a few more German labels. Debugged Applet, declared Globals, Properties, RobotCommunicator public. Included latest German.aiml and Germanlanguage.txt December 20, 1999 - language.txt now stores language-specific GUI labels. Declared 1.05 version. December 17, 1999 - improved Loebner logging. Received Andrew's first AlicePlugin package. Added custom predicate "heard". Added Predicatemap.store(). December 13, 1999 - created Loebner.java. December 11, 1999 - added timers to multiline_response and WebServer. Changed Responder.post_process from void to String, repaired Animagent. December 5, 1999 - removed applet_multiline_response() and created Responder interface and associated XResponder classes. Removed original multiline_response() and all its variants; replaced with new Classifier.multiline_response() using interfaces. Moved Classifier.log() to AppletResponder.log(). December 1, 1999 - added Globals.getVersion(). Included wav file with distribution. November 27, 1999 - Revamped RobotCommunicator and Kid with colors and "Save/Load Personality" feature. November 25, 1999 - Added dialog recording to Kid. November 21, 1999 - Used SortedIntSet in Access.dump(). November 19, 1999 - Added warning to . Kid SplashScreen. Kid.main now calls Classifier.fromFile(). November 18, 1999 - Bryan Fordham sent Botmaster.aiml November 17, 1999 - added BirthPlace parameter. November 16, 1999 - Kris sent new Kid.java and AliceReader.java. He changed input of RobotCommunicator to TextArea, set scrollbars to none. November 15, 1999 - added , Substituer.capitalize(). November 14, 1999 - Replaced applet green screen with RobotCommunicator class. November 10, 1999 - Added Kid Interface to Options menu. Added remaining global parameters to Globals and Blet. November 9, 1999 - More parameters to createApplet. Optimized Bawt.StringTargets(). Christian updated German.aiml November 8, 1999 - Kris sent Servlet version 1.0. Made Kid call pack(). November 6, 1999 - Added Java Classes section to "Don't Read Me". Switched to IBM Linux JDK118. Tinkered with Personality Wizard. Increased sleep time in ClerkManager. Made Kid call setSize(). November 4, 1999 - Added Andrew's Substituer.wrapLines(). Added Kid.java simplified interface. New ALICEBot.jpg logo. Added and tags. Created servlet subdir. October 24, 1999 - Optimized save_robot. Made "Classify" and "Save Robot" wait for Loader to finish, warning otherwise. October 23, 1999 - Made Personality Wizard do Globals.toFile() on "finished." Tinkered with Personality Wizard. October 20, 1999 - Modified Classifier.save_robot and save_robot_as to loop over files, then topics, then activation count; to keep topic groups together in files. October 18, 1999 - This version now includes the tag implementation. This is no longer a deviation of the main ALICE package. See the TopicTagReadme.txt file for more information. Contributed by Kris Drent. October 17, 1999 - Modified IntSet for SUN JDK 1.1.8. Used Webtrends.com to debug HTML FORM. October 14, 1999 - new German.aiml, tags, doc for tags, Substituter.java, custom tag howto in German and German version of dont.txt--all from Christian. October 11, 1999 - created Personality.aiml to store all the PWizard questions. October 10, 1999 - Christian's new German pronoun tags, GermanTags.txt doc included. October 7, 1999 - PredicateMap class, CustomTagProcessor class, Classifier.set_property(), .get_property(). October 5, 1999 - added Bletemplate.aiml to ZIP file. Bug fix. October 4, 1999 - Created Predicates class to overcome JDK issues with Properties.store(). Fixed bug in Persnonality Wizard. October 2, 1999 - Kris revised AliceReader.java October 1, 1999 - modified Globals and Classifier to try Properties.store() and then Properties.save() (deprecated). Created ClerkManager class to run as a separate thread. September 30, 1999 - added a dozen new Global properties and created the Personality Wizard. September 28, 1999 - added Kris Drent's AIML parser. Created W.log file to debug WebServer. Added loading.html to zip file. September 27, 1999 - replaced notify()'s with notifyAll(). Made Clerk class private. September 26, 1999 - debugged wait() and notify(), added option ClerkTimeout. September 25, 1999 - created applet to advertise alice input lines. created "loading.html" and global parameter BrainSize. Modified Web server to use wait() and notify(). September 23, 1999 - created static process_cleint() method for Clerk. September 22, 1999 - included Blet.aiml in distribution file B.zip. Modified WebServer to sleep after creating each clerk. Made "Create Applet" write "Blet.aiml". September 20, 1999 - fixed filename==null bug in Brain.add(). Kris Drent modified the Applet to detect the "Enter" key better; and provided a delete mechanism for the Green Screen. September 19, 1999 - bug fixes. September 15, 1999 - added "Help Help". Created IntSet and SortedIntSet classes to speed histogramming. September 14, 1999 - added Dont.aiml markup; added RandomHelp and made it the defualt "HELP" button function. September 12, 1999 - Unified Applet and application with modifications to the way client_line_contains and robot_line_start are used. September 9, 1999 - Split Brain into Brain and Atomic; moved some atomic categories to 65Percent.aiml. Blew away applet. September 4, 1999 - now caching Classifier Properties in files name ip_*.txt. September 3, 1999 - ListPatterns creates "patterns.txt" as a side effect. "Save as Text File" takes too much memory with the full 15,000 element Pattern list. Changed doAskRobot to accept long inputs and record the results in log file dialog.txt. September 2, 1999 - fixed bug in class Access. September 1, 1999 - added inline HTML feature with lynx. Modified tag activation order in pfkh() August 29, 1999 - added code to parse tag. Reorganized Parser.pfkh() using TagProcessor interface and helper classes. August 27, 1999 - added Albert.aiml contributed by Robby Garner. Added class Bterm for GUI-less execution. August 24, 1999 - removed chat1.html file and replaced with hard-wired form generation. Introduced virtual ip clients. August 23, 1999 - modified pfkh() to implement ... tag. August 20, 1999 - modified Classifier and Brain to implement functions needed for multiple file loading with tag. Changed filename suffix to *.aiml. Default robot file is B.aiml. August 18, 1999 - created code to support tags , , and . August 16, 1999 - Modifiled applet Blet.java to read parameters from index.html. Applet HTML file now uses tag to specify global parameters to the Applet. This should all users to run the applet without recompiling the java code. August 15, 1999 - Created tag to retreive the client dialogue. Created Access.analyze(ip) to extract the dialogue of a specific host ip. August 13, 1999 - Added Brain.ip_age and ip_topic map and associated accessor methods; expanded pfkh() to process , and August 12, 1999 - Added file menu item "Merge Bots" August 11, 1999 - Added Brain.ip_location map and associated accessor methods; expanded pfkh() to process and August 9, 1999 - created global parameter ACFURL for the Animagent .acf file address. August 2, 1999 - changed implementation of Globals to use Properties class. July 28, 1999 - modified header.html so the cursor appears in the form automatically. Changed Altavista to Google throughout B.html July 25, 1999 - added Substituter.suppress_html(line) which eliminates html from the reply line in 4 places: 1) Applet 2) screen log 3) Animagent 4) text-based chat. Rearranged unify(). July 22, 1999 - created Animagent class and added Options menu item to "Toggle MS Agent". Fixed a CHAT exception bug. July 20, 1999 - set default "that" to "What can I call you?" and made this the default line in both HOME.html and the ALICE Nexus. Limited individual sentence lengths to 256 characters. July 12, 1999 - added , . Calculated percentages with Classify. July 3, 1999 - implemented , and June 29, 1999 - fixed bug in Unifier.unify(); fixed bug in Parser.pfkh(). June 28, 1999 - modified Globals.toStringform and Globals.fromString, distinguished between "user" and "hardwired" options. June 27, 1999 - tag, Globals.getBotName(), Globals.setBotName(), , , in PATTERNS June 25, 1999 - Sorting dialogue lines before classifying them. Added LineClassifier.classify(). Compare first character in unify(). June 20, 1999 - bug fixes to XML parser. Corrections to B.html translated markup. June 19, 1999 - first version of XML template parser. June 15, 1999 - created LineProcessor interface and Log class. Classifier.classify() replaced with Log.ProcessLines() and Classifier implements LineProcessor June 11, 1999 - refactorization of StringList hierarchy, renamed StringList to StringVector, similar to Vector. Derived class Brain June 10, 1999 - rewrote Access.java for efficiency June 9, 1999 - fixed a bug in Unifier.unify so that Patterns containing '_' match properly. June 7, 1999 - gave up on the original Swing version of Class B in favor of the more widely useful AWT version Bawt. Now class B extends Bawt.