mirror
I've been wanting to put my programs into mirrors as this host is not 100% available (it may be either down or not reachable because of DNS propagation delays). So added libaiml (just that for now) into ibiblio.org (but it may not be available yet). I'm going to add this URL to freshmeat's listing also.
I'm in the process of getting a new domain for this site (altought omicron.ig3.net will still be used), which will probably be v01d.com.ar. I hope google likes that better.
libaiml feedback
- FIX: if glob() returned read error, libaiml would return 'unknown error' (this could happen if an unreadable/unexistant directory is inside the pattern of files to load)
- made XML error reporting more detailed (file, line and column)
- FIX: test_app would exit if the input was only spaces instead of asking for input again
- FIX: aiml_parser would crash if the file wasn't found (actually if the xmlCtxt wouldn't be created) (this would trigger if a <learn> tag pointed to a non-existant file)
- FIX: <learn> tag wasn't working
- FIX: patterns (from <pattern>, <topic> and <that>) weren't cleaned for newlines and characters that shouldn't be in the grapmhaster's nodes (this could be noticed if there were newlines and such inside this tags in .aiml files)
- FIX: missing virtual destructor on cInterpreterCallbacks
Imp: Incredible Module Power
I've been working on Imp on my spare time and I'm advancing fast. Perl is the exact right language for this kind of program.
So far I've been able to get 90/5% of the Core completed (it is missing some little details and I have to think some others. As of the modules, that will go on a little slower, but I have a Logger module and a Local/Remote Management System (LRMS) module working. With these two I can control and test the bot all I want.
I'm taking snapshots (well, crond does) of the repository hosting Imp, so the sources are available to see in progress. I will probably make a Developers Release or Release Candidates when I feel that the Core is completed/stable enough to start worrying about plugins.
PERL & IMP
I've always heard about Perl having horrible and obfuscated syntax. I don't think that's the case. Perl, IMHO, is a language that can satisfy a lot of different coding styles and ways of thinking programs. I've started reading O'Reillys' books ("Learning Perl" and "Perl Programming", aka "The Camel Book") and I still like it =b.
So, considering that Perl is a great language for doing stuff like my bot does (or even libaiml does, but I wouldn't go that far already), I'm thinking on porting imp to Perl. I would retain the general idea and design (modules and such). The core can be a lot more secure and a lot more simple. Imp modules could be just Perl modules that my bot would load (using "eval" as I saw other Perl Bots did, but I have to investigate about that). I think I would enjoy also using the "tainted data" feature for this.
Maybe libaiml could be written in perl also, but for now I feel that a C++ aiml interpreter is something that needs to be somewhere (that was my motivation in the first place).
subversion
What I haven't decided yet is if I should open the svn to the world (right now it uses plain svnserve autentification, I think ssh would be a little more secure for a public server, which is not needed right now). Also, I host a WebSVN interface (which also works great) to the repositories.
So, for now, there will be version control on my projects but it will be hidden until I decide on how to open them to the world. It's just not easy to satisfy my paranoias =b