# Instiki Sandbox

## Markdown+itex2MML Sandbox

Play around below. Your changes will, periodically, be rolled back.

### Some examples

(1)$\mathop{min} w_h p_h + w_r p_r + w_l p_l$

Here’s an equation

(2)${\int_{-\infty}^\infty e^{-a x^2/2} \mathrm{d}x} = \sqrt{\frac{2\pi}{a}}$

which we can later refer1 back to as (2).

Aligned equations:

(3)\begin{aligned} a+b &= b+a \\ a+(b+c) &= (a+b)+c \end{aligned}

The Dirac equation (boxed):

$\boxed{(i\slash{D}+m)\psi = 0}$

Here’s the table of Clifford2 algebras over $\mathbb{R}$:

$j$$0$$1$$2$$3$$4$$5$$6$$7$$8$
$\mathcal{C}\ell_{j}^-$$\mathbb{R}$$\mathbb{C}$$\mathbb{H}$$\mathbb{H}\oplus\mathbb{H}$$\mathbb{H}(2)$$\mathbb{C}(4)$$\mathbb{R}(8)$$\mathbb{R}(8)\oplus\mathbb{R}(8)$$\mathbb{R}(16)$
$\mathcal{C}\ell_{j}^+$$\mathbb{R}$$\mathbb{R}\oplus\mathbb{R}$$\mathbb{R}(2)$$\mathbb{C}(2)$$\mathbb{H}(2)$$\mathbb{H}(2)\oplus\mathbb{H}(2)$$\mathbb{H}(4)$$\mathbb{C}(8)$$\mathbb{R}(16)$

where the generators of $\mathcal{C}\ell_{j}^\pm$ satisfy

$\gamma_i\gamma_j +\gamma_j \gamma_i =\pm 2\delta_{i j}$

and $\mathcal{C}\ell_{n+8}^\pm = \mathcal{C}\ell_n^\pm \otimes \mathbb{R}(16)$.

(4)$\lim_{n \to \infty-1} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}$

### More Examples

(5)$\nabla \times \vec{E} = - \frac {\partial \vec{B}}{\partial t}$
(6)$\oint \mathbf{B}\cdot \mathrm{d}\mathbf{l} = \mu_0 I_\text{enc}$

$H^1(\mathcal{Z}, \mathcal{O}(-k))$ Let $G=(V,E)$ be a graph, with $w:V\to [0,1]$ a weight function.

(7)$\{Q_i, Q_j\} = \delta_{ij}\mathcal{H}.$

### Theorems

###### Definition

Let $H$ be a subgroup of a group $G$. A left coset of $H$ in $G$ is a subset of $G$ that is of the form $x H$, where $x \in G$ and $x H = \{ x h : h \in H \}$.

Similarly a right coset of $H$ in $G$ is a subset of $G$ that is of the form $H x$, where $H x = \{ h x : h \in H \}$.

###### Lemma

Let $H$ be a subgroup of a group $G$, and let $x$ and $y$ be elements of $G$. Suppose that $x H \cap y H$ is non-empty. Then $x H = y H$.

###### Proof

Let $z$ be some element of $x H \cap y H$. Then $z = x a$ for some $a \in H$, and $z = y b$ for some $b \in H$. If $h$ is any element of $H$ then $a h \in H$ and $a^{-1}h \in H$, since $H$ is a subgroup of $G$. But $z h = x(a h)$ and $xh = z(a^{-1}h)$ for all $h \in H$. Therefore $z H \subset x H$ and $x H \subset z H$, and thus $x H = z H$. Similarly $y H = z H$, and thus $x H = y H$, as required.

###### Lemma

Let $H$ be a finite subgroup of a group $G$. Then each left coset of $H$ in $G$ has the same number of elements as $H$.

###### Proof

