Get the software

You can download, install, run and modify the Meme Machine. It runs on Linux, but could work on many platforms with some work. I think on mac you might be able to get all the missing bits on mac ports and then it should run quite fine.

To begin:

  • Download and install
  • Start a mind
  • Start a medium
  • Experiment with different ideas

FInd out how below. Its a small set of scripts, just download and run!

You can see how they work, and add your own twist!

Download it

  1. Inspect the sources on sourceforge at
  2. You need to have subversion eg$ sudo apt-get install subversion
  3. Get the code from the subversion repository:
    $ svn checkout
  4. If you can't use subversion, grab a tarball


  • Install dependencies. These are the Ubuntu package names. Everything else should be in standard python 2.5
    • python-pygame — screen display
    • python-avahi — local network discovery of other nodes
    • python-numpy — fast maths or lazy programmer
    • python-sqlite3 — organise plenty of data efficiently
    • ttf-dejavu-extra — display as many characters from as many languages as possible.( I may have to make bold-italic versions of the Indian fonts.)

$ sudo apt-get install python-avahi python-pygame python-numpy python-sqlite ttf-dejavu-extra

  • Bug in pygame prevents accessing system fonts <>. You need a good font that displays many unicode characters, eg DejaVuSans truetype family and he default pygame font is not very comprehensive.

Begin Experimenting

Start a mind

If there's another server on your subnet (sucha as at delegate network) you can just start a mind. Others might refer to it as a client, but the minds really drive the whole process.

  • Choose the meme you want your mind to explore.
  • $ python [meme phrase]

Start a medium

Mediums are servers that co-ordinate the conversation between minds. Even if you only have one mind, you need to start a medium.

  • $ python

Start a network

  • Start up many minds and let them interact! They discover each other and interact.