text:
"""XML-RPC Servers.

This module can be used to create simple XML-RPC servers
by creating a server and either installing functions, a
class instance, or by extending the SimpleXMLRPCServer
class.

It can also be used to handle XML-RPC requests in a CGI
environment using CGIXMLRPCRequestHandler.

The Doc* classes can be used to create XML-RPC servers that
serve pydoc-style documentation in response to HTTP
GET requests. This documentation is dynamically generated
based on the functions and methods registered with the
server.

A list of possible usage patterns follows:

1. Install functions:

server = SimpleXMLRPCServer(("localhost", 8000))
server.register_function(pow)
server.register_function(lambda x,y: x+y, 'add')
server.serve_forever()

2. Install an instance:

class MyFuncs:
    def __init__(self):
        # make all of the sys functions available through sys.func_name
        import sys
        self.sys = sys
    def _listMethods(self):
        # implement this method so that system.listMethods
        # knows to advertise the sys methods
        return list_public_methods(self) + \
                ['sys.' + method for method in list_public_methods(self.sys)]
    def pow(self, x, y): return pow(x, y)
    def add(self, x, y) : return x + y

server = SimpleXMLRPCServer(("localhost", 8000))
server.register_introspection_functions()
server.register_instance(MyFuncs())
server.serve_forever()

3. Install an instance with custom dispatch method:

class Math:
    def _listMethods(self):
        # this method must be present for system.listMethods
        # to work
        return ['add', 'pow']
    def _methodHelp(self, method):
        # this method must be present for system.methodHelp
        # to work
        if method == 'add':
            return "add(2,3) => 5"
        elif method == 'pow':
            return "pow(x, y[, z]) => number"
        else:
            # By convention, return empty
            # string if no help is available
            return ""
    def _dispatch(self, method, params):
        if method == 'pow':
            return pow(*params)
        elif method == 'add':
            return params[0] + params[1]
        else:
            raise 'bad method'

server = SimpleXMLRPCServer(("localhost", 8000))
server.register_introspection_functions()
server.register_instance(Math())
server.serve_forever()

4. Subclass SimpleXMLRPCServer:

class MathServer(SimpleXMLRPCServer):
    def _dispatch(self, method, params):
        try:
            # We are forcing the 'export_' prefix on methods that are
            # callable through XML-RPC to prevent potential security
            # problems
            func = getattr(self, 'export_' + method)
        except AttributeError:
            raise Exception('method "%s" is not supported' % method)
        else:
            return func(*params)

    def export_add(self, x, y):
        return x + y

server = MathServer(("localhost", 8000))
server.serve_forever()

5. CGI script:

server = CGIXMLRPCRequestHandler()
server.register_function(pow)
server.handle_request()
"""

# Written by Brian Quinlan (brian@sweetapp.com).
# Based on code written by Fredrik Lundh.

from xmlrpc.client import Fault, dumps, loads
from http.server import BaseHTTPRequestHandler
import http.server
import socketserver
import sys
import os
import re
import pydoc
import inspect
import traceback
try:
    import fcntl
except ImportError:
    fcntl = None

def resolve_dotted_attribute(obj, attr, allow_dotted_names=True):
    """resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d

    Resolves a dotted attribute name to an object.  Raises
    an AttributeError if any attribute in the chain starts with a '_'.

    If the optional allow_dotted_names argument is false, dots are not
    supported and this function operates similar to getattr(obj, attr).
    """

    if allow_dotted_names:
        attrs = attr.split('.')
    else:
        attrs = [attr]

    for i in attrs:
        if i.startswith('_'):
            raise AttributeError(
                'attempt to access private attribute "%s"' % i
                )
        else:
            obj = getattr(obj,i)
    return obj

def list_public_methods(obj):
    """Returns a list of attribute strings, found in the specified
    object, which represent callable attributes"""

    return [member for member in dir(obj)
                if not member.startswith('_') and
                    hasattr(getattr(obj, member), '__call__')]

class SimpleXMLRPCDispatcher:
    """Mix-in class that dispatches XML-RPC requests.

    This class is used to register XML-RPC method handlers
    and then to dispatch them. There should never be any
    reason to instantiate this class directly.
    """

    def __init__(self, allow_none, encoding):
        self.funcs = {}
        self.instance = None
        self.allow_none = allow_none
        self.encoding = encoding

    def register_instance(self, instance, allow_dotted_names=False):
        """Registers an instance to respond to XML-RPC requests.

        Only one instance can be installed at a time.

        If the registered instance has a _dispatch method then that
        method will be called with the name of the XML-RPC method and
        its parameters as a tuple
        e.g. instance._dispatch('add',(2,3))

        If the registered instance does not have a _dispatch method
        then the instance will be searched to find a matching method
        and, if found, will be called. Methods beginning with an '_'
        are considered private and will not be called by
        SimpleXMLRPCServer.

        If a registered function matches a XML-RPC request, then it
        will be called instead of the registered instance.

        If the optional allow_dotted_names argument is true and the
        instance does not have a _dispatch method, method names
        containing dots are supported and resolved, as long as none of
        the name segments start with an '_'.

            *** SECURITY WARNING: ***

            Enabling the allow_dotted_names options allows intruders
            to access your module's global variables and may allow
            intruders to execute arbitrary code on your machine.  Only
            use this option on a secure, closed network.

        """

        self.instance = instance
        self.allow_dotted_names = allow_dotted_names

    def register_function(self, function, name = None):
        """Registers a function to respond to XML-RPC requests.

        The optional name argument can be used to set a Unicode name
        for the function.
        """

        if name is None:
            name = function.__name__
        self.funcs[name] = function

    def register_introspection_functions(self):
        """Registers the XML-RPC introspection methods in the system
        namespace.

        see http://xmlrpc.usefulinc.com/doc/reserved.html
        """

        self.funcs.update({'system.listMethods' : self.system_listMethods,
                      'system.methodSignature' : self.system_methodSignature,
                      'system.methodHelp' : self.system_methodHelp})

    def register_multicall_functions(self):
        """Registers the XML-RPC multicall method in the system
        namespace.

        see http://www.xmlrpc.com/discuss/msgReader$1208"""

        self.funcs.update({'system.multicall' : self.system_multicall})

    def _marshaled_dispatch(self, data, dispatch_method = None):
        """Dispatches an XML-RPC method from marshalled (XML) data.

        XML-RPC methods are dispatched from the marshalled (XML) data
        using the _dispatch method and the result is returned as
        marshalled data. For backwards compatibility, a dispatch
        function can be provided as an argument (see comment in
        SimpleXMLRPCRequestHandler.do_POST) but overriding the
        existing method through subclassing is the prefered means
        of changing method dispatch behavior.
        """

        try:
            params, method = loads(data)

            # generate response
            if dispatch_method is not None:
                response = dispatch_method(method, params)
            else:
                response = self._dispatch(method, params)
            # wrap response in a singleton tuple
            response = (response,)
            response = dumps(response, methodresponse=1,
                             allow_none=self.allow_none, encoding=self.encoding)
        except Fault as fault:
            response = dumps(fault, allow_none=self.allow_none,
                             encoding=self.encoding)
        except:
            # report exception back to server
            exc_type, exc_value, exc_tb = sys.exc_info()
            response = dumps(
                Fault(1, "%s:%s" % (exc_type, exc_value)),
                encoding=self.encoding, allow_none=self.allow_none,
                )

        return response

    def system_listMethods(self):
        """system.listMethods() => ['add', 'subtract', 'multiple']

        Returns a list of the methods supported by the server."""

        methods = set(self.funcs.keys())
        if self.instance is not None:
            # Instance can implement _listMethod to return a list of
            # methods
            if hasattr(self.instance, '_listMethods'):
                methods |= set(self.instance._listMethods())
            # if the instance has a _dispatch method then we
            # don't have enough information to provide a list
            # of methods
            elif not hasattr(self.instance, '_dispatch'):
                methods |= set(list_public_methods(self.instance))
        return sorted(methods)

    def system_methodSignature(self, method_name):
        """system.methodSignature('add') => [double, int, int]

        Returns a list describing the signature of the method. In the
        above example, the add method takes two integers as arguments
        and returns a double result.

        This server does NOT support system.methodSignature."""

        # See http://xmlrpc.usefulinc.com/doc/sysmethodsig.html

        return 'signatures not supported'

    def system_methodHelp(self, method_name):
        """system.methodHelp('add') => "Adds two integers together"

        Returns a string containing documentation for the specified method."""

        method = None
        if method_name in self.funcs:
            method = self.funcs[method_name]
        elif self.instance is not None:
            # Instance can implement _methodHelp to return help for a method
            if hasattr(self.instance, '_methodHelp'):
                return self.instance._methodHelp(method_name)
            # if the instance has a _dispatch method then we
            # don't have enough information to provide help
            elif not hasattr(self.instance, '_dispatch'):
                try:
                    method = resolve_dotted_attribute(
                                self.instance,
                                method_name,
                                self.allow_dotted_names
                                )
                except AttributeError:
                    pass

        # Note that we aren't checking that the method actually
        # be a callable object of some kind
        if method is None:
            return ""
        else:
            import pydoc
            return pydoc.getdoc(method)

    def system_multicall(self, call_list):
        """system.multicall([{'methodName': 'add', 'params': [2, 2]}, ...]) => \
[[4], ...]

        Allows the caller to package multiple XML-RPC calls into a single
        request.

        See http://www.xmlrpc.com/discuss/msgReader$1208
        """

        results = []
        for call in call_list:
            method_name = call['methodName']
            params = call['params']

            try:
                # XXX A marshalling error in any response will fail the entire
                # multicall. If someone cares they should fix this.
                results.append([self._dispatch(method_name, params)])
            except Fault as fault:
                results.append(
                    {'faultCode' : fault.faultCode,
                     'faultString' : fault.faultString}
                    )
            except:
                exc_type, exc_value, exc_tb = sys.exc_info()
                results.append(
                    {'faultCode' : 1,
                     'faultString' : "%s:%s" % (exc_type, exc_value)}
                    )
        return results

    def _dispatch(self, method, params):
        """Dispatches the XML-RPC method.

        XML-RPC calls are forwarded to a registered function that
        matches the called XML-RPC method name. If no such function
        exists then the call is forwarded to the registered instance,
        if available.

        If the registered instance has a _dispatch method then that
        method will be called with the name of the XML-RPC method and
        its parameters as a tuple
        e.g. instance._dispatch('add',(2,3))

        If the registered instance does not have a _dispatch method
        then the instance will be searched to find a matching method
        and, if found, will be called.

        Methods beginning with an '_' are considered private and will
        not be called.
        """

        func = None
        try:
            # check to see if a matching function has been registered
            func = self.funcs[method]
        except KeyError:
            if self.instance is not None:
                # check for a _dispatch method
                if hasattr(self.instance, '_dispatch'):
                    return self.instance._dispatch(method, params)
                else:
                    # call instance method directly
                    try:
                        func = resolve_dotted_attribute(
                            self.instance,
                            method,
                            self.allow_dotted_names
                            )
                    except AttributeError:
                        pass

        if func is not None:
            return func(*params)
        else:
            raise Exception('method "%s" is not supported' % method)