Let $H = \{ h_1, h_2,\ldots, h_m\}$, where $h_1, h_2,\ldots, h_m$ are distinct, and let $x$ be an element of $G$. Then the left coset $x H$ consists of the elements $x h_j$ for $j = 1,2,\ldots,m$. Suppose that $j$ and $k$ are integers between $1$ and $m$ for which $x h_j = x h_k$. Then $h_j = x^{-1} (x h_j) = x^{-1} (x h_k) = h_k$, and thus $j = k$, since $h_1, h_2,\ldots, h_m$ are distinct. It follows that the elements $x h_1, x h_2,\ldots, x h_m$ are distinct. We conclude that the subgroup $H$ and the left coset $x H$ both have $m$ elements, as required.

###### Theorem

(Lagrange’s Theorem). Let $G$ be a finite group, and let $H$ be a subgroup of $G$. Then the order of $H$ divides the order of $G$.

###### Proof

Each element $x$ of $G$ belongs to at least one left coset of $H$ in $G$ (namely the coset $x H$), and no element can belong to two distinct left cosets of $H$ in $G$ (see Lemma 1). Therefore every element of $G$ belongs to exactly one left coset of $H$. Moreover each left coset of $H$ contains $|H|$ elements (Lemma 2). Therefore $|G| = n |H|$, where $n$ is the number of left cosets of $H$ in $G$. The result follows.

###### Corollary

Let $x$ be an element of a finite group $G$. Then the order of $x$ divides the order of $G$.

###### Theorem

Let $f : \Delta \longrightarrow \Delta,$ where $\Delta=\{z\in\mathbb{C}: \vert z \vert \lt 1\}$, be analytic with $a \in \Delta$. Then

$\left\vert\frac{f(z)-f(a)}{1-\overline{f(a)}f(z)}\right\vert\le \left\vert\frac{z-a}{1-\overline{a}z}\right\vert$

for all $\vert z \vert \le 1$ and

