WelcomePage RecentChanges SpwWiki

DavidWhitten

I am a long time programmer (since 1981 or so). The usemod code is my primary motivator to learn Perl. I am interested in Artificial Intelligence issues, such as ontologies and expert systems. I work in medical informatics and am associated with the WorldVista? non-profit. My work number is (713)-791-1414ext6116.

I downloaded the code to a Linux box I have, and am running into a few issues, like how to find out if my system is running a compatible webserver, and what is the implication of SPW not working with mod_perl, can I run the script from the spw user I setup, or do I have to put stuff in /var/www , etc. Answers would be appreciated, and we should incorporate them in the appropriate tutorials or wiki pages... -- DaveWhitten

Okay, reviewing InstallationNotes and I already have a problem. I have Red Hat 8.0 on the machine, but you have a debian setup, so I need to find apt-get and put it on the Red Hat machine.

:Welcome again! Well, I gotta run right now, but a quick note: InstallationNotes is only needed if you wanna install SPW with OSLayerSecurity the way I did, i.e. with an spw user and a chroot jail. The code doesn't care if it is installed like that or not, so if you do wanna do that, you can do it some other way in RedHat? rather than the way I did in Debian.

:If you aren't so concerned about security as to want a chroot jail (and I be you don't need to be worried; see SpeculationOnAttacks for why I think that), then you can setup SPW on your machine much quicker as per the instructions in Step #1 of SpwTutorial. All you need in that case is a standard installation of Apache with cgi enabled (it should work with any webserver that has cgi, although I've only tested on Apache so far).

:Mod_perl must still be turned off, but I made a note about how to do that on SpwTutorial (you put SetHandler cgi-bin in the .htaccess file in the spw directory).

:To summarize: I don't think you need to bother with the stuff in InstallationNotes (or apt-get). SpwTutorial should be enough. Please leave comments if any of the steps in SpwTutorial don't work. Of course, if you still want to install a chroot jail like in InstallationNotes, I'll try to help with that too.

:-- BayleShanks

:as for how to find if you system is running a compatible webserver; are you the admin of the system or is it an account on another system? If you're the admin, I guess you would know (if you aren't experienced with webservers, I can try to help, although I have minimal experience myself). If you don't have one yet, apache seems like a good bet. If you're on another system, just find out if it supports CGI (it has to), and if so, where to put stuff/how to set it up so that the CGI can be run from the web. I think mod_perl is specific to Apache, so , if I'm right, either SetHandler cgi-bin should work or you don't have to worry about it. -- BayleShanks

Hey, David, I am thinking of changing the name to either CommunityProgrammedWiki or ReprogrammableWiki?. Any preference (between either of those or the current SelfProgrammingWiki or another name) or suggestions?

I am hoping to try and add the project to SourceForge after a name is settled upon. Hopefully I'd at least do part of this in the next couple of weeks. That way the code would still be accessible while the current server (my own laptop) travels with me as I go on vacation (I expect I'll be able to serve it from vacation, but there would be a few days downtime during travel, and every now and then during vacation). If possible, I expect to move the wiki site itself to SourceForge too, and then I wouldn't have to serve it off my (mobile) computer at all.

-- BayleShanks

:hey, after looking at Google:David+Whitten, are you the David Whitten who did "The Unofficial, Unauthorized Cyc Frequently Asked Questions Information Sheet"?

Yep. Wrote that FAQ several years ago now. One of the reasons I'd like to work on the wiki is to provide an interface to an OpenCyc? image. I'd also like to use a wiki as a way of annotating english text with CycL? text for the Oziac project, which has been severely hampered by lack of tools.

:Neat-o. I study A.I. myself and from what I've heard, I feel like Cyc is going in the right direction. I haven't had time to try it out myself yet, though. Have you seen AIWiki? We're going to start an encyclopaedia/current research trends tracker/discussion forum for A.I. research. -- BayleShanks

:As for Oziac, you may want to put a more specific description on the SourceForge project page (i.e. mention that you want to annotate the English text with CycL?) -- right now it reads as if the project is just to produce English text.

Here's some more suggested summary text for Oziac's SourceForge page:

"CycL? is an A.I. language that expresses facts about a world in symbolic logic. The idea is to create a list of formalized facts about the world of OZ so that a machine will be able to apply logical reasoning for the purpose of "DMing" that world, so to speak."

What do you think?

-- BayleShanks


Random Thoughts that I would like to see added in this code base:

;the back=Page capability. \ :so you can find all references to a particular page

;Transclusion \

i.e. a #INCLUDE operation to include another page as if it were a part of the current page. This would be especially useful way to include the code of a function on a page that documents that function.

; External Commands to generate a page\

ability to run a linux command (in a secure list of course) and produce the results of that page as if it were a wiki page. (this goes hand-in-hand with the above #INCLUDE idea, since this will allow a linux command to generage the wiki page of the code of a Perl function, and the #INCLUDE on the documentation page to incorporate it as a part of itself.

; Grammars and Categories \ :tying a grammar to a page. so the various wiki-markup can generate different html code for different pages. (or so we can generate HTML-ized versions of code written in Perl, C, MUMPS, CycL?, or whatever your favourite programming language may be. Note this may be unnecessary if we have a linux command that can generate HTML, and we have a a way to state that the generated page is producing HTML instead of text that is then parsed by the wiki engine.

;URL re-evaluation \

Treat the contents of a page as a URL to be re-evaluated. The URL will be recursively sent to the Wiki and the generated page will be returned as this page's contents. This would allow specialised Recent Pages without changing the Wiki code.

; Category Based Default Pages \

Rather than defaulting solely to the text "Describe the new page here. ", as currently, allow a control page tied to categories which specifies the default empty page. This allows a forms-type or prototype approach to filling in new pages. This is most useful when a page has certain information that should be shared among all other pages of that category.

CategoryHomePage