Programming, Software and Code


I really wish that I had the time to get back into some of my programming projects. My expert system shell, for one, really could use a lot of work. Major upgrades to it would likely require me to upgrade or even completely rewrite the inference engine (and I see no reason why that shouldn't be possible). In an ideal situation, I would like to have a very advanced and configurable inference engine. It could optionally use forward or backward chaining, trace it's reasoning, provide automated explanations, etc. I would like to expand it to be able to cover all arbitrary code snippet evaluations (arithmetic, etc).

My wiki bot needs a serious overhaul. I want to redo the library module to include more features, more functions, and more error checking (I do a minimal amount now). I also need to update the library to use POD for documentation (i currently don't offer any real documentation).

Since I need to wait anyway (I can't justify working on these while my thesis still has so much work left undone), I might as well wait for perl 6 and just upgrade them both at once.

Speaking of Perl 6, I had a great idea for a MediaWiki parser engine that would run on Parrot. It would work like PHP, in the sense that all plain text would be directed to STDOUT immediately. All formatting would be converted to HTML and then directed to STDOUT. I keep reading about the fantastic Parrot compiler tools suite, but I have yet to find any real documentation on them. I think that if the compiler tools are as fast and easy to use as people say, I could become very productive in porting things to parrot.

I'm working now on an upgrade to my RemoteTalk gadget at wikibooks. It's a tool that uses an iframe to allow the user to check talk pages on other wikis quickly. The current implementation requires the user to construct an array in javascript of all their remote aliases, and I am trying to upgrade it so that the user doesnt need to write any javascript at all. Much more userfriendly, I think. I would also like to break ground on a new message alerter program. The message alerter would be a daemon that periodically makes an API call to check for new messages (think hourly, or maybe you would have to select a "fetch" option manually.

My other wikibooks gadgets are relatively stable, but there is always more work that could be done. My book designer gadget (which creates a new book TOC from an outline) needs to be expanded to use my AJAX editing library to create pages with default text (which would, in turn, allow for multi-level outlines to be used). Speaking of which, my AJAX editing routines all need to be improved for increased reliablity and functionality.

There is lots of work on the agenda, so I am hoping that I can get significant portions of my thesis completed soon. I'm still struggling with a data representation problem, and I'm having a few questions about how I am going to manage the GUI portion of it, but once those questions are answered I expect the work to go very quickly. The assember is basically "complete", the GUI has been designed but a lot of the code to handle the GUI has yet to be written. After that, I mostly need to work on the simulator and the component libraries and then I'm finished. It's difficult to estimate how long each of these things will take.

This entry was originally posted on Blogger and was automatically converted. There may be some broken links and other errors due to the conversion. Please let me know about any serious problems.