WebConduit: Two-way Live Asynchronous Web Page

This is a project I have been working on for a while now, and I have been working on the idea (a graphical MOO environment) for almost 8 years now! It's a live, two way, asynchronous web page; a web page that never has to refresh the entire page, either to send data to the server or for the server to send data to the web page.

Of course, the same thing is possible in Flash with the XMLSocket object; in fact, the first actual implementation I did of a MOO client in a web page used a small Flash movie as the inputline/output controller. But this version requires no plug ins; is fairly cross browser compatible; and works great!

I will most certainly be including the ability to send JavaScript to a web page asynchronously in my web framework, WebMVC, based on the Twisted network framework, written in Python. If you're interested, you can run the WebConduit yourself by downloading twisted and the files here.

See the output of LambdaMOO in a whole new light!


Disabling fink

Mach-O MacPython IDE in the CVS tree

Jack has made significant progress with the Mach-O Framework build of Python lately, and has posted instructions for people interested in testing what will become the out of the box distribution of Python 2.3 for Mac OS X. There has been a slight amount of difficulty getting things to work properly, however, so I thought I'd summarize some of the issues people have run into and provide step-by-step instructions for those interested in getting this working.

First, make sure the machine you will install on has not had it's default UNIX software overridden by fink. There have been problems reported by users with fink-installed software on their systems, and it's probably best if you attempt this on a system on which no fink software has been installed. However, if you have installed fink and still wish to try, you may be able to get things to work by disabling fink temporarily using these instructions (it worked for me.)

  • Open a new, fresh terminal.

  • Check your path by typing
    echo $PATH

  • If you see any path entries starting with /sw/, these entries were made by fink.
  • If you have fink entries, set your path for this terminal session by typing
    setenv PATH /bin:/usr/bin:/usr/local/bin

Checking python out of CVS

Check python out of cvs using the instructions at http://sourceforge.net/cvs/?group_id=5470

  • Type
    cvs -d:pserver:anonymous@cvs.python.sourceforge.net:/cvsroot/python login

  • At the password prompt, press return.

  • Type
    cvs -z3 -d:pserver:anonymous@cvs.python.sourceforge.net:/cvsroot/python co

  • Wait while cvs checks out the latest python source files from the tree.

Downloading WASTE

In order to run the MacPython IDE, you need to be able to compile the waste module. There is a binary library available which, when placed in the correct place, the python build process will find and link the python waste module against.

  • Visit http://www.merzwaren.com/waste/

  • Under Downloadable Files, get the latest 2.1 release.

  • If necessary, unstuff and mount the disk image.

  • In the Finder, navigate to ~/python/dist

  • While holding down option, drag the WASTE disk from your desktop or another finder window into ~/python/dist
    • If you don't hold down option, OS X may try to make an alias instead of copying.

  • Rename the folder "waste"

  • This may not be necessary any more, but it cannot hurt: In a terminal, type
    ranlib ~/python/dist/waste/Static\ Libraries/libWASTE.a

Compile and install Python as a Framework

Make sure you are in a terminal whose PATH does not include fink directories, as described above.

  • Change to the python source directory.
    cd ~/python/dist/src

  • ./configure --enable-framework

  • make

  • make frameworkinstall

  • make osxapps

If all went well, you should now have some very useful python applications in /Applications/Python! If anything went wrong, please let the PythonMac mailing list know.