class SimpleXMLRPCRequestHandler(BaseHTTPRequestHandler):
    """Simple XML-RPC request handler class.

    Handles all HTTP POST requests and attempts to decode them as
    XML-RPC requests.
    """

    # Class attribute listing the accessible path components;
    # paths not on this list will result in a 404 error.
    rpc_paths = ('/', '/RPC2')

    def is_rpc_path_valid(self):
        if self.rpc_paths:
            return self.path in self.rpc_paths
        else:
            # If .rpc_paths is empty, just assume all paths are legal
            return True

    def do_POST(self):
        """Handles the HTTP POST request.

        Attempts to interpret all HTTP POST requests as XML-RPC calls,
        which are forwarded to the server's _dispatch method for handling.
        """

        # Check that the path is legal
        if not self.is_rpc_path_valid():
            self.report_404()
            return

        try:
            # Get arguments by reading body of request.
            # We read this in chunks to avoid straining
            # socket.read(); around the 10 or 15Mb mark, some platforms
            # begin to have problems (bug #792570).
            max_chunk_size = 10*1024*1024
            size_remaining = int(self.headers["content-length"])
            L = []
            while size_remaining:
                chunk_size = min(size_remaining, max_chunk_size)
                L.append(self.rfile.read(chunk_size))
                size_remaining -= len(L[-1])
            data = b''.join(L)

            # In previous versions of SimpleXMLRPCServer, _dispatch
            # could be overridden in this class, instead of in
            # SimpleXMLRPCDispatcher. To maintain backwards compatibility,
            # check to see if a subclass implements _dispatch and dispatch
            # using that method if present.
            response = self.server._marshaled_dispatch(
                    data, getattr(self, '_dispatch', None)
                )
        except Exception as e: # This should only happen if the module is buggy
            # internal error, report as HTTP server error
            self.send_response(500)

            # Send information about the exception if requested
            if hasattr(self.server, '_send_traceback_header') and \
                    self.server._send_traceback_header:
                self.send_header("X-exception", str(e))
                self.send_header("X-traceback", traceback.format_exc())

            self.end_headers()
        else:
            # Got a valid XML RPC response; convert to bytes first
            response = response.encode("utf-8")
            self.send_response(200)
            self.send_header("Content-type", "text/xml")
            self.send_header("Content-length", str(len(response)))
            self.end_headers()
            self.wfile.write(response)

            # shut down the connection
            self.wfile.flush()
            self.connection.shutdown(1)

    def report_404 (self):
            # Report a 404 error
        self.send_response(404)
        response = b'No such page'
        self.send_header("Content-type", "text/plain")
        self.send_header("Content-length", str(len(response)))
        self.end_headers()
        self.wfile.write(response)
        # shut down the connection
        self.wfile.flush()
        self.connection.shutdown(1)

    def log_request(self, code='-', size='-'):
        """Selectively log an accepted request."""

        if self.server.logRequests:
            BaseHTTPRequestHandler.log_request(self, code, size)

class SimpleXMLRPCServer(socketserver.TCPServer,
                         SimpleXMLRPCDispatcher):
    """Simple XML-RPC server.

    Simple XML-RPC server that allows functions and a single instance
    to be installed to handle requests. The default implementation
    attempts to dispatch XML-RPC calls to the functions or instance
    installed in the server. Override the _dispatch method inhereted
    from SimpleXMLRPCDispatcher to change this behavior.
    """

    allow_reuse_address = True

    # Warning: this is for debugging purposes only! Never set this to True in
    # production code, as will be sending out sensitive information (exception
    # and stack trace details) when exceptions are raised inside
    # SimpleXMLRPCRequestHandler.do_POST
    _send_traceback_header = False

    def __init__(self, addr, requestHandler=SimpleXMLRPCRequestHandler,
                 logRequests=True, allow_none=False, encoding=None, bind_and_activate=True):
        self.logRequests = logRequests

        SimpleXMLRPCDispatcher.__init__(self, allow_none, encoding)
        socketserver.TCPServer.__init__(self, addr, requestHandler, bind_and_activate)

        # [Bug #1222790] If possible, set close-on-exec flag; if a
        # method spawns a subprocess, the subprocess shouldn't have
        # the listening socket open.
        if fcntl is not None and hasattr(fcntl, 'FD_CLOEXEC'):
            flags = fcntl.fcntl(self.fileno(), fcntl.F_GETFD)
            flags |= fcntl.FD_CLOEXEC
            fcntl.fcntl(self.fileno(), fcntl.F_SETFD, flags)

class CGIXMLRPCRequestHandler(SimpleXMLRPCDispatcher):
    """Simple handler for XML-RPC data passed through CGI."""

    def __init__(self, allow_none=False, encoding=None):
        SimpleXMLRPCDispatcher.__init__(self, allow_none, encoding)

    def handle_xmlrpc(self, request_text):
        """Handle a single XML-RPC request"""

        response = self._marshaled_dispatch(request_text)

        print('Content-Type: text/xml')
        print('Content-Length: %d' % len(response))
        print()
        sys.stdout.write(response)

    def handle_get(self):
        """Handle a single HTTP GET request.

        Default implementation indicates an error because
        XML-RPC uses the POST method.
        """

        code = 400
        message, explain = BaseHTTPRequestHandler.responses[code]

        response = http.server.DEFAULT_ERROR_MESSAGE % \
            {
             'code' : code,
             'message' : message,
             'explain' : explain
            }
        print('Status: %d %s' % (code, message))
        print('Content-Type: text/html')
        print('Content-Length: %d' % len(response))
        print()
        sys.stdout.write(response)

    def handle_request(self, request_text = None):
        """Handle a single XML-RPC request passed through a CGI post method.

        If no XML data is given then it is read from stdin. The resulting
        XML-RPC response is printed to stdout along with the correct HTTP
        headers.
        """

        if request_text is None and \
            os.environ.get('REQUEST_METHOD', None) == 'GET':
            self.handle_get()
        else:
            # POST data is normally available through stdin
            if request_text is None:
                request_text = sys.stdin.read()

            self.handle_xmlrpc(request_text)

# -----------------------------------------------------------------------------
# Self documenting XML-RPC Server.

class ServerHTMLDoc(pydoc.HTMLDoc):
    """Class used to generate pydoc HTML document for a server"""

    def markup(self, text, escape=None, funcs={}, classes={}, methods={}):
        """Mark up some plain text, given a context of symbols to look for.
        Each context dictionary maps object names to anchor names."""
        escape = escape or self.escape
        results = []
        here = 0

        # XXX Note that this regular expression does not allow for the
        # hyperlinking of arbitrary strings being used as method
        # names. Only methods with names consisting of word characters
        # and '.'s are hyperlinked.
        pattern = re.compile(r'\b((http|ftp)://\S+[\w/]|'
                                r'RFC[- ]?(\d+)|'
                                r'PEP[- ]?(\d+)|'
                                r'(self\.)?((?:\w|\.)+))\b')
        while 1:
            match = pattern.search(text, here)
            if not match: break
            start, end = match.span()
            results.append(escape(text[here:start]))

            all, scheme, rfc, pep, selfdot, name = match.groups()
            if scheme:
                url = escape(all).replace('"', '"')
                results.append('<a href="%s">%s</a>' % (url, url))
            elif rfc:
                url = 'http://www.rfc-editor.org/rfc/rfc%d.txt' % int(rfc)
                results.append('<a href="%s">%s</a>' % (url, escape(all)))
            elif pep:
                url = 'http://www.python.org/dev/peps/pep-%04d/' % int(pep)
                results.append('<a href="%s">%s</a>' % (url, escape(all)))
            elif text[end:end+1] == '(':
                results.append(self.namelink(name, methods, funcs, classes))
            elif selfdot:
                results.append('self.<strong>%s</strong>' % name)
            else:
                results.append(self.namelink(name, classes))
            here = end
        results.append(escape(text[here:]))
        return ''.join(results)

    def docroutine(self, object, name, mod=None,
                   funcs={}, classes={}, methods={}, cl=None):
        """Produce HTML documentation for a function or method object."""

        anchor = (cl and cl.__name__ or '') + '-' + name
        note = ''

        title = '<a name="%s"><strong>%s</strong></a>' % (
            self.escape(anchor), self.escape(name))

        if inspect.ismethod(object):
            args, varargs, varkw, defaults = inspect.getargspec(object)
            # exclude the argument bound to the instance, it will be
            # confusing to the non-Python user
            argspec = inspect.formatargspec (
                    args[1:],
                    varargs,
                    varkw,
                    defaults,
                    formatvalue=self.formatvalue
                )
        elif inspect.isfunction(object):
            args, varargs, varkw, defaults = inspect.getargspec(object)
            argspec = inspect.formatargspec(
                args, varargs, varkw, defaults, formatvalue=self.formatvalue)
        else:
            argspec = '(...)'

        if isinstance(object, tuple):
            argspec = object[0] or argspec
            docstring = object[1] or ""
        else:
            docstring = pydoc.getdoc(object)

        decl = title + argspec + (note and self.grey(
               '<font face="helvetica, arial">%s</font>' % note))

        doc = self.markup(
            docstring, self.preformat, funcs, classes, methods)
        doc = doc and '<dd><tt>%s</tt></dd>' % doc
        return '<dl><dt>%s</dt>%s</dl>\n' % (decl, doc)

    def docserver(self, server_name, package_documentation, methods):
        """Produce HTML documentation for an XML-RPC server."""

        fdict = {}
        for key, value in methods.items():
            fdict[key] = '#-' + key
            fdict[value] = fdict[key]

        server_name = self.escape(server_name)
        head = '<big><big><strong>%s</strong></big></big>' % server_name
        result = self.heading(head, '#ffffff', '#7799ee')

        doc = self.markup(package_documentation, self.preformat, fdict)
        doc = doc and '<tt>%s</tt>' % doc
        result = result + '<p>%s</p>\n' % doc

        contents = []
        method_items = sorted(methods.items())
        for key, value in method_items:
            contents.append(self.docroutine(value, key, funcs=fdict))
        result = result + self.bigsection(
            'Methods', '#ffffff', '#eeaa77', ''.join(contents))

        return result