$\frac{\vert f'(a)\vert}{1-\vert f(a)\vert^2}\le \frac{1}{1-\vert a \vert^2}.$

Furthermore, equality holds iff $f$ realizes a conformal mapping of $\Delta$ onto itself.

###### Proof

Let $w=\frac{z-a}{1-\overline{a}z}$ and put $\phi(w)=\frac{f(z)-f(a)}{1-\overline{f(a)}f(z)}$. Define for $\abs{b}\lt 1$ $C_b(z)=\frac{z-b}{1-\overline{b}z}.$ All conformal maps from $\Delta$ to itself, sending $b$ to $0$, are of the form $C_b(z)e^{i\gamma}$ for $\gamma\in[0,2\pi].$ In this notation, $\phi(w)=C_{f(a)}\circ f \circ C_a^{-1}(w),$ where $C_a^{-1}$ is the inverse of $C_a$ as a function. Note that $C_a(z)$ is conformal, so it has an inverse. It is clear that $\phi(0)=C_{f(a)}\circ f \circ C_a^{-1}(0)=C_{f(a)}(f(a))=0$. Since $C_a^{-1}: \Delta \longrightarrow \Delta$ and $f : \Delta \longrightarrow \Delta$ and $C_{f(a)}: \Delta \longrightarrow \Delta,$ then $\vert\phi(w)\vert\lt 1$ for $\vert w\vert \lt 1 .$ Applying Schwarz’s lemma, we obtain $\vert\phi(w)\vert\le \vert w \vert$ for $\vert w \vert \le 1$. Furthermore, if equality holds, then $f(z)=e^{i\gamma'} z$ for $\gamma'\in [0,2\pi]$. Therefore,

(8)$\left\vert\frac{f(z)-f(a)}{1-\overline{f(a)}f(z)}\right\vert\le \left\vert\frac{z-a}{1-\overline{a}z}\right\vert$

for all $\vert z \vert\le 1.$ Rearranging, we obtain

$\left\vert\frac{f(z)-f(a)}{z-a}\right\vert\le\left\vert\frac{1-\overline{f(a)}f(z)}{1-\overline{a}z}\right\vert.$

If we take the limit as $z$ tends to $a$, we obtain

$\left\vert f'(a)\right\vert \le \left\vert\frac{1-\vert f(a)\vert ^2}{1-\vert a \vert^2}\right\vert=\frac{1-\vert f(a)\vert^2}{1-\vert a \vert^2},$

or

$\frac{\vert f'(a)\vert}{1-\vert f(a)\vert^2}\le \frac{1}{1-\vert a \vert^2}.$

As said above, if equality holds in (8), then Schwarz’s lemma tells us that $\phi(w)=e^{i\gamma'}w$. Thus, $\phi(w)=C_{f(a)}\circ f \circ C_a^{-1}(w)=e^{i\gamma'}w,$ so $f(z)=C_{f(a)}^{-1}(e^{i\gamma'}C_a(z))$. Since $e^{i\gamma'}C_a(z)$ is conformal, $C_{f(a)}^{-1},$ the inverse function of $C_{f(a)}$, is conformal, and a composition of conformal maps is conformal, then $f$ is a conformal map of $\Delta$ onto itself. Conversely, if $f$ is a conformal map of $\Delta$ onto itself, then $\phi(w)=C_{f(a)}\circ f \circ C_a^{-1}(w)=e^{i\gamma}C_b(w),$ since a composition of conformal maps is conformal and because all conformal maps from $\Delta$ onto itself are of the form $e^{i\gamma}C_b(w).$ We also know that $\phi(0)=0,$ so $b=0$. Therefore,

$\phi(w)=e^{i\gamma}C_0(w)=e^{i\gamma}w \Leftrightarrow \vert\phi(w)\vert=\vert w \vert \Leftrightarrow \left\vert\frac{f(z)-f(a)}{1-\overline{f(a)}f(z)}\right\vert=\left\vert\frac{z-a}{1-\overline{a}z}\right\vert$

for all $\vert z \vert\le 1$. In sum, equality holds in (8) iff $f$ is a conformal map from $\Delta$ to itself.

###### Remark

Someone needs to code \abs, i.e. \left\vert # \right\vert. This is terribly annoying. Also, when using , why must one enter a line before and after.

#### SVG graphics, created in SVG-Edit (Instiki 0.19 feature):

$K^0\overline{K}^0$ Mixing

#### Yet More examples

• SVG:
• Animated SVG
• Complicated commutative diagrams (equations in SVG)
• SVG in equations.

In $SU(3)$, $\begin{svg} \end{svg}\includegraphics[width=2em]{young1} \otimes \begin{svg} \end{svg}\includegraphics[width=1em]{young2} = \begin{svg} \end{svg}\includegraphics[width=2em]{young3} \oplus \begin{svg} \end{svg}\includegraphics[width=3em]{young4}$.

• Cases:
$r_{a+1} = \begin{cases} 0 & \text{with prob.}\quad \exp(-\theta r_a) \\ \max \lbrace \delta r_a, z \rbrace & \text{with prob.}\quad 1 - \exp(-\theta r_a) \\ \end{cases}$
• Stretchy Brackets:
$q_a(z) = \sigma_a^{-1} \exp{\left[ -\frac{\gamma + z}{\sigma_a} \right]}$
• Linearity of Quadrature Rules
$\sum_{i = 1}^N {\left( {\alpha f(x_i ) + \beta g(x_i )} \right)w_i } = \alpha \sum_{i = 1}^N {f(x_i )w_i } + \beta \sum_{i = 1}^N {g(x_i )w_i }$
• Linearity of Integrals
${\int_a^b {\left( {\alpha f(x)\, + \beta g(x)} \right)dx = } \alpha \int_a^b {f(x)\,dx} + \beta \int_a^b {g(x)\,dx} }$
• Can we talk about $x_i^2$ inline? What about $\int_a^b x^2\,dx$? Inline fractions $\frac{x-x_2}{x_1-x_2}$?

• Big fractions

$p_3 (x) = \left( {\frac{1}{2}} \right)\frac{{\left( {x - \frac{1}{2}} \right)\left( {x - \frac{3}{4}} \right)\left( {x - 1} \right)}}{{\left( {\frac{1}{4} - \frac{1}{2}} \right)\left( {\frac{1}{4} - \frac{3}{4}} \right)\left( {\frac{1}{4} - 1} \right)}} + \left( {\frac{1}{2}} \right)\frac{{\left( {x - \frac{1}{2}} \right)\left( {x - \frac{3}{4}} \right)\left( {x - 1} \right)}}{{\left( {\frac{1}{4} - \frac{1}{2}} \right)\left( {\frac{1}{4} - \frac{3}{4}} \right)\left( {\frac{1}{4} - 1} \right)}} + \left( {\frac{1}{2}} \right)\frac{{\left( {x - \frac{1}{2}} \right)\left( {x - \frac{3}{4}} \right)\left( {x - 1} \right)}}{{\left( {\frac{1}{4} - \frac{1}{2}} \right)\left( {\frac{1}{4} - \frac{3}{4}} \right)\left( {\frac{1}{4} - 1} \right)}} + \left( {\frac{1}{2}} \right)\frac{{\left( {x - \frac{1}{2}} \right)\left( {x - \frac{3}{4}} \right)\left( {x - 1} \right)}}{{\left( {\frac{1}{4} - \frac{1}{2}} \right)\left( {\frac{1}{4} - \frac{3}{4}} \right)\left( {\frac{1}{4} - 1} \right)}}$
• Diagram
$\begin{matrix} P_1(Y) &\to& P_1(X) \\ \downarrow &\Downarrow^\mathrlap{\sim}& \downarrow \\ T' &\to& T \end{matrix}$

(9)\array{\arrayopts{\align{center}} \begin{svg} \end{svg} } \equiv \left({U(k)}^{n_1},\{v_i\}\right)

“This is my text”, says Anymouse.

Ruby code example:


class Person
def initialize(name, age)
@name, @age = name, age
end
def <=>(person) # Comparison operator for sorting
@age <=> person.age
end
def to_s
"#@name (#@age)"
end
end

group = [
Person.new("Bob", 33),
Person.new("Chris", 16),
Person.new("Ash", 23)
]

puts group.sort.reverse

"""Utilities for writing code that runs on Python 2 and 3"""

# Copyright (c) 2010-2013 Benjamin Peterson
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

import operator
import sys
import types

__author__ = "Benjamin Peterson <benjamin@python.org>"
__version__ = "1.4.1"

# Useful for very coarse version differentiation.
PY2 = sys.version_info[0] == 2
PY3 = sys.version_info[0] == 3

if PY3:
string_types = str,
integer_types = int,
class_types = type,
text_type = str
binary_type = bytes

MAXSIZE = sys.maxsize
else:
string_types = basestring,
integer_types = (int, long)
class_types = (type, types.ClassType)
text_type = unicode
binary_type = str

if sys.platform.startswith("java"):
# Jython always uses 32 bits.
MAXSIZE = int((1 << 31) - 1)
else:
# It's possible to have sizeof(long) != sizeof(Py_ssize_t).
class X(object):
def __len__(self):
return 1 << 31
try:
len(X())
except OverflowError:
# 32-bit
MAXSIZE = int((1 << 31) - 1)
else:
# 64-bit
MAXSIZE = int((1 << 63) - 1)
del X

"""Add documentation to a function."""
func.__doc__ = doc

def _import_module(name):
"""Import module, returning the module after the last dot."""
__import__(name)
return sys.modules[name]

class _LazyDescr(object):

def __init__(self, name):
self.name = name

def __get__(self, obj, tp):
result = self._resolve()
setattr(obj, self.name, result)
# This is a bit ugly, but it avoids running this again.
delattr(tp, self.name)
return result

class MovedModule(_LazyDescr):

def __init__(self, name, old, new=None):
super(MovedModule, self).__init__(name)
if PY3:
if new is None:
new = name
self.mod = new
else:
self.mod = old

def _resolve(self):
return _import_module(self.mod)

class MovedAttribute(_LazyDescr):

def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None):
super(MovedAttribute, self).__init__(name)
if PY3:
if new_mod is None:
new_mod = name
self.mod = new_mod
if new_attr is None:
if old_attr is None:
new_attr = name
else:
new_attr = old_attr
self.attr = new_attr
else:
self.mod = old_mod
if old_attr is None:
old_attr = name
self.attr = old_attr

def _resolve(self):
module = _import_module(self.mod)
return getattr(module, self.attr)

class _MovedItems(types.ModuleType):

_moved_attributes = [
MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"),
MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"),
MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"),
MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"),
MovedAttribute("map", "itertools", "builtins", "imap", "map"),
MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"),
MovedAttribute("reduce", "__builtin__", "functools"),
MovedAttribute("StringIO", "StringIO", "io"),
MovedAttribute("UserString", "UserString", "collections"),
MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"),
MovedAttribute("zip", "itertools", "builtins", "izip", "zip"),
MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"),

MovedModule("builtins", "__builtin__"),
MovedModule("configparser", "ConfigParser"),
MovedModule("copyreg", "copy_reg"),
MovedModule("html_entities", "htmlentitydefs", "html.entities"),
MovedModule("html_parser", "HTMLParser", "html.parser"),
MovedModule("http_client", "httplib", "http.client"),
MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"),
MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"),
MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"),
MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"),
MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"),
MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"),
MovedModule("cPickle", "cPickle", "pickle"),
MovedModule("queue", "Queue"),
MovedModule("reprlib", "repr"),
MovedModule("socketserver", "SocketServer"),
MovedModule("tkinter", "Tkinter"),
MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"),
MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"),
MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"),
MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"),
MovedModule("tkinter_tix", "Tix", "tkinter.tix"),
MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"),
MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"),
MovedModule("tkinter_colorchooser", "tkColorChooser",
"tkinter.colorchooser"),
MovedModule("tkinter_commondialog", "tkCommonDialog",
"tkinter.commondialog"),
MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"),
MovedModule("tkinter_font", "tkFont", "tkinter.font"),
MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"),
MovedModule("tkinter_tksimpledialog", "tkSimpleDialog",
"tkinter.simpledialog"),
MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"),
MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"),
MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"),
MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"),
MovedModule("winreg", "_winreg"),
]
for attr in _moved_attributes:
setattr(_MovedItems, attr.name, attr)
del attr

moves = sys.modules[__name__ + ".moves"] = _MovedItems(__name__ + ".moves")

class Module_six_moves_urllib_parse(types.ModuleType):
"""Lazy loading of moved objects in six.moves.urllib_parse"""

_urllib_parse_moved_attributes = [
MovedAttribute("ParseResult", "urlparse", "urllib.parse"),
MovedAttribute("parse_qs", "urlparse", "urllib.parse"),
MovedAttribute("parse_qsl", "urlparse", "urllib.parse"),
MovedAttribute("urldefrag", "urlparse", "urllib.parse"),
MovedAttribute("urljoin", "urlparse", "urllib.parse"),
MovedAttribute("urlparse", "urlparse", "urllib.parse"),
MovedAttribute("urlsplit", "urlparse", "urllib.parse"),
MovedAttribute("urlunparse", "urlparse", "urllib.parse"),
MovedAttribute("urlunsplit", "urlparse", "urllib.parse"),
MovedAttribute("quote", "urllib", "urllib.parse"),
MovedAttribute("quote_plus", "urllib", "urllib.parse"),
MovedAttribute("unquote", "urllib", "urllib.parse"),
MovedAttribute("unquote_plus", "urllib", "urllib.parse"),
MovedAttribute("urlencode", "urllib", "urllib.parse"),
]
for attr in _urllib_parse_moved_attributes:
setattr(Module_six_moves_urllib_parse, attr.name, attr)
del attr

sys.modules[__name__ + ".moves.urllib_parse"] = Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse")
sys.modules[__name__ + ".moves.urllib.parse"] = Module_six_moves_urllib_parse(__name__ + ".moves.urllib.parse")

class Module_six_moves_urllib_error(types.ModuleType):
"""Lazy loading of moved objects in six.moves.urllib_error"""

_urllib_error_moved_attributes = [
MovedAttribute("URLError", "urllib2", "urllib.error"),
MovedAttribute("HTTPError", "urllib2", "urllib.error"),
MovedAttribute("ContentTooShortError", "urllib", "urllib.error"),
]
for attr in _urllib_error_moved_attributes:
setattr(Module_six_moves_urllib_error, attr.name, attr)
del attr

sys.modules[__name__ + ".moves.urllib_error"] = Module_six_moves_urllib_error(__name__ + ".moves.urllib_error")
sys.modules[__name__ + ".moves.urllib.error"] = Module_six_moves_urllib_error(__name__ + ".moves.urllib.error")

class Module_six_moves_urllib_request(types.ModuleType):
"""Lazy loading of moved objects in six.moves.urllib_request"""

_urllib_request_moved_attributes = [
MovedAttribute("urlopen", "urllib2", "urllib.request"),
MovedAttribute("install_opener", "urllib2", "urllib.request"),
MovedAttribute("build_opener", "urllib2", "urllib.request"),
MovedAttribute("pathname2url", "urllib", "urllib.request"),
MovedAttribute("url2pathname", "urllib", "urllib.request"),
MovedAttribute("getproxies", "urllib", "urllib.request"),
MovedAttribute("Request", "urllib2", "urllib.request"),
MovedAttribute("OpenerDirector", "urllib2", "urllib.request"),
MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"),
MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"),
MovedAttribute("ProxyHandler", "urllib2", "urllib.request"),
MovedAttribute("BaseHandler", "urllib2", "urllib.request"),
MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"),
MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"),
MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"),
MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"),
MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"),
MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"),
MovedAttribute("HTTPHandler", "urllib2", "urllib.request"),
MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"),
MovedAttribute("FileHandler", "urllib2", "urllib.request"),
MovedAttribute("FTPHandler", "urllib2", "urllib.request"),
MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"),
MovedAttribute("UnknownHandler", "urllib2", "urllib.request"),
MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"),
MovedAttribute("urlretrieve", "urllib", "urllib.request"),
MovedAttribute("urlcleanup", "urllib", "urllib.request"),
MovedAttribute("URLopener", "urllib", "urllib.request"),
MovedAttribute("FancyURLopener", "urllib", "urllib.request"),
]
for attr in _urllib_request_moved_attributes:
setattr(Module_six_moves_urllib_request, attr.name, attr)
del attr

sys.modules[__name__ + ".moves.urllib_request"] = Module_six_moves_urllib_request(__name__ + ".moves.urllib_request")
sys.modules[__name__ + ".moves.urllib.request"] = Module_six_moves_urllib_request(__name__ + ".moves.urllib.request")

class Module_six_moves_urllib_response(types.ModuleType):
"""Lazy loading of moved objects in six.moves.urllib_response"""

_urllib_response_moved_attributes = [
]
for attr in _urllib_response_moved_attributes:
setattr(Module_six_moves_urllib_response, attr.name, attr)
del attr

sys.modules[__name__ + ".moves.urllib_response"] = Module_six_moves_urllib_response(__name__ + ".moves.urllib_response")
sys.modules[__name__ + ".moves.urllib.response"] = Module_six_moves_urllib_response(__name__ + ".moves.urllib.response")

class Module_six_moves_urllib_robotparser(types.ModuleType):
"""Lazy loading of moved objects in six.moves.urllib_robotparser"""

_urllib_robotparser_moved_attributes = [
MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"),
]
for attr in _urllib_robotparser_moved_attributes:
setattr(Module_six_moves_urllib_robotparser, attr.name, attr)
del attr

sys.modules[__name__ + ".moves.urllib_robotparser"] = Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib_robotparser")
sys.modules[__name__ + ".moves.urllib.robotparser"] = Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser")

class Module_six_moves_urllib(types.ModuleType):
"""Create a six.moves.urllib namespace that resembles the Python 3 namespace"""
parse = sys.modules[__name__ + ".moves.urllib_parse"]
error = sys.modules[__name__ + ".moves.urllib_error"]
request = sys.modules[__name__ + ".moves.urllib_request"]
response = sys.modules[__name__ + ".moves.urllib_response"]
robotparser = sys.modules[__name__ + ".moves.urllib_robotparser"]

sys.modules[__name__ + ".moves.urllib"] = Module_six_moves_urllib(__name__ + ".moves.urllib")

"""Add an item to six.moves."""
setattr(_MovedItems, move.name, move)

def remove_move(name):
"""Remove item from six.moves."""
try:
delattr(_MovedItems, name)
except AttributeError:
try:
del moves.__dict__[name]
except KeyError:
raise AttributeError("no such move, %r" % (name,))

if PY3:
_meth_func = "__func__"
_meth_self = "__self__"

_func_closure = "__closure__"
_func_code = "__code__"
_func_defaults = "__defaults__"
_func_globals = "__globals__"

_iterkeys = "keys"
_itervalues = "values"
_iteritems = "items"
_iterlists = "lists"
else:
_meth_func = "im_func"
_meth_self = "im_self"

_func_closure = "func_closure"
_func_code = "func_code"
_func_defaults = "func_defaults"
_func_globals = "func_globals"

_iterkeys = "iterkeys"
_itervalues = "itervalues"
_iteritems = "iteritems"
_iterlists = "iterlists"

try:
except NameError:
return it.next()

try:
callable = callable
except NameError:
def callable(obj):
return any("__call__" in klass.__dict__ for klass in type(obj).__mro__)

if PY3:
def get_unbound_function(unbound):
return unbound

create_bound_method = types.MethodType

Iterator = object
else:
def get_unbound_function(unbound):
return unbound.im_func

def create_bound_method(func, obj):
return types.MethodType(func, obj, obj.__class__)

class Iterator(object):

def next(self):
return type(self).__next__(self)

callable = callable
"""Get the function out of a possibly unbound function""")

get_method_function = operator.attrgetter(_meth_func)
get_method_self = operator.attrgetter(_meth_self)
get_function_closure = operator.attrgetter(_func_closure)
get_function_code = operator.attrgetter(_func_code)
get_function_defaults = operator.attrgetter(_func_defaults)
get_function_globals = operator.attrgetter(_func_globals)

def iterkeys(d, **kw):
"""Return an iterator over the keys of a dictionary."""
return iter(getattr(d, _iterkeys)(**kw))

def itervalues(d, **kw):
"""Return an iterator over the values of a dictionary."""
return iter(getattr(d, _itervalues)(**kw))

def iteritems(d, **kw):
"""Return an iterator over the (key, value) pairs of a dictionary."""
return iter(getattr(d, _iteritems)(**kw))

def iterlists(d, **kw):
"""Return an iterator over the (key, [values]) pairs of a dictionary."""
return iter(getattr(d, _iterlists)(**kw))

if PY3:
def b(s):
return s.encode("latin-1")
def u(s):
return s
unichr = chr
if sys.version_info[1] <= 1:
def int2byte(i):
return bytes((i,))
else:
# This is about 2x faster than the implementation above on 3.2+
int2byte = operator.methodcaller("to_bytes", 1, "big")
byte2int = operator.itemgetter(0)
indexbytes = operator.getitem
iterbytes = iter
import io
StringIO = io.StringIO
BytesIO = io.BytesIO
else:
def b(s):
return s
def u(s):
return unicode(s, "unicode_escape")
unichr = unichr
int2byte = chr
def byte2int(bs):
return ord(bs[0])
def indexbytes(buf, i):
return ord(buf[i])
def iterbytes(buf):
return (ord(byte) for byte in buf)
import StringIO
StringIO = BytesIO = StringIO.StringIO

if PY3:
import builtins
exec_ = getattr(builtins, "exec")

def reraise(tp, value, tb=None):
if value.__traceback__ is not tb:
raise value.with_traceback(tb)
raise value

print_ = getattr(builtins, "print")
del builtins

else:
def exec_(_code_, _globs_=None, _locs_=None):
"""Execute code in a namespace."""
if _globs_ is None:
frame = sys._getframe(1)
_globs_ = frame.f_globals
if _locs_ is None:
_locs_ = frame.f_locals
del frame
elif _locs_ is None:
_locs_ = _globs_
exec("""exec _code_ in _globs_, _locs_""")

exec_("""def reraise(tp, value, tb=None):
raise tp, value, tb
""")

def print_(*args, **kwargs):
"""The new-style print function."""
fp = kwargs.pop("file", sys.stdout)
if fp is None:
return
def write(data):
if not isinstance(data, basestring):
data = str(data)
fp.write(data)
want_unicode = False
sep = kwargs.pop("sep", None)
if sep is not None:
if isinstance(sep, unicode):
want_unicode = True
elif not isinstance(sep, str):
raise TypeError("sep must be None or a string")
end = kwargs.pop("end", None)
if end is not None:
if isinstance(end, unicode):
want_unicode = True
elif not isinstance(end, str):
raise TypeError("end must be None or a string")
if kwargs:
raise TypeError("invalid keyword arguments to print()")
if not want_unicode:
for arg in args:
if isinstance(arg, unicode):
want_unicode = True
break
if want_unicode:
newline = unicode("\n")
space = unicode(" ")
else:
newline = "\n"
space = " "
if sep is None:
sep = space
if end is None:
end = newline
for i, arg in enumerate(args):
if i:
write(sep)
write(arg)
write(end)

_add_doc(reraise, """Reraise an exception.""")

def with_metaclass(meta, *bases):
"""Create a base class with a metaclass."""
return meta("NewBase", bases, {})

"""Class decorator for creating a class with a metaclass."""
def wrapper(cls):
orig_vars = cls.__dict__.copy()
orig_vars.pop('__dict__', None)
orig_vars.pop('__weakref__', None)
for slots_var in orig_vars.get('__slots__', ()):
orig_vars.pop(slots_var)
return metaclass(cls.__name__, cls.__bases__, orig_vars)
return wrapper

Python

# Markdown Vim Mode

Syntax highlighting, matching rules and mappings for Markdown.

## Installation

If you use Pathogen(and you should), do this:

$cd ~/.vim/bundle$ git clone https://github.com/plasticboy/vim-markdown.git

To install without Pathogen, download the tarball and do this:

$cd ~/.vim$ tar --strip=1 -zxf vim-markdown-master.tar.gz

Homepage

## Options

Disable Folding

Add the following line to your .vimrc to disable folding.

let g:vim_markdown_folding_disabled=1

Set Initial Foldlevel

Add the following line to your .vimrc to set the initial foldlevel. This option defaults to 0 (i.e. all folds are closed) and is ignored if folding is disabled.

let g:vim_markdown_initial_foldlevel=1

## Mappings

The following work on normal and visual modes:

• ]]: go to next header.
• [[: go to previous header. Contrast with ]c.
• ][: go to next sibling header if any.
• []: go to previous sibling header if any.
• ]c: go to Current header.
• ]u: go to parent header (Up).

The MIT License (MIT)

Copyright (c) 2012 Benjamin D. Williams

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

1. You can also refer to it as (2). Chacun à son goût!.