Run 2to3 over the Demo/ directory to shut up parse errors from 2to3 about lingering print statements.
diff --git a/Demo/sockets/rpythond.py b/Demo/sockets/rpythond.py
index 34de982..d745cc7 100755
--- a/Demo/sockets/rpythond.py
+++ b/Demo/sockets/rpythond.py
@@ -7,7 +7,7 @@
 
 import sys
 from socket import *
-import StringIO
+import io
 import traceback
 
 PORT = 4127
@@ -23,7 +23,7 @@
     s.listen(1)
     while 1:
         conn, (remotehost, remoteport) = s.accept()
-        print 'connected by', remotehost, remoteport
+        print('connected by', remotehost, remoteport)
         request = ''
         while 1:
             data = conn.recv(BUFSIZE)
@@ -37,12 +37,12 @@
 def execute(request):
     stdout = sys.stdout
     stderr = sys.stderr
-    sys.stdout = sys.stderr = fakefile = StringIO.StringIO()
+    sys.stdout = sys.stderr = fakefile = io.StringIO()
     try:
         try:
             exec(request, {}, {})
         except:
-            print
+            print()
             traceback.print_exc(100)
     finally:
         sys.stderr = stderr