class XMLRPCDocGenerator:
    """Generates documentation for an XML-RPC server.

    This class is designed as mix-in and should not
    be constructed directly.
    """

    def __init__(self):
        # setup variables used for HTML documentation
        self.server_name = 'XML-RPC Server Documentation'
        self.server_documentation = \
            "This server exports the following methods through the XML-RPC "\
            "protocol."
        self.server_title = 'XML-RPC Server Documentation'

    def set_server_title(self, server_title):
        """Set the HTML title of the generated server documentation"""

        self.server_title = server_title

    def set_server_name(self, server_name):
        """Set the name of the generated HTML server documentation"""

        self.server_name = server_name

    def set_server_documentation(self, server_documentation):
        """Set the documentation string for the entire server."""

        self.server_documentation = server_documentation

    def generate_html_documentation(self):
        """generate_html_documentation() => html documentation for the server

        Generates HTML documentation for the server using introspection for
        installed functions and instances that do not implement the
        _dispatch method. Alternatively, instances can choose to implement
        the _get_method_argstring(method_name) method to provide the
        argument string used in the documentation and the
        _methodHelp(method_name) method to provide the help text used
        in the documentation."""

        methods = {}

        for method_name in self.system_listMethods():
            if method_name in self.funcs:
                method = self.funcs[method_name]
            elif self.instance is not None:
                method_info = [None, None] # argspec, documentation
                if hasattr(self.instance, '_get_method_argstring'):
                    method_info[0] = self.instance._get_method_argstring(method_name)
                if hasattr(self.instance, '_methodHelp'):
                    method_info[1] = self.instance._methodHelp(method_name)

                method_info = tuple(method_info)
                if method_info != (None, None):
                    method = method_info
                elif not hasattr(self.instance, '_dispatch'):
                    try:
                        method = resolve_dotted_attribute(
                                    self.instance,
                                    method_name
                                    )
                    except AttributeError:
                        method = method_info
                else:
                    method = method_info
            else:
                assert 0, "Could not find method in self.functions and no "\
                          "instance installed"

            methods[method_name] = method

        documenter = ServerHTMLDoc()
        documentation = documenter.docserver(
                                self.server_name,
                                self.server_documentation,
                                methods
                            )

        return documenter.page(self.server_title, documentation)

class DocXMLRPCRequestHandler(SimpleXMLRPCRequestHandler):
    """XML-RPC and documentation request handler class.

    Handles all HTTP POST requests and attempts to decode them as
    XML-RPC requests.

    Handles all HTTP GET requests and interprets them as requests
    for documentation.
    """

    def do_GET(self):
        """Handles the HTTP GET request.

        Interpret all HTTP GET requests as requests for server
        documentation.
        """
        # Check that the path is legal
        if not self.is_rpc_path_valid():
            self.report_404()
            return

        response = self.server.generate_html_documentation()
        self.send_response(200)
        self.send_header("Content-type", "text/html")
        self.send_header("Content-length", str(len(response)))
        self.end_headers()
        self.wfile.write(response.encode())

        # shut down the connection
        self.wfile.flush()
        self.connection.shutdown(1)

class DocXMLRPCServer(  SimpleXMLRPCServer,
                        XMLRPCDocGenerator):
    """XML-RPC and HTML documentation server.

    Adds the ability to serve server documentation to the capabilities
    of SimpleXMLRPCServer.
    """

    def __init__(self, addr, requestHandler=DocXMLRPCRequestHandler,
                 logRequests=1, allow_none=False, encoding=None,
                 bind_and_activate=True):
        SimpleXMLRPCServer.__init__(self, addr, requestHandler, logRequests,
                                    allow_none, encoding, bind_and_activate)
        XMLRPCDocGenerator.__init__(self)

class DocCGIXMLRPCRequestHandler(   CGIXMLRPCRequestHandler,
                                    XMLRPCDocGenerator):
    """Handler for XML-RPC data and documentation requests passed through
    CGI"""

    def handle_get(self):
        """Handles the HTTP GET request.

        Interpret all HTTP GET requests as requests for server
        documentation.
        """

        response = self.generate_html_documentation()

        print('Content-Type: text/html')
        print('Content-Length: %d' % len(response))
        print()
        sys.stdout.write(response)

    def __init__(self):
        CGIXMLRPCRequestHandler.__init__(self)
        XMLRPCDocGenerator.__init__(self)

if __name__ == '__main__':
    print('Running XML-RPC server on port 8000')
    server = SimpleXMLRPCServer(("localhost", 8000))
    server.register_function(pow)
    server.register_function(lambda x,y: x+y, 'add')
    server.serve_forever()


Numerology is the branch of knowledge that studies the occult significance of numbers. Numbers play an important role in a person's life as creation itself, can be explained in mathematical terms. When you make a conscious effort to look around you, you will notice that numbers appear everywhere around you; be it nature, music, art, architecture etc. Everything is based on numbers as codes for you to discover.
There are ten most important figure in math, of which all the larger numbers are made. Numerology is based on these magical figure. The single digit are the building blocks of numerology and each number gives out its own particular energy in a magical way. The numerology bridges our spiritual world with the visible, touchable world.
Numerology can be applied to understand all aspects of our individual existence; right from our personality to our love life, career or business, health, family life, relationships, to our spirituality and even leisurely activities.
Of all the numerology, our 'Life Path Number' and our 'Destiny Number', are the most important. Your Life Path number will give you an indication of your life's purpose and warn you about the challenges and obstacles that may come your way. Your destiny number symbolises the opportunities you have at your disposal. While the life path number is calculated using the date, month and year of your birth, the destiny figure is calculated using the numbers assigned to the letters of your full name.
Another numerology number, the 'Soul Number', reveals about what you want to be and do in your life. This is calculated by adding the numbers of the vowels in your name. Some numerologists total the life path number and the destiny number, to arrive at another important number called the 'Maturity Number'.
For a native to have a successful life, these four numerology should match and be in harmony with each other. Since you cannot control your life path number, the destiny number can be adjusted to the life path number and thus the soul number and maturity number can get adjusted to achieve the correct harmony. It is not that one number is better than the other. Each number has a personality of its own and has its strong points and its weaknesses. But when these figure are in harmony with each other, life moves smoothly for the native.
Numerology can be used for guidance in almost every sphere of life. For example, it can be used to check compatibility between two people. Numerologists can help see if the numerology number of the two people in a relationship complement each other or not, if they can help each other understand themselves better.
Similarly, numerology can help one decide which days are better to sign contracts, make new investments, start a new project and even determine if the people you hire will relate well with you or not.
You can use numerology to see which number plate on your vehicle can bring you luck and so on.
Astroyogi offers you free predictions based on astrology, numerology and tarot reading. Download the best numerology app available on google play store now.


Ivestors, Families... Welcome to Arbour Court located in Central Abbotsford. This deluxe corner unit is bright and spacious offering 2 bdrms and 2 baths with over 1100 sqft of living space. Arbour Court offers many amenities including a guest suite, library, workshop, courtyard and recreation room. Rare find allowing rentals, all ages and a small pet. Enjoy the central location and walk to shops, parks, transit and schools (next to Columbia Bible College). Hurry on this one, its a beautiful unit with a view of the courtyard, it won't last long!


text:
Isai Scheinberg Lenient Sentence
Isai Scheinberg Issued Lenient Sentence for Black Friday Crimes
Mon, Sep 28, 2020 | 7:38 pm by James Guill
Last Updated Wed, Dec 16, 2020 | 5:13 am
The online poker landscape changed on April 15, 2011, when the US Department of Justice indicted PokerStars, Full Tilt Poker, and Absolute Poker. Since that time, we've seen the demise of Full Tilt and Absolute Poker and saw some of the industry's biggest names destroyed due to their involvement in the Black Friday saga.
On Wednesday, that saga officially came to a close with the sentencing of PokerStars found Isai Scheinberg. Scheinberg had been at large since 2011 and just recently returned to the United States to face charges. Ultimately, the good works of PokerStars led to him receiving the minimum sentence possible.
Isai Scheinberg Fined 30k and Sentenced to Time Served
As the founder of the World's Largest Poker Site, Isai Scheinberg was one of the top defendants for Black Friday. The PokerStars founder has stayed away from the United States since 2011 and only recently returned due to an extradition order. Scheinberg was taken into custody in Switzerland and then agreed to return to the United States.
I got a $150 ticket for jaywalking in West Hollywood once, and I hadn't even jaywalked.
I wish I had Isai Scheinberg's lawyers. #SometimesCrimePays
— Norman Chad (@NormanChad) September 23, 2020
Back in March, after extensive negotiations between Scheinberg's lawyer and the government, Scheinberg entered a guilty plea for a single charge of operating an illegal gambling site. That charge carried a sentence of up to 24 months in prison and hefty fines.
However, neither of those things happened. Instead, Federal Judge Lewis A. Kaplan surprised everyone with a sentence of time served and a micro-fine of just $30,000. We say micro-fine because of the amount of money that Scheinberg is worth and the amount of money that PokerStars has raked in over the years.
According to Judge Kaplan, "I don't condone what you did, but the world is made of fallible people. It was a big mistake but should not ruin what remains of your life."
Why Was the Court So Lenient?
If you had told us back in 2011, or even as recent as last year, that the courts would issue a lenient sentence, we would have laughed. However, it appears that the government used a little common sense in the matter. Here is what Acting US Attorney Audrey Strauss said regarding sentencing,
"On balance, however, the Government believes that the mitigating factors in this case—particularly the defendant's low likelihood of recidivism, the fact that PokerStars properly segregated player funds, the need to avoid unwarranted sentencing disparities, and the defendant's good deeds—warrant a sentence below the Stipulated Guidelines Range."
End Of The Cause Black Friday
PokerStars founder Isai Scheinberg was sentenced to time served for his crimes related to illegal gambling and to pay a fine of $ 30,000. Together with his son Mark, he sold the company in 2014 for $ 4.9 billion. pic.twitter.com/AEnQHu7V1v
— DINGNews (@DINGNews) September 27, 2020
It is well known that PokerStars immediately repaid all players after the Black Friday indictments. Most players received their money in two weeks. Later, the company purchased Full Tilt Poker and then repaid those players as well. Full Tilt stole approximately $400 million in deposits from players leading up to Black Friday.
Later, after funds were distributed to Full Tilt players, PokerStars repaid Absolute Poker and UB players their funds lost after the company filed for bankruptcy.
Black Friday Officially Concluded
For better or worse, all of the matters surrounding Black Friday have been concluded. All defendants have pled guilty, and settlements with PokerStars have been reached and paid out. Full Tilt is now part of the Stars Group, and Absolute Poker is now defunct.
Since that time, several US states now offer legal online poker, and there is an interstate network between New Jersey, Delaware, and Nevada. Pennsylvania also offers intrastate online poker. Soon, West Virginia and Michigan will join the ranks of legal states offering legal online casinos and online poker.
Outside of those states, online poker remains either illegal or in a gray area. The DOJ can still opt to prosecute offshore online poker sites but has yet to do so in recent years. Does that mean another Black Friday is on the horizon for sites like Americas Cardroom and Ignition Poker? Only time will tell.
James Guill
James Guill is a veteran of the gambling industry with over a decade of experience. Starting as a semi-professional poker player, he transitioned into the media. He's worked for many top companies in the past, including Ongame, bwin, and 888. Originally specializing in poker, he now brings a wealth of knowledge and experience covering the spectrum of online casino gambling. James brings the latest news and casino market information, including an ongoing Game of the Week feature highlighting the latest and greatest online slots and casino games.

redpajama_set_name: RedPajamaCommonCrawl


text:
ShootColor
==========

game using cocos2d

redpajama_set_name: RedPajamaGithub


His driving gave his mother one tense moment. "We were parked facing a store and Elvis mistook forward for reverse and dropped the clutch. The car shot right up onto the curb and I thought we were going to go through the store window. But Elvis kept his head and stopped me just in time".
He gained his next driving experience after the family moved to Memphis, and went back to Tupelo for visits. Vernon recalled, "The accelerator of that old Pontiac we had was so stiff my foot would get tired, so Elvis would sit in the middle and feed the gas while I steered." "Elvis was almost seventeen when he went for his driver's license," his mother continued. "He borrowed my brother Travis Smith's car – that was newer – to take the test and he had no trouble." His father added, "After that there was no keeping him away from the wheel. I remember once when we were living in Lauderdale Court. It was a hot night and everyone was outside.
His first date was without benefit of a car. "He was 14 years-old, I guess, and usually he came home from school about three o'clock. But this day he never showed up. I was that worried I was crying by the time his father got home." "I went looking for him," says his father.
"I asked around until I learned he's walked Bonnie Jean Davis home from school. That's where I found him, just fixing to sit down to have supper with the Davis family. It wouldn't have looked good to break that up, so I went home and told Gladys to quit crying – he was all right. He was a senior when he participated in the Road E O and had his picture taken changing a tyre. When he came home, he told us that he had lost the race because of his sideburns. He was disappointed; cause he just didn't like to lose at anything.
Former manager, Bob Neil recalled at the time, "With him playing shows in all sorts of different places, good transportation was a necessity, so I helped him arrange finance. Nothing but a Cadillac would suit Elvis, so we located a good used one. The first night he had it he was so happy he sat up all night at a hotel-room window, just looking at it." That car, unfortunately, brought Elvis two near death disasters.
In early March, 1955 Elvis had bought his first Cadillac. It was a pink and white 1954 Cadillac and provided transportation for Elvis and the Blue Moon Boys for about three months. The car went up in smoke when a brake lining caught fire, on the road between Hope and Texarkana, Ark. in June, 1955. Note the roof racks in the pictures below, they were used to carry the Blue Moon Boys equipment.
A Mercedes-Benz, once owned by Elvis Presley, was sold by Bonham's on Dec. 7, 2010, at Surrey, England, for £80,700 – US$187,390. Restored to a very high standard, the rare piece of Elvis Presley history attracted a great deal of interest internationally. It ultimately sold to a bidder in Germany.


text:
Home » News & Features » Off-Broadway News & Features » Performers announced for ACLU and NYCLU's Sing Out for Freedom livestream Concert
Performers announced for ACLU and NYCLU's Sing Out for Freedom livestream Concert
Those taking part in the November 2 concert include André de Shields and Heidi Schreck.
Sophie Thomas
Ahead of next week's Sing Out For Freedom concert organized by the American Civil Liberties Union (ACLU) and the New York Civil Liberties Union (NYCLU), names of those taking part in the broadcast have been announced. The livestreamed concert will take place on November 2, with tickets available now.
The broadcast will include Tony Award winner André De Shields, currently starring in Hadestown. What the Constitution Means to Me's Heidi Schreck and Thursday Williams will also speak, alongside Adrienne Warren, recently nominated for a Tony for her performance in Tina the Musical.
The line-up is completed by Katrina Lenk, Celia Keenan-Bolger, Phillipa Soo, Brandon Victor Dixon, Daniel J. Watts, Ephraim Sykes, Keala Settle, Eisa Davis,Aneesh Sheth, Amber Iman, Jo Lampert, George Salazar, Rebecca Naomi Jones, Jelani Alladin, Mykal Kilgore, Treshelle Edmond, Raymond Lee, Larry Owens, Shaina Taub, Sasha Allen, Ty Defoe, L Morgan Lee, Jomama Jones, Gaelynn Lea, Mary Kathryn Nagle, Liana Stampur, Rachel Brosnahan and Kelly McCreary. They'll be backed up by Broadway Inspirational Voices, a choir dedicated to improving lives through music and service.
They'll join the previously announced Lea DeLaria, who will host the concert. Direction by is Liesl Tommy, with music direction by Jason Michael Webb.
Usually called "Stand Up For Freedom", the annual concert celebrates those who are continuing the fight to defend their liberties. For its 18th year, the concert title has changed to "Sing Out For Freedom", with the event champions the democratic right to vote. More information can be found here.
Sing For Our Freedom is available to watch on November 2, with tickets available now.
Photo credit: André De Shields and Heidi Schreck (Photos courtesy of IBDB)


This Quiz & Test key accompanies the sold-separately Workbook VI for Handbook of Grammar & Composition Tests/Quizzes, and contains a copy of the quiz book with answers and suggested point values. Grade 12.
I'm the author/artist and I want to review Abeka Workbook VI for Handbook of Grammar & Composition Quiz/Test Key.


This page shows business listings of all kinds in Cambridge beginning with the letter T. You can also view listings by type of business or by area of Cambridge.
Cleaning Services - Commercial (Business at Home) in Whitehill Road, Cambridge.
Gardening Services (Office & Administration) in Queens Close, Harston.
Double Glazing Installers (Business at Home) in Ekin Road, Cambridge.
Tour Operators (Office & Administration) in St. Neots Road, Hardwick.
Sheet Metal Work (Head Office) in High Street, Toft.
Architects (Head Office) in Newnham Road, Cambridge.
Public Relations Consultants (Business at Home) in Rampton Road, Cottenham.
Farming - Crops (Factories & Manufacturing) in Bartlow Road, Linton.
Grain Merchants (Head Office) in The Woodlands, Linton.
Builders (Office & Administration) in Common Lane, Sawston.
Commercial Vehicle Servicing, Repairs, Parts & Accessories (Workshop & Repair Centres) in Ely Road, Waterbeach.
Accountants (Business at Home) in North Street, Burwell.
Builders (Business at Home) in Fendon Road, Cambridge.
Painters & Decorators (Business at Home) in Gwydir Street, Cambridge.
Farming - Livestock & Other Animals (Factories & Manufacturing) in Oakington Road, Oakington.
Dentists (Hospitals & Medical Establishments) in Burnside, Cambridge.
Painters & Decorators (Business at Home) in Old House Road, Balsham.


text:
California Prepares For Challenging Census Count
Ben Bradford
Tuesday, April 24, 2018 | Sacramento, CA | Permalink
This March 23, 2018 photo shows an envelope containing a 2018 census test letter mailed to a resident in Providence, R.I.
Michelle R. Smith / AP Photo
California officials are trying to prevent a possible undercount of the state's population in the next census. They worry that fear in immigrant communities will depress response rates, which could cost California federal funding and Congressional representation.
Census staff have already found an increasing worry among immigrant populations about answering their questions, as the Trump campaign and administration have made a priority of cracking down on immigrants in the country without legal documentation.
Meanwhile, Democratic lawmakers have publicly opposed those efforts, including through passage of a measure that extends sanctuary city protections throughout the state.
"A colleague said to me, 'Look for the last year and a half, I've been telling my constituents that if the federal government shows up at your door, don't answer,'" Berman said. "'And now we're going to be telling our constituents, when the federal government shows up at your door, don't answer—unless it's the Census.'"
The census count directly determines how many members of Congress the state will have and how much funding California receives for federal programs such as Medicaid. Gov. Jerry Brown has proposed $40 million in state money for Census outreach. Berman called that the most funding ever dedicated to state outreach and also not enough.
Berman spoke Tuesday at a panel hosted by the Public Policy Institute of California. Also on the panel, former Census Bureau director John Thompson said undocumented immigrants and their families should not be concerned about answering Census information.
"The Census Bureau will not, and I repeat will not, tabulate any data, produce any publications that will allow any individual to be identified," said Thompson, an Obama-appointee who retired as director last year. "So, they won't do that. I would be comfortable in telling someone it would be safe to fill out the Census questionnaire. And you can tell your constituents that."
California is also suing the Trump administration over the planned inclusion of a new question about citizenship.
CapRadio provides a trusted source of news because of you. As a nonprofit organization, donations from people like you sustain the journalism that allows us to discover stories that are important to our audience. If you believe in what we do and support our mission, please donate today.
We're less than a year from the 2020 Census. The count takes place every 10 years. This time, it's going online. Plus, there are court challenges to a citizenship question and concerns about how people affected by natural disasters will be counted.
Former State Government Reporter
As the State Government Reporter, Ben covered California politics, policy and the interaction between the two. He previously reported on local and state politics, business, energy, and environment for WFAE in Charlotte, North Carolina. Read Full Bio
@JBenBradford Email Ben Bradford
House Impeachment Managers Deliver Articles To The Senate
Sacramento MLK Marchers Call For Unity, Collaboration And Change
Could Sacramento Flood Like New Orleans? It's Possible, But Water Managers Are Trying To Make It Less Likely.
Folsom Dam Is Getting Taller In Effort To Lower Flood Risk In Sacramento
California Wants To Increase Vaping Taxes, But Experts Say There Could Be Unintended Consequences
Myth Busted: Turns Out Bankruptcy Can Wipe Out Student Loan Debt After All
What You Need To Know About California's New Domestic Partnership Law


The Winter Courses focus on International Law (both public and private) and take place over a period of 3 weeks. The Winter Courses follow the traditional structure of the Summer Courses and are comprised of a General Course and a series of Special Courses. The General Course is spread over the entire 3 weeks (15 hours).
The second Winter Courses session will be held from 6 to 24 January 2020. Applications start May 1st, 2019.
This course highlights developments within the field of international law, and provides attendees with the opportunity to take a step backwards and, through an overall view and a comprehensive reflection, grasp the main lines of the discipline around which legal thinking is structured.
These courses, consisting of 5 hours total spread out over one week, deal with a particular question or topic, and are given by professors who have studied the subject extensively and are specialists in the field.
All professors give seminars related to the subject of their course. During these interactive meetings, attendees have an opportunity to ask questions, to obtain additional information on the course, and to participate in discussions.
The Directed Studies are conducted under the guidance of a professor. They are specifically designed for high-level students, who wish to prepare themselves for the Diploma examination of the Academy, or who are simply interested to participate in seminars delving more deeply into questions of public or private international law without sitting for the examination. The latter consists of a five-hour written test on a subject that has both theoretical and practical aspects. Candidates who pass this first part of the examination then have to take an oral examination.
At the end of the session, attendees who regularly attended the courses will receive a certificate of attendance.
In addition to the courses, seminars, and Directed Studies that constitute the core of the programme, the Academy organizes several other activities for its attendees. The purpose of these is, first and foremost, to supplement their knowledge of international law with practical and concrete insights, giving them a better grasp of its effects and scope. Secondly, they help each attendee to establish a network among the hundred different nationalities present. Both of these elements have proven successful in making their stay at the Academy one which they will long remember.
1. The Academy organizes at its premises lectures on the International Court of Justice, the Permanent Court of Arbitration, the various international criminal courts and tribunals and other international legal organizations based in The Hague. The lectures are given by members of these institutions and are followed by question-and-answer sessions.
2. The Academy also organizes visits to these institutions, allowing students to discover their premises and to understand how they function in practice, inter alia by attending hearings.
3. When the International Court of Justice hands down a judgment during the session, arrangements are made to allow the students to follow this event in real time in the most appropriate way.
4. At the request of the Academy, many ambassadors based in The Hague agree to receive groups of attendees to explain to them what the role and activities of an embassy are and to give them direct insight into the diplomatic profession, and the concrete role that diplomacy plays in the conduct of international relations.
5. Doctoral students from different countries who are working on identical or related topics are given the opportunity to regularly meet throughout the session, under the guidance of a lecturer or practitioner who is specifically assigned for this purpose. These doctoral networking meetings allow students to share their views, insights and different approaches with respect to issues relating to their research topics, leading to reciprocal exchanges that can of course be continued after their stay at the Academy.
6. Sales of legal publications are held each course week in the Academy's entrance hall. These comprise books from different legal publishers as well as the Collected Courses of the Academy, offered at a special discounted price, and its Pocketbooks series.
- The "Hours of Crisis" simulation exercise: selected attendees will be invited to participate, on Saturday, January 11th, 2020, in the "Hours of Crisis" simulation exercise. During 8 hours, eight teams of attendees will be confronted with the simulation of a major international crisis and the legal and political questions that it generates, which they will have to answer on behalf of their "clients" (States, international organizations, companies). They will have to produce legal advice and participate in crisis negotiations. During a final meeting before a jury, they will have to share their analyzes and arguments. The jury will determine the best team and the best speakers. Hours of Crisis is a version of the "Day of Crisis" that was specifically created for the Academy (see for example, for the "Day of Crisis 2017" https://www.kcl.ac.uk/law/newsevents/day-of-crisis/index.aspx and more generally https://sites.google.com/view/dayofcrisis/accueil).
Finally, a variety of social events including welcome drinks and a dance party will be offered to the attendees to make the experience at the Academy complete. For information on activities in and around the City of The Hague in Winter time please see https://denhaag.com/en/winter.
FAQ: What document is issued by the Academy at the end of the courses?


text:
Natural catastrophe
In Brazil, forest area is decreasing.
by space · November 25, 2018
The Amazon jungle is becoming thinner. From August 2017 to July 2018, the region lost the largest number of trees in ten years – 7.9 thousand square kilometers of forest disappeared. It is reported by the BBC, referring to the government of Brazil.
According to statistics, most of the forest was lost in the states of Mato Grosso and Para. The reasons include illegal logging organized by criminal groups. The increase in forest losses over the past year was 13.7%.
However, it should be noted that since 2004, when the federal government began to actively struggle with reducing the area of the Amazonian forest, losses even in this record bad year decreased by 72% (about 27 thousand square kilometers of forest were destroyed then).
It is also worth noting that activists and organizations fighting for the preservation of forests are worried that the new president of Brazil, Zhair Bolsaru, declared that he would rank all land rights activists as terrorists and build a highway through Amazonia, which could lead to deforestation that is larger than the territory Germany.
Next story Announced the launch date of the "exoplanet hunter" Cheops
Previous story NASA expects "seven minutes of horror" on Monday
Indonesia earthquake destroys hospital
In 2020, the Earth was rotating faster than usual
Gorillas first diagnosed with coronavirus
Frosty scenes of the Martian summer shown in a new picture
Histori / Science
Scientists have figured out how our ancestors survived in a changing climate
Landslides caused by heavy rains kill at least 11 people in West Java, Indonesia
Over 50,000 households affected by flooding in southern Thailand
The atmosphere on Mars disappeared due to the solar wind
Scientists believe that there may be life on the moons of Uranus
kohner says:
dam thats big
CC Low says:
There must be a reason for the Sphinx to be built.
Mike M. says:
Headline: "Catastrophe on Earth recognized as irreversible"Article text: "...and after a certain point, the catastrophic increase will become irreversible, the researchers...
nope says:
hi i think this is %100 percent fake if there were...
the god of highschool says:
aliens Anomalies archaeology Archeology artificial intelligence black hole black holes brain Cassini Ceres china climate Crash Crop circles earthquake ecology fires flood floods galaxy Global warming Histori Hubble Hypothesis ISS Jupiter mars moon nasa Natural catastrophe ocean Pluto robots Saturn Science snow space stars Sun Supernatural technology Tornado ufo volcano water
Earth Chronicles News © 2021. All Rights Reserved.
E-mail: earthchronics@gmail.com


text:
Hyde Park, News Etc., University of Chicago
Picturing the transit Doomsday
by Helenmary Sheridan • February 11, 2010
The Chicago Transit Authority's long-rumored Doomsday has finally come. Starting on February 8, bus routes and trains across the city saw steep reductions in service, corresponding with the layoffs of over one thousand CTA employees. Though some cuts may be overturned quickly thanks to renewed talks between agency officials and transit unions, the city's $95-million shortfall won't be easily patched over. With some changes likely to remain permanent, however, there's not yet a clear picture of how Chicago's transportation system will really be affected.
A new project from University of Chicago graduates Max Shron and Luke Joyner aims to create just such a picture. Their "heat maps" of the service changes are now online at their website Picturing Transit (picturingtransit.com). Two maps chart the mean travel time differences by neighborhood, comparing averages taken from the CTA website from before and after the service changes; the first map displays the changes that affect the morning commute to the Loop, while the second displays how the reverse commute in the early morning has changed. A second pair of maps presents the same data arranged block-by-block. "Everyone was talking about these cuts as these huge, deep cuts," Joyner says. "It's surprising that the effect to the morning commute is basically negligible…In some places it's even gotten better." The neighborhoods around the end of the Red Line at 95th and the Dan Ryan are especially well-served by the service changes.
Shron and Joyner also created maps of transit time independent of service changes, showing which blocks have the longest and shortest morning commutes to the Loop. Unsurprisingly, blocks next to the El stand out in a bright star pattern against the darker surrounding areas, representing a commute that is on average 15 minutes to a full hour shorter than their neighbors'. A bar graph below the map reveals that the majority of commutes take between 45 and 75 minutes.
The maps are in flux just as much as the state of the service cuts. The block-by-block maps show that late-night travel times are getting better on the South Side, but "I don't think that anything's getting better anywhere at night," Joyner says. He attributes the error to a bug in the CTA trip planner. Overall, though, Joyner trusts their results. "You can look at the map and read how the city is actually built."
Tags: CTA Luke Joyner Max Shron Picturing Transit
← The Turnaround: The Academy for Urban School Leadership is transforming Chicago's worst public schools
Street-level art →


text:
Confidence Booster Blog
What kind of entertainer do YOU want to be?
| Return|
Let's start with the most obvious question, what is an entertainer?
Entertainer: (noun) a person, such as singer, dancer, or comedian, whose job is to entertain others.
To come to some sort of understanding of what sort of entertainer you want to be, you need to ask yourself a few more questions:
How do you want to leave your audiences feeling and thinking?
What is the most important message YOU want to leave with your audience
Is there a difference between an entertainer and a social justice entertainer?
Should you use your voice to promote (your version of) social justice or stick to entertainment?
There are a lot more questions you could ask yourself but these will definitely get you started. We as artists have responsibility to ourselves first, and then the world. If we are not careful we will allow our gift to be tainted by our own fears and or public opinion. We MUST be vigilant in understanding that as artists we cannot just react to what we see, but respond in a way that (in my opinion) brings hope. If the truth is ugly, make sure you suggest some sort of a solution, don't leave us hanging…
Louis Armstrong knew that when he refused to straighten his hair during a time when most African Americans were doing so, this refusal could cost him, but it did not. He was very successful and focused on his music. He wrote letters of protest to congress and verbalized his disgust with political decisions that were being made about segregation.
He only played in places that he could stay in as during the 50s blacks could not stay in the fancy hotels they performed in. With his music he brought blacks, whites, rich and poor people together and this was his way of doing his part during the civil rights movement. Although he was criticized for not doing enough, Louis Armstrong let his performances, the actual playing and singing of the music, be the barrier breaking tool.
Then you have someone like Eartha Kitt who has an amazing career and then says something about how she does not agree about the Vietnam war at a party and her career tanks for a few years. Then she has a big come back later on in her career and went on to be an iconic figure.
Gordon Lightfoot who writes 'Black Day in July' about the 1967 Detroit riots and his song is pulled during the assassination of Martin Luther King jr. from radio stations all across America because it was seen as "fanning the flame" when it was actually written as a cry for racial harmony.
Or the Dixie Chicks expressing themselves about how they felt about a president and their career takes a nose dive. But after 14 years changed their name and release a new album and are doing just fine now!
Then you have Harry Belafonte who is a singer, songwriter, activist, and actor. He was a supporter of the civil rights movement and was very close to Martin Luther King Jr. Was part of the Anti -Apartheid Movement, USA for Africa, has been the ambassador for UNICEF Goodwill and the American Civil Liberties Union for juvenile justice issues. Some entertainers are all about social justice.
As artist are we allowed to use our voice the way we choose to?
Are we able to feel deeply and share how we feel in the lyrics of a song, melody and harmony of the music we prepare and perform? Are we allowed to express ourselves freely knowing that our creativity flows through ALL of our preconceived notions about ourselves and the world? Through all our beliefs and perceptions, and through our points of view and our sense of being. Is it possible as an artist to share your craft without your creativity not being touched by your soul (where the fullness of who you are resides)?
As an artist I must be true to my inner being that governs me to express
myself in only the way that I can. For all of those courageous
artists out there, whatever your thing is, DO IT!
Be the entertainer YOU are.
Keep on singing,
Roxanne Goodman
The Confidence Booster
Chocolate Pudding Anyone?
There is a lesson to be learned about performance through one of my favourite desserts, chocolate pu...
SINGERS, take care of your instrument, it's the only one you've got!
People are usually focused on the method that they must learn and develop if they are going to ...
You've Got WINGS!
My vocal and performance students know that they can have the confidence to stand in front of an aud...
Focus your energy on your message!
When you wake up in the morning do you start thinking about all the things you were worried about ...
Love Yourself!
When I was a little girl I was always afraid. I could not let myself be, say and do what I really t...
There are those in this world who do not have a voice due to injuries or birth defects and they wish...
Copyright 2022 by Confidence Booster Inc. | Privacy Statement | Terms Of Use


text:
<!DOCTYPE html>

    <title>Expansion Structure Reference</title>
    <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
    <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
    <meta charset='utf-8'>

 Docs

View on GitHub

         Reference

        Expansion Structure Reference

            Classes

                Discovery

            Enumerations

                JSON

                QueryAggregation

                RestError

            Structures

                AggregationResult

                Calculation

                Collection

                – Status

                CollectionDiskUsage

                CollectionUsage

                Configuration

                Conversions

                CreateCollectionRequest

                – Language

                DeleteCollectionResponse

                – Status

                DeleteConfigurationResponse

                – Status

                DeleteDocumentResponse

                – Status

                DeleteEnvironmentResponse

                – Status

                DiskUsage

                DocumentAccepted

                – Status

                DocumentCounts

                DocumentSnapshot

                – Step

                DocumentStatus

                – Status

                – FileType

                Enrichment

                EnrichmentOptions

                Environment

                – Status

                EnvironmentDocuments

                Expansion

                Expansions

                Field

                – FieldType

                Filter

                FontSetting

                GenericQueryAggregation

                Histogram

                HtmlSettings

                IndexCapacity

                JSONWrapper

                ListCollectionFieldsResponse

                ListCollectionsResponse

                ListConfigurationsResponse

                ListEnvironmentsResponse

                MemoryUsage

                Nested

                NluEnrichmentCategories

                NluEnrichmentEmotion

                NluEnrichmentEntities

                NluEnrichmentFeatures

                NluEnrichmentKeywords

                NluEnrichmentRelations

                NluEnrichmentSemanticRoles

                NluEnrichmentSentiment

                NormalizationOperation

                – Operation

                Notice

                – Severity

                PdfHeadingDetection

                PdfSettings

                QueryEntities

                QueryEntitiesContext

                QueryEntitiesEntity

                QueryEntitiesResponse

                QueryEntitiesResponseItem

                QueryEvidence

                QueryEvidenceEntity

                QueryFilterType

                QueryNoticesResponse

                QueryNoticesResult

                – FileType

                QueryPassages

                QueryRelations

                – Sort

                QueryRelationsArgument

                QueryRelationsEntity

                QueryRelationsFilter

                QueryRelationsRelationship

                QueryRelationsResponse

                QueryResponse

                QueryResult

                QueryResultMetadata

                SegmentSettings

                Term

                TestDocument

                Timeslice

                TopHits

                TopHitsResults

                TrainingDataSet

                TrainingExample

                TrainingExampleList

                TrainingQuery

                TrainingStatus

                WordHeadingDetection

                WordSettings

                WordStyle

                XPathPatterns

Expansion

public struct Expansion : Codable

An expansion definition. Each object respresents one set of expandable strings. For example, you could have expansions for the word hot in one object, and expansions for the word cold in another.

                    inputTerms

A list of terms that will be expanded for this expansion. If specified, only the items in this list are expanded.

Declaration

Swift

public var inputTerms: [String]?

                    expandedTerms

A list of terms that this expansion will be expanded to. If specified without input_terms, it also functions as the input term list.

Declaration

Swift

public var expandedTerms: [String]

                    init(expandedTerms:inputTerms:)

Initialize a Expansion with member variables.

Declaration

Swift

public init(expandedTerms: [String], inputTerms: [String]? = nil)

Parameters

                                expandedTerms

A list of terms that this expansion will be expanded to. If specified without input_terms, it also functions as the input term list.

                                inputTerms

A list of terms that will be expanded for this expansion. If specified, only the items in this list are expanded.

Return Value

An initialized Expansion.

© 2018 . All rights reserved. (Last updated: 2018-05-18)

Generated by jazzy ♪♫ v0.9.3, a Realm project.


It was a golden moment at West Jordan High School when West Jordan residents Sherri and Bill Park celebrated their 50th wedding anniversary with a donation to help 50 students pay for their school lunch.
Sherri called the cafeteria at West Jordan High School to ask if there were a few students they could help. She was told there were a few hundred students behind on their lunch balances.
Sherri told the lunch clerk that they wanted to donate $1,000.
"She said, 'Well, that's nice'—then we both started to cry," said Sherri.
When WJHS Principal Jim Birch heard about the offer, he was touched as well.
"I was shocked that on their day, their 50th wedding anniversary, that they would think of us," he said.
With nearly 50 percent of the student body on the free and reduced lunch program and about 50 homeless students, the donation was appreciated.
The Parks chose to donate to WJHS because it is where their youngest son attended (30 years ago) but mainly because it is their neighborhood school.
"These kids probably live near us," said Sherri, who feels strongly about supporting local schools. She said there were not any programs like the Principal's Pantry when she was a teacher in the 90s. At that time, she would just ask the lunch workers for an extra roll when she had a hungry student.
Birch took the Parks on a tour of the school's Principal Pantry, showing them the canned meats, cereal, pudding packs and boxes of mac-n-cheese that go home with students in need each day.
Sherri was surprised at the number of students being served by the pantry.
The Parks didn't expect any attention from the press — they didn't even tell their family about their gift.
"For us, it's just symbolic of 50 good years," said Sherri.


The overall experience was wonderful. The food was excellent, but I prefer having more than two flavors of tea from which to choose.
Joyce,<BR> Thank you so much for your comments. Apparently you were here on a very busy day. When we are extremely busy we offer 2 different teas, however we have over 75 other teas available. On days where we have less than 30 people at one time we do let the parties pick their own teas. Hopefully you will return an please request the tea list even on a busy day. My staff is always willing to accommodate. Thanks again.


text:
One of the few remaining acid heathlands in Hertfordshire, this 60 acre site, bordering the river Colne, provides a haven for wildlife and a place for quiet relaxation for local people. Under the care of the Parish Council, since being acquired piecemeal in the 1950s and '60s, it is classed as a Hertfordshire Heritage site. It is managed to maintain the acid grassland, encouraging plants such as heather, as well as to retain the diversity of species in and around the grade 1 stretch of river.
In such a populated area, it is difficult to balance the requirements of people and nature with conflicting demands for more car parking and routes for gas and water services – examples of pressure in recent years. However, it remains a remarkable site and some views enable the visitor to imagine the much larger Common once owned by the Abbot of St Albans Abbey. In the area known as The Warren it is thought that soldiers perished there after fleeing the Battle of Barnet in 1471. Sir Thomas Pope acquired the land in 1547 but, as well as sustaining local people with Common rights to graze, it was considered a lawless place renowned for prize fighting, cock fighting, card gamblers and Highwaymen, particularly during the mid-18th and 19th centuries. Historic white coal posts mark the 1861 boundary of the Metropolitan Police; hence this was a convenient place to avoid their officers, should they wish to speak to you about your activities. In the early 20th century it was a home for many gypsy families.
Over the years, enclosure of land, such as Frederick Wood, and losses, such as the mill in 1862, for roads and housing, have left a much diminished area. The Warren was used by the 'land army' to grow food during World War 2 and in recent years was a home pitch for the former Queen's Head pub football team.
The Parish Council have a management plan involving zoned mowing to maintain the biodiversity of the site. In 1992 some 122 plant species were recorded on the Common and 18 classed as scarce or locally distributed. The springs and normally trickling river are an important part of the ecology and locals are aware of the amazing transformation in flood when the upstream swallow holes are full and spill huge volumes of water that can completely cover the common. Invasion of scrub is currently a particular concern; this is cleared regularly at considerable expense. The Council explored the option of grazing by cattle and sheep but resistance from some groups in the district have hindered any actions which offered the possibility of an effective and sustainable means of management.
Visitors are welcome to enjoy the Common. Please respect the needs of wildlife in this precious area and help us to keep it as a place of enjoyment for us all, now and for future generation.


Are you looking for the BEST cleaning service in Happy Valley, Oregon?
At Maid To Shine, we do everything we can to provide the highest quality of service to each and every one of our clients.
We have a full team of cleaning professionals who have been meticulously trained to leave your home or office like new. If you need professional cleaning services in Happy Valley, Oregon, we're ready to help!
Whether your job is residential or commercial, we do our best to remain discreet and provide the highest quality service. All of our maids are screened and trained to treat our clients with the utmost respect and courtesy.
We're a local cleaning service that understands the importance of quality work. This is part of the reason why we're one of the best cleaning services in Happy Valley!
We pride ourselves on prompt, reliable service. You can rest assured that every clean will be on time and of the best quality.
Elizabeth was very helpful and persistent in working to find a time on short notice to do the move-out clean. Unit was in great condition afterwards with floors mopped, walls, cabinets and refrigerator cleaned exceptionally well. Would use them again, and have referred friends.
We have had Maid to Shine clean our house for a few months now. They are WONDERFUL! They really do a great job in our house. Plus, Elizabeth is so nice, and has worked with us to reschedule dates when things come up. I also love that they are flexible with the time they come by. We have used another 'large' company to clean and are much happier with Maid to Shine.
You are the highest rated with the best service comments and you are eco-friendly. In my 20 years of having housekeepers, I have not seen such an excellent service and very informative, well done web site. Please call me and let me know if you service the Auburn, WA area. If not, please think about expansion!
Kitchens: From cleaning and disinfecting stoves and countertops, to mopping, to cleaning windowsills and more. Your kitchen will look like you just installed it.
Bathrooms: We clean toilets. We clean showers. And we get the hard to reach places like inside your sliding doors and around the shower faucets. We clean windows and mirrors and more.
Bedrooms/Dining Rooms/Living Rooms: We clean everything! We'll dust and vacuum every inch of the room. We clean lights and windows too!
General Deep Cleaning: We empty and clean all trash cans, and we get those annoying fingerprints on walls, doors and windows.
The staff at Maid To Shine are experts in creating a hospitable environment in any rental or vacation property. Based in Portland, Oregon, we actively serve the resort and vacation areas near Portland, West Linn and Happy Valley. We invite you to give us the opportunity to take over the household management, cleaning and light maintenance needs required by your rental or vacation property.
We've been cleaning vacation rentals in Happy Valley OR for years. We understand how to make the landlords' lives easier by providing a reliable service and the highest levels of communication. We also understand the importance of leaving the rentals like new. We'd love to have the opportunity to help your rental business thrive by providing beautiful rental homes for your potential tenants.
Hard Water is a pervasive problem. Shower door enclosures, residential windows, commercial windows, glass table tops and more suffer the degradation caused by hard water stains.
Windows & Glass Shower enclosures damaged from hard water & chemicals can be restored back to original clarity. We have successfully removed hard water accumulation as old as 30 years! We offer this service to residential and commercial buildings.
Maid To Shine Green Carpet Cleaning's truck mounted cleaning method utilizes technology that has revolutionized the carpet cleaning industry. We offer the unique Hot water Extraction, a powerful cleaning system that combines our green seal certified Nurturals cleaning solution, with high heat and powerful extraction, to provide the deepest, healthiest and most effective carpet cleaning possible.
We clean residential and commercial carpet, oriental rugs and upholstery. Do you have stubborn smells from animals or urine? No problem! Our cleaning system will have your carpet smelling fresh in no time.
Most importantly, our products are safe for children and animals.
Did you know that sparkling clean windows can actually make your home look newer, cleaner and more attractive? If you're looking to sell or rent a property, an immaculate appearance can actually increase its value.
We provide cleaning of all types of windows, even the hard to reach ones. You can rely on Maid To Shine to take the best care of your home or office as we professionally clean your windows. We work quietly and efficiently as we move from room to room to cause the least disruption.
We offer Standard and Deluxe cleaning options. We also offer a variety of other services including mirror cleaning, skylight cleaning and ceiling fan cleaning.
We are proud to offer our cleaning services throughout the Oregon area. Our headquarters are in Portland, but we offer professional cleaning services in all nearby cities including Happy Valley and West Linn.
We have dozens of professionally trained maids waiting to serve you! Whether you need commercial cleaning services or residential cleaning services, we have the right professional for you. To learn more about our Happy Valley, OR cleaning services, click here.
Ready For A House Cleaning in Happy Valley?
Give us a call today! We're happy to provide a FREE estimate and get started as soon as possible.


Neil Porter's bass has graced several of my songs, but listening to his music, I just had to ask for some of his six-string work too, and was not disappointed. He had a natural feel for this song, and gave it the sound it should have had all along. He said he would like to have a go at the mixing also, so I was happy to relinquish that chore as well. My equipment has bells and whistles, but they just make noise.
There are some excellent drummers that I've had the pleasure to work with here at MacJams, but this is the first time I've played with Fred E. Jam (no "s" and no relation to Mac). Loob has put out some great music and has collaborated with many of the best musicians here. This beat he has graciously provided made a world of difference to Overflow, and I find comfort in knowing that the puny little drum track I had in the beginning will never be heard.
I had another title for this song, but Anne suggested Overflow, which is more descriptive than what I had. It's a song about a problem that's been around since the dawn of time, and there is a solution, but no song can give that to you. As with all my songs, they're not to tell you what to think, but simply, to think.
Good storytelling - I think the duet is a great way to tell a breakup story because it can give perspective from both sides. Strong vocals & performances from this all-star band. Nice mix.
Always wanted wanted to duet, now I can say I donet. This was a new experience for me, and I hope to do it again. I feel very blessed getting to play with such a talented crew. We're glad you liked it, and appreciate your comments.
Terry! Outstanding in every possible way! A great pop country song with a classic 80s country vibe. Of course Neil, Fred, and Anne bring excellent performances. But what is really knocking me out is your vocal. This places you in the perfect register and your phrasing is wonderful! Wow! Oh, and I love that lonesome harmonica.
Thanks for stopping by, Andrew.
Pleasure working with you all!
Thanks for asking me in on this fine piece!
This was a joy to "work" on. Terry is such a great writer (and singer, and guitar player and harmonica-ist and keys-guy). He is also able to pull the right people together to make a great track. Everyone knows Anne could sing the white pages and make them sound great, and Fred has a great feel on the drums. I had a ball doing my bits on this.
Thanks everyone - and cheers from Oz!
A truly excellent piece of music, love the way it makes transitions almost between styles. A kind of folky track that then moves into country and even touches the pop! Love the way you made the duet work so well and the band were all awesome, bravo to all!
That's the beauty of these collabs.
Terry this song is so cool. It flow so smooth and easy from one end to the other. Very enjoyable listen. Your backing group did a tremendous job - everything sounds great. There's chemistry with you and Anne - I really liked this - thanks!
WOWZERS!!! what a fabulous band! I LOVE these vocals - your two voices are magical together. wonderful percussion work, and neil's guitar and bass (and of course mixing :)) is superb! congrats to all you wonderful and talented peeps!
I love duets, especially when 2 super talented singers are involved. And, not to mention the wonderful band you have backing you! Terrific song, everyone sounds amazing!
you asked about a drummer and i said Loob (Freddie) .... and then you found the right band for this outstanding track. so well done bro. Reminds me of Robert Plant and Alison Krauss ..... this is amazing.
Thanks for your help in casting, brother.
I'll start the bidding at $5.
well, everyone here did such a awesome job. from concept to finished product it's all grade A!
like a peanut butter and jelly sandwich...very tasty. Neil and Freddy added a bit of spice. that's some pretty harmonica, Terry. Very satisfying. Thanks.
And thanks for the comments about my harmonica. I'm still working on it, but believe I am making some progress. Some band, Huh!
Anne more than doubled the wattage on this shine.
It was really a treat to get to sing with her. The whole crew were just too good to me. Thanks Shadow.
Boy this just rolls along like a beautiful spring day. Everything is just so right! Love the beat, vocals, song, harmonica, yeah okay everything. Really sweet guys!
Terry, you are such a Macjams treasure! Your songwriting has such a genuine feel to it, like you were born in a different era. This is such a great song and performance for all involved. Anne has such a rich texture to her voice, pleasing. Neil is the man, the musician's musician. Is that a big ole fat P Bass I hear??? Fred, your drums are excellent here, perfect for the song. I love it guys!!
I really appreciate these generous comments, Chris.
Hi Terry, Anne and crew. Another stellar MJ collab. The simple country vibe is augmented by some outstanding instrumentation. Terry, you and Anne blend wonderfully together. Neil's bass and six string work is tasty in the extreme and Freddy keeps it all ticking along with ease. Really good song. Regards, Peter.
This is overflowing with talent. It sounds wonderful - great collab!
Love the last two lines: "no calling back like hunting dogs/ those awful words we spoke" great imagery. Wonderful sound throughout.
Sometimes I just toss a dictionary up in the air, and see how it lands.
flows along so nicely and is a really wonderful song.
A great performance from all the musicians involved, perfect in every way.
Great vocal Terry, one of your very best.
This is pro. I enjoyed every part of it. The singing the musicianship and I have a special fondness for that tasty repeating harmonica. Enjoyed this very much.
wonderful duet... reminds me of Mark Knopfler and Emmylou.
Pro track and my kudos.
Wow dude, you keep outdoing yourself, you have definitely found your voice here, this is how you should sing! Perfect vocal stage for you, and Anne is the perfect compliment to your voice, Freddy is a master, As is Neil, dude you got some heavy hitters here and you make up the rest of the band! You are the man! Love the harmonica!
Third song I've listened to this evening about how love starts out fine and then somehow loses its way. Hope it's not a trend...That notwithstanding, this is such a solid arrangement, just simple and uncomplicated: a perfect "folksy-style" number that lets your two vocals take the spotlight — and they do so beautifully. (Of course, you need some soft strings behind this!!! Hint. Hint.)...Harmonica is just the right touch for the bridge. Beautifully done and so pleasant the listen to.
Hi, Paul. Glad you stopped by for a listen.
I thought you had some soft synth strings in there already?
getting goosebumps during the break - and in awe of the lyrics and vocal performances. Musically - everything is in the right place and mixes so well. Great guitars - bass - drums and all the little extras from the keys to the harmonica. Nice rattle/ride effect on the drums in the chorus.
Those awful words we spoke" - is one of the finer couplets I've heard in a long time.
That's a good way of saying it. I made mention of that to Neil. It's a totally different ride sound than I used (I let Neil pick the drumkit), and it's kinda grown on me. It's kinda cool to let someone else pick that. I played V-drums and then sent Neil the MIDI. Worked out well I think. Nice job Neil.
of good vibes. Such a sweet sweet flow. Props to all.
i am late in appreciating that beautiful ending.
I love these MJ-wide collaborations. This is a great song and there are many excellent performances in it.
I have a nit to pick with the overall sounds. That persistent I-IV-I alternation in every measure starts feeling like a straightjacket pretty quickly. Everyone feels force to go along with it, and it becomes a little repetitive to me. Mind, every individual part is beyond reproach, given the chord structure, but adding them all together they all emphasize the same element of the arrangement. For the guitars that's kinda inevitable, but bass and drums could have played something a little rhyhtmically independent of the rhythm that the chord progression implies.
Thanks for dropping by, Vic, and for your comments and tips. I can see what you're talking about, and a lot of your points are areas that have kind of bothered me about this song. Almost all my songs were written pre-MacJams and presented as is, luckily I have talented friends here that make it work. But, knowing now what I've picked up I can see why I have problems playing some of these songs solo. "Straightjacket" is an appropriate term. Often when I'm performing Overflow I find myself asking myself, "Ok, what else?" I'll probably leave these old tunes as is, but hopefully utilize a new set of guidelines and tips picked up here from MacJams when constructing new material. I appreciate your listening and honest critique of Overflow, Vic. Hope you keep listening.
There sure-as-hell is "pure magic" at MJ!
One of my favorite collabs!
These people just flat out rock! Thanks for listening, Mike.
This really is an outstanding song Terry and Anne. I'm listening to it now and wondering what went wrong at MJ - such a great venue to make good music with talented people. I' was surprised to read/hear that I played guitar on it - chances like that don't come by every day, so you'd think I might have remembered that!
Fantastic song Terry - definitely one of your best.
Been a while, Neil. Glad I stumbled across your comment.
They stopped notifying me by e-mail of comments made on my songs.
Not sure how I missed this!
Missed you at the Dallas Jam! Glad you stopped by for a listen to this. Our talented friends were hard at play here. One of my favorites, for sure. Peace.


The cities of Lille and Roubaix are united behind one goal : to develop textile design by offering support to new fashion designers who will contribute to the resurgence of northern France's textile industry.
This unprecedented, ambitious project has the backing of not only Lille and Roubaix, but also of the Lille Métropole Communauté Urbaine and the Conseil Régional. Because of their support, new labels and their designers have been installed in renovated boutique-design studios in Lille and Roubaix where they receive individual, personalised guidance and assistance from Maisons de Mode through each stage of their development.
To identify and guide emerging designers with an already established brand in developing their businesses for the long run. To revitalise the two neighbourhoods in Lille and Roubaix where the designers, studios and boutiques are located. To spark a fashion movement in the metropolitan Lille area that brings national and international attention to the most promising talents.
Since 2007, Maisons de Mode has had two locations renovated by the Lille Communauté Urbaine especially for fashion designers.
The Jardin de Mode, a renovated former cinema featuring six design studios for jeunes pousses (green shoots), a patternmaking studio, an events space and a designer boutique.
Le Vestiaire is a huge, loft-like space adjacent to Roubaix's famed Musée La Piscine. This space features Maisons de Mode designer boutiques as well as pop-up stores and Le LaboM, a bar-restaurant run by La Maison Meert. Last but not least, Le Vestiaire also houses a fashion and design collective : Le Grand Bassin.
Maisons de Mode has created partnerships and links with the following public and private actors to support new, emerging labels.


text:
Groet is a village in the Dutch province of North Holland. It is a part of the municipality of Bergen, and lies about 11 km northwest of Alkmaar.

History
The village was first mentioned between 1130 and 1161 as "in Grothen", and means "land growth". Groet developed on the boundary of the dunes and the raised bog.

The Dutch Reformed church is a single aisled church with wooden tower which was built in 1639 and was modified in 1738. In 1830, the choir collapsed and was rebuilt shortly after.

The windmill Groetermolen is a polder mill was built in 1890. In 1977, a pumping station was built and the wind mill was decommissioned resulting in a deterioration of the wind mill, therefore, it was decided to drain the polder both by the mill and the pumping station. Groetermolen is still in active service.

In 1639, a little town hall was built in Groet. It claims to be the smallest and oldest town hall of the Netherlands. The oldest claim is definitely not true, but it may be the smallest.

Groet was a separate municipality between 1817 and 1834, when it was merged with Schoorl. The village was home to 186 people in 1840. In 2001, it became part of the municipality of Bergen.

The 1st and the 4th International Youth Congress of Esperanto, in 1938 and 1948 respectively, took place in Groet.

Gallery

References

Populated places in North Holland
Former municipalities of North Holland
Bergen, North Holland

redpajama_set_name: RedPajamaWikipedia


How do we achieve commons-oriented phase transition?
Today we have a paradox, the more communistic the sharing license we use, the more capitalistic the practice, with the Linux commons becoming a corporate commons enriching IBM and the like … It works in a certain way, and seems acceptable to most free software developers, but is it the only way.
Hence, an alternative, having the choice not just for non-reciprocal communist licenses such as the GPL, but introducing a median choice of socialist licenses, based on reciprocity.
This is the choice of the Peer Production License (PPL). It is not to be confused with the CC Non Commercial license, as the logic is different. This is not to offer protection to individuals reluctant to share, but to enable and empower a counter-hegemonic reciprocal economy that combines commons that are open to all that contribute, while charging a license fee for the the forprofit companies who want to use without contributing. The PPL was originally designed by 'venture communist' Dmytri Kleiner and you can find it discussed at C-Realm Podcast.
The PPL is used experimentally by Guerilla Translations! and perhaps a few others. It links the commons to a enterpreneurial coalition of ethical market entitities (Coops and other models) and keeps the surplus value entirely within the sphere of commoners/cooperators instead of leaking out to the multinations.
As this is the key contradiction of the liberal licenses (though they use the communist logic of from each according to their free contributions, to all according to need) which subsume free software to for-profit dynamics, i.e. that the only way to sustain livelyhoods, remains the selling of labour for capital accumulation. The PPL changes this, as it allows commoners to create their own market entities, keeping the surplus value into the commons sphere, thereby allowing a proto-mode of production (peer production) to become a fully autonomous mode of commons oriented peer production. It creates a counter-economy that can be the basis for reconstituting a 'counter-hegemony' with a for-benefit circulation of value, which allied to pro-commons social movements, could be the basis of the political and social transformation of the political economy.
Moreover, inside the ethical economy, the application of open book accounting and open supply chains, would allow a different value circulation, whereby the stigmergic mutual coordination that already works at scale for immaterial cooperation and production, would move to the coordination of physical production, creating post-market dynamics of allocation in the physical sphere.
Finally, this can be strengthened by creating commons-based venture funding, so as to create material commons, as proposed by Dmytri Kleiner. In this way, the machine park itself is taken out of the sphere of capital accumulation.
Hence, as this process strengthens, and is accompanied by the growth of social and political power, the circulation of capital is replaced by a full circulation of the commons. The phase transition has effectively occured.
I think a peer-production license, is a genius idea, since it is boosting the production of commons and keeping it in the commonsphere. It ist fostering a true collaborative economy.
As far as I can see, this is just Dmytri Kleiner's old Copyfarleft proposal, which was criticized by Stefan years ago.