# -*- coding: utf-8 -*-
# Copyright 2017, IBM.
#
# This source code is licensed under the Apache License, Version 2.0 found in
# the LICENSE.txt file in the root directory of this source tree.
# pylint: disable=no-else-return
"""Module for working with Results."""
import copy
import numpy
from ._qiskiterror import QISKitError
from ._quantumcircuit import QuantumCircuit
[ドキュメント]class Result(object):
""" Result Class.
Class internal properties.
Methods to process the quantum program after it has been run
Internal::
result = {
"job_id": --job-id (string),
#This string links the result with the job that computes it,
#it should be issued by the backend it is run on.
"status": --status (string),
"result":
[
{
"data":
{ #### DATA CAN BE A DIFFERENT DICTIONARY FOR EACH BACKEND ####
"counts": {'00000': XXXX, '00001': XXXXX},
"time" : xx.xxxxxxxx
},
"status": --status (string)--
},
...
]
}
"""
def __init__(self, qobj_result):
self._result = qobj_result
def __str__(self):
"""Get the status of the run.
Returns:
string: the status of the results.
"""
return self._result['status']
def __getitem__(self, i):
return self._result['result'][i]
def __len__(self):
return len(self._result['result'])
def __iadd__(self, other):
"""Append a Result object to current Result object.
Arg:
other (Result): a Result object to append.
Returns:
Result: The current object with appended results.
Raises:
QISKitError: if the Results cannot be combined.
"""
# todo: reevaluate if moving equality to Backend themselves (part of
# a bigger problem - backend instances will not persist between
# sessions)
this_backend = self._result.get('backend_name')
other_backend = other._result.get('backend_name')
if this_backend == other_backend:
self._result['result'] += other._result['result']
return self
else:
raise QISKitError('Result objects from different backends cannot be combined.')
def __add__(self, other):
"""Combine Result objects.
Arg:
other (Result): a Result object to combine.
Returns:
Result: A new Result object consisting of combined objects.
"""
ret = copy.deepcopy(self)
ret += other
return ret
def _is_error(self):
return self._result['status'] == 'ERROR'
[ドキュメント] def get_status(self):
"""Return whole result status."""
return self._result['status']
[ドキュメント] def circuit_statuses(self):
"""Return statuses of all circuits
Returns:
list(str): List of status result strings.
"""
return [circuit_result['status']
for circuit_result in self._result['result']]
[ドキュメント] def get_circuit_status(self, icircuit):
"""Return the status of circuit at index icircuit.
Args:
icircuit (int): index of circuit
Returns:
string: the status of the circuit.
"""
return self._result['result'][icircuit]['status']
[ドキュメント] def get_job_id(self):
"""Return the job id assigned by the api if this is a remote job.
Returns:
string: a string containing the job id.
"""
return self._result['job_id']
[ドキュメント] def get_ran_qasm(self, name):
"""Get the ran qasm for the named circuit and backend.
Args:
name (str): the name of the quantum circuit.
Returns:
string: A text version of the qasm file that has been run.
Raises:
QISKitError: if the circuit was not found.
"""
try:
for exp_result in self._result['result']:
if exp_result.get('name') == name:
return exp_result['compiled_circuit_qasm']
except KeyError:
pass
raise QISKitError('No qasm for circuit "{0}"'.format(name))
[ドキュメント] def get_data(self, circuit=None):
"""Get the data of circuit name.
The data format will depend on the backend. For a real device it
will be for the form::
"counts": {'00000': XXXX, '00001': XXXX},
"time" : xx.xxxxxxxx
for the qasm simulators of 1 shot::
'statevector': array([ XXX, ..., XXX]),
'classical_state': 0
for the qasm simulators of n shots::
'counts': {'0000': XXXX, '1001': XXXX}
for the unitary simulators::
'unitary': np.array([[ XX + XXj
...
XX + XX]
...
[ XX + XXj
...
XX + XXj]]
Args:
circuit (str or QuantumCircuit or None): reference to a quantum circuit
If None and there is only one circuit available, returns
that one.
Returns:
dict: A dictionary of data for the different backends.
Raises:
QISKitError: if there is no data for the circuit, or an unhandled
error occurred while fetching the data.
Exception: if a handled error occurred while fetching the data.
"""
if self._is_error():
exception = self._result['result']
if isinstance(exception, BaseException):
raise exception
else:
raise QISKitError(str(exception))
if isinstance(circuit, QuantumCircuit):
circuit = circuit.name
if circuit is None:
if len(self._result['result']) == 1:
return self._result['result'][0]['data']
else:
raise QISKitError("You have to select a circuit when there is more than"
"one available")
if not isinstance(circuit, str):
circuit = str(circuit)
try:
for circuit_result in self._result['result']:
if circuit_result.get('name') == circuit:
return circuit_result['data']
except (KeyError, TypeError):
pass
raise QISKitError('No data for circuit "{0}"'.format(circuit))
[ドキュメント] def get_counts(self, circuit=None):
"""Get the histogram data of circuit name.
The data from the a qasm circuit is dictionary of the format
{'00000': XXXX, '00001': XXXXX}.
Args:
circuit (str or QuantumCircuit or None): reference to a quantum circuit
If None and there is only one circuit available, returns
that one.
Returns:
Dictionary: Counts {'00000': XXXX, '00001': XXXXX}.
Raises:
QISKitError: if there are no counts for the circuit.
"""
try:
return self.get_data(circuit)['counts']
except KeyError:
raise QISKitError('No counts for circuit "{0}"'.format(circuit))
[ドキュメント] def get_statevector(self, circuit=None):
"""Get the final statevector of circuit name.
The data is a list of complex numbers
[1.+0.j, 0.+0.j].
Args:
circuit (str or QuantumCircuit or None): reference to a quantum circuit
If None and there is only one circuit available, returns
that one.
Returns:
list[complex]: list of 2^n_qubits complex amplitudes.
Raises:
QISKitError: if there is no statevector for the circuit.
"""
try:
return self.get_data(circuit)['statevector']
except KeyError:
raise QISKitError('No statevector for circuit "{0}"'.format(circuit))
[ドキュメント] def get_unitary(self, circuit=None):
"""Get the final unitary of circuit name.
The data is a matrix of complex numbers
[[1.+0.j, 0.+0.j], .. ].
Args:
circuit (str or QuantumCircuit or None): reference to a quantum circuit
If None and there is only one circuit available, returns
that one.
Returns:
list[list[complex]]: list of 2^n_qubits x 2^n_qubits complex amplitudes.
Raises:
QISKitError: if there is no unitary for the circuit.
"""
try:
return self.get_data(circuit)['unitary']
except KeyError:
raise QISKitError('No unitary for circuit "{0}"'.format(circuit))
[ドキュメント] def get_snapshots(self, circuit=None):
"""Get snapshots recorded during the run.
The data is a dictionary:
where keys are requested snapshot slots.
and values are a dictionary of the snapshots themselves.
Args:
circuit (str or QuantumCircuit or None): reference to a quantum circuit
If None and there is only one circuit available, returns
that one.
Returns:
dict[slot: dict[str: array]]: list of 2^n_qubits complex amplitudes.
Raises:
QISKitError: if there are no snapshots for the circuit.
"""
try:
return self.get_data(circuit)['snapshots']
except KeyError:
raise QISKitError('No snapshots for circuit "{0}"'.format(circuit))
[ドキュメント] def get_snapshot(self, slot=None, circuit=None):
"""Get snapshot at a specific slot.
Args:
slot (str): snapshot slot to retrieve. If None and there is only one
slot, return that one.
circuit (str or QuantumCircuit or None): reference to a quantum circuit
If None and there is only one circuit available, returns
that one.
Returns:
dict[slot: dict[str: array]]: list of 2^n_qubits complex amplitudes.
Raises:
QISKitError: if there is no snapshot at all, or in this slot
"""
try:
snapshots_dict = self.get_snapshots(circuit)
if slot is None:
slots = list(snapshots_dict.keys())
if len(slots) == 1:
slot = slots[0]
else:
raise QISKitError("You have to select a slot when there"
"is more than one available")
snapshot_dict = snapshots_dict[slot]
snapshot_types = list(snapshot_dict.keys())
if len(snapshot_types) == 1:
snapshot_list = snapshot_dict[snapshot_types[0]]
if len(snapshot_list) == 1:
return snapshot_list[0]
else:
return snapshot_list
else:
return snapshot_dict
except KeyError:
raise QISKitError('No snapshot at slot {0} for '
'circuit "{1}"'.format(slot, circuit))
[ドキュメント] def get_names(self):
"""Get the circuit names of the results.
Returns:
List: A list of circuit names.
"""
return [c.get('name') for c in self._result['result']]
[ドキュメント] def average_data(self, name, observable):
"""Compute the mean value of an diagonal observable.
Takes in an observable in dictionary format and then
calculates the sum_i value(i) P(i) where value(i) is the value of
the observable for state i.
Args:
name (str): the name of the quantum circuit
observable (dict): The observable to be averaged over. As an example
ZZ on qubits equals {"00": 1, "11": 1, "01": -1, "10": -1}
Returns:
Double: Average of the observable
"""
counts = self.get_counts(name)
temp = 0
tot = sum(counts.values())
for key in counts:
if key in observable:
temp += counts[key] * observable[key] / tot
return temp
[ドキュメント] def get_qubitpol_vs_xval(self, nqubits, xvals_dict=None):
"""Compute the polarization of each qubit for all circuits and pull out each circuits
xval into an array. Assumes that each circuit has the same number of qubits and that
all qubits are measured.
Args:
nqubits (int): number of qubits
xvals_dict (dict): xvals for each circuit {'circuitname1': xval1,...}. If this
is none then the xvals list is just left as an array of zeros
Returns:
qubit_pol: mxn double array where m is the number of circuit, n the number of qubits
xvals: mx1 array of the circuit xvals
"""
ncircuits = len(self._result['result'])
# Is this the best way to get the number of qubits?
qubitpol = numpy.zeros([ncircuits, nqubits], dtype=float)
xvals = numpy.zeros([ncircuits], dtype=float)
# build Z operators for each qubit
z_dicts = []
for qubit_ind in range(nqubits):
z_dicts.append(dict())
for qubit_state in range(2**nqubits):
new_key = ("{0:0"+"{:d}".format(nqubits) + "b}").format(qubit_state)
z_dicts[-1][new_key] = -1
if new_key[nqubits-qubit_ind-1] == '1':
z_dicts[-1][new_key] = 1
# go through each circuit and for eqch qubit and apply the operators using "average_data"
for circuit_ind in range(ncircuits):
circuit_name = self._result['result'][circuit_ind]['name']
if xvals_dict:
xvals[circuit_ind] = xvals_dict[circuit_name]
for qubit_ind in range(nqubits):
qubitpol[circuit_ind, qubit_ind] = self.average_data(
circuit_name, z_dicts[qubit_ind])
return qubitpol, xvals


♔
Chessy
♕
Want to
regenerate
chessy words, view the source code on
GitHub
, or go back Evan's
home page
?
Sample Commentary
Famous grandmasters
Famous openings, defenses, and moves
Famous events


OpenEyes™ is a collaborative, open source project developed with contributions from a range of hospitals, institutions, academic departments, companies and individuals. As an open source application, OpenEyes™ provides a cost effective option for eye care. It cannot be sold to 3rd parties and is protected by the OpenEyes Foundation for the benefit of its users. The OpenEyes™ installer can be found at the following address: https://github.com/openeyes/oe_installer
While OpenEyes can be downloaded and used free of charge, we recommend that clinical installation are handled professionally through our commercial partner AB EHR Digital. AB EHR Digital will ensure that you clinical data integrates with hospital workflows and PAS systems and that the connections to devices such as OCT machines or visual field devices are robust.
AB EHR Digital can be contacted to provide a visit and demonstration
http://www.abehr.com
Open Eyes is intuitive and fast. It runs in a web browser to ensure that it can be accessed wherever needed. It includes a graphical user interface organised around Eyedraw elements, which allow input of clinical data through a series of icons that relate to disease states.
OpenEyes Dashboard View
When you start OpenEyes you will see a dashboard view of your clinic. Using configurable widgets you will be able to see patients in your clinic work list and track their progress in the clinic. The dashboard also shows the messaging feature whereby patient records can be tagged with notes advising on clinical state or future actions. These messages are embedded in the patient record and support clinicians to clinician communication to ensure that patients requiring urgent attention can be flagged.
The messaging application allows point to point communication with a priority setting to ensure that no patient is lost.
Eyedraw: the fastest way to enter clinical information
The Eyedraw tools are a key feature of OpenEyes. An example of the anterior segment tool is shown below which allows the recording of cataract state. These descriptions are stored as SNOMED coded items which can be searched in the OE database.
The data collected with these tools can be used to support risk assessment – for example to populate data for the PCR risk calculator.
Or the assessment of diabetic retinopathy grading
The clinical assessment of the posterior pole can also be assessed graphically, for example for a patient with a branch retinal vein occlusion.
Correspondence can also be automated and generated within OpenEyes to summarise diagnosis and treatment.
Device Integration
OpenEyes supports device connectivity via DICOM. For example, OpenEyes can pull the data from IOLmasters and other biometry devices into the application for display at the time of surgery. The same technology can be used to display visual field, OCT data or fundus images.
The lens selection is then available automatically in the cataract operation note.
Data and Audit
OpenEyes is fully compliant with the Royal College of Ophthalmologist's national cataract audit dataset and can return data for group or individual analysis. OpenEyes provide a rich set of tools so that you can view your personal audit data in real time. The data analytics package for cataract provides a risk adjust plot of PCR outcome that can be exported for appraisal purposes.


Welcome to the Bird Enthusiasts!
We're a group of avid bird watchers who have come together to share our love of birds!
Click on the member link above to see our current members, or click on about to get more information about the group.
Recent Bird Sightings
{{member.recentBirdSighting}}


Hosted Roam extension JS scripts.
(NOTE: Trying to run jquery/lodash-dependent code within Roam itself doesn't seem to work, probably because the 'script' tags are added after the code is run. The way we got it working was loading that code remotely as well.)


|
Xerces-C++
3.1.4
|
Public Member Functions | |
Virtual destructor for derived classes | |
| virtual | ~XMLSchemaDescription () |
| virtual destructor More... | |
Implementation of Grammar Description Interface | |
| virtual Grammar::GrammarType | getGrammarType () const |
| getGrammarType More... | |
| Public Member Functions inherited from XMLGrammarDescription | |
| MemoryManager * | getMemoryManager () const |
| virtual | ~XMLGrammarDescription () |
| virtual destructor More... | |
| virtual const XMLCh * | getGrammarKey () const =0 |
| getGrammarKey More... | |
| Public Member Functions inherited from XMemory | |
| void * | operator new (size_t size) |
| This method overrides operator new. More... | |
| void * | operator new (size_t size, MemoryManager *memMgr) |
| This method defines a custom operator new, that will use the provided memory manager to perform the allocation. More... | |
| void * | operator new (size_t size, void *ptr) |
| This method overrides placement operator new. More... | |
| void | operator delete (void *p) |
| This method overrides operator delete. More... | |
| void | operator delete (void *p, MemoryManager *memMgr) |
| This method provides a matching delete for the custom operator new. More... | |
| void | operator delete (void *p, void *ptr) |
| This method provides a matching delete for the placement new. More... | |
Protected Member Functions | |
| XMLSchemaDescription (MemoryManager *const memMgr=XMLPlatformUtils::fgMemoryManager) | |
| Hidden Constructors. More... | |
| Protected Member Functions inherited from XMLGrammarDescription | |
| XMLGrammarDescription (MemoryManager *const memMgr=XMLPlatformUtils::fgMemoryManager) | |
| Hidden Constructors. More... | |
| Protected Member Functions inherited from XMemory | |
| XMemory () | |
| Protected default constructor. More... | |
The SchemaDescription Interface | |
| enum | ContextType { CONTEXT_INCLUDE, CONTEXT_REDEFINE, CONTEXT_IMPORT, CONTEXT_PREPARSE, CONTEXT_INSTANCE, CONTEXT_ELEMENT, CONTEXT_ATTRIBUTE, CONTEXT_XSITYPE, CONTEXT_UNKNOWN } |
| virtual ContextType | getContextType () const =0 |
| getContextType More... | |
| virtual const XMLCh * | getTargetNamespace () const =0 |
| getTargetNamespace More... | |
| virtual const RefArrayVectorOf < XMLCh > * | getLocationHints () const =0 |
| getLocationHints More... | |
| virtual const QName * | getTriggeringComponent () const =0 |
| getTriggeringComponent More... | |
| virtual const QName * | getEnclosingElementName () const =0 |
| getenclosingElementName More... | |
| virtual const XMLAttDef * | getAttributes () const =0 |
| getAttributes More... | |
| virtual void | setContextType (ContextType)=0 |
| setContextType More... | |
| virtual void | setTargetNamespace (const XMLCh *const)=0 |
| setTargetNamespace More... | |
| virtual void | setLocationHints (const XMLCh *const)=0 |
| setLocationHints More... | |
| virtual void | setTriggeringComponent (QName *const)=0 |
| setTriggeringComponent More... | |
| virtual void | setEnclosingElementName (QName *const)=0 |
| getenclosingElementName More... | |
| virtual void | setAttributes (XMLAttDef *const)=0 |
| setAttributes More... | |
|
virtual |
virtual destructor
|
protected |
Hidden Constructors.
|
pure virtual |
getAttributes
|
pure virtual |
getContextType
|
pure virtual |
getenclosingElementName
|
virtual |
getGrammarType
Implements XMLGrammarDescription.
|
pure virtual |
getLocationHints
|
pure virtual |
getTargetNamespace
|
pure virtual |
getTriggeringComponent
|
pure virtual |
setAttributes
|
pure virtual |
setContextType
|
pure virtual |
getenclosingElementName
|
pure virtual |
setLocationHints
|
pure virtual |
setTargetNamespace
|
pure virtual |
setTriggeringComponent


i have a new one, this time in taker_loop on taker
```
9 16:40:23, lp_ordermatch:406] CONNECTED.({"dest_pub_key":"3d0efe5aaba2ea9cf093054d5cc88fcf15accb5ddf71ee626387553655806768","maker_order_uuid":"f87941ef-a81d-4c4a-808d-59ac927610a6","method":"connected","sender_pubkey":"bab6ad2eebe1e666369cab504d4622b22c1f1ef718ef388e88020f30a1573e01","taker_order_uuid":"8c85ab5a-f941-42d8-826c-b69ced4c591c"})
09 16:40:23, lp_ordermatch:267] Entering the taker_swap_loop DOGE/KMD
09 16:40:43, lp_swa...


| ‘ ’ |
32 |
0x20 |
space |
‘ ’ |
32 |
U+0020 |
Space |
Basic Latin |
| ! |
33 |
0x21 |
pencil |
✏ |
9999 |
U+270F |
Pencil |
Dingbats |
| " |
34 |
0x22 |
scissors |
✂ |
9986 |
U+2702 |
Black scissors |
Dingbats |
| # |
35 |
0x23 |
scissorscutting |
✁ |
9985 |
U+2701 |
Upper blade scissors |
Dingbats |
| $ |
36 |
0x24 |
readingglasses |
👓 |
128083 |
U+1F453 |
Eyeglasses |
Miscellaneous Symbols and Pictographs |
| % |
37 |
0x25 |
bell |
🔔 |
128276 |
U+1F514 |
Bell |
Miscellaneous Symbols and Pictographs |
| & |
38 |
0x26 |
book |
📖 |
128214 |
U+1F4D6 |
Open book |
Miscellaneous Symbols and Pictographs |
| ' |
39 |
0x27 |
candle |
(Candle – no equivalent) |
| ( |
40 |
0x28 |
telephonesolid |
☎ |
9742 |
U+260E |
Black telephone |
Miscellaneous Symbols |
| ) |
41 |
0x29 |
telhandsetcirc |
✆ |
9990 |
U+2706 |
Telephone location sign |
Dingbats |
| * |
42 |
0x2A |
envelopeback |
✉ |
9993 |
U+2709 |
Envelope |
Dingbats |
| + |
43 |
0x2B |
envelopefront |
(Envelope with address and stamp – no equivalent) |
| , |
44 |
0x2C |
mailboxflagdwn |
📪 |
128234 |
U+1F4EA |
Closed mailbox with lowered flag |
Miscellaneous Symbols and Pictographs |
| - |
45 |
0x2D |
mailboxflagup |
📫 |
128235 |
U+1F4EB |
Closed mailbox with raised flag |
Miscellaneous Symbols and Pictographs |
| . |
46 |
0x2E |
mailbxopnflgup |
📬 |
128236 |
U+1F4EC |
Open mailbox with raised flag |
Miscellaneous Symbols and Pictographs |
| / |
47 |
0x2F |
mailbxopnflgdwn |
📭 |
128237 |
U+1F4ED |
Open mailbox with lowered flag |
Miscellaneous Symbols and Pictographs |
| 0 |
48 |
0x30 |
folder |
📁 |
128193 |
U+1F4C1 |
File folder |
Miscellaneous Symbols and Pictographs |
| 1 |
49 |
0x31 |
folderopen |
📂 |
128194 |
U+1F4C2 |
Open file folder |
Miscellaneous Symbols and Pictographs |
| 2 |
50 |
0x32 |
filetalltext1 |
📄 |
128196 |
U+1F4C4 |
Page facing up |
Miscellaneous Symbols and Pictographs |
| 3 |
51 |
0x33 |
filetalltext |
(Printed page – no equivalent) |
| 4 |
52 |
0x34 |
filetalltext3 |
(Stack of printed pages – no equivalent) |
| 5 |
53 |
0x35 |
filecabinet |
(Filing cabinet – no equivalent) |
| 6 |
54 |
0x36 |
hourglass |
⌛ |
8987 |
U+231B |
Hourglass |
Miscellaneous Technical |
| 7 |
55 |
0x37 |
keyboard |
⌨ |
9000 |
U+2328 |
Keyboard |
Miscellaneous Technical |
| 8 |
56 |
0x38 |
mouse2button |
(Mouse – no equivalent) |
| 9 |
57 |
0x39 |
ballpoint |
(Trackball – no equivalent) |
| : |
58 |
0x3A |
pc |
💻 |
128187 |
U+1F4BB |
Personal computer |
Miscellaneous Symbols and Pictographs |
| ; |
59 |
0x3B |
harddisk |
(Hard disk – no equivalent) |
| < |
60 |
0x3C |
floppy3 |
💾 |
128190 |
U+1F4BE |
Floppy disk |
Miscellaneous Symbols and Pictographs |
| = |
61 |
0x3D |
floppy5 |
(5¼" Floppy disk – no equivalent) |
| > |
62 |
0x3E |
tapereel |
✇ |
9991 |
U+2707 |
Tape drive |
Dingbats |
| ? |
63 |
0x3F |
handwrite |
✍ |
9997 |
U+270D |
Writing hand |
Dingbats |
| @ |
64 |
0x40 |
handwriteleft |
(Writing left hand – no equivalent) |
| A |
65 |
0x41 |
handv |
✌ |
9996 |
U+270C |
Victory hand |
Dingbats |
| B |
66 |
0x42 |
handok |
👌 |
128076 |
U+1F44C |
OK hand sign |
Miscellaneous Symbols and Pictographs |
| C |
67 |
0x43 |
thumbup |
👍 |
128077 |
U+1F44D |
Thumbs up sign |
Miscellaneous Symbols and Pictographs |
| D |
68 |
0x44 |
thumbdown |
👎 |
128078 |
U+1F44E |
Thumbs down sign |
Miscellaneous Symbols and Pictographs |
| E |
69 |
0x45 |
handptleft |
☜ |
9756 |
U+261C |
White left pointing index |
Miscellaneous Symbols |
| F |
70 |
0x46 |
handptright |
☞ |
9758 |
U+261E |
White right pointing index |
Miscellaneous Symbols |
| G |
71 |
0x47 |
handptup |
☝ |
9757 |
U+261D |
White up pointing index |
Miscellaneous Symbols |
| H |
72 |
0x48 |
handptdown |
☟ |
9759 |
U+261F |
White down pointing index |
Miscellaneous Symbols |
| I |
73 |
0x49 |
handhalt |
✋ |
9995 |
U+270B |
Raised hand |
Dingbats |
| J |
74 |
0x4A |
smileface |
☺ |
9786 |
U+263A |
White smiling face |
Miscellaneous Symbols |
| K |
75 |
0x4B |
neutralface |
😐 |
128528 |
U+1F610 |
Neutral face |
Emoticons |
| L |
76 |
0x4C |
frownface |
☹ |
9785 |
U+2639 |
White frowning face |
Miscellaneous Symbols |
| M |
77 |
0x4D |
bomb |
💣 |
128163 |
U+1F4A3 |
Bomb |
Miscellaneous Symbols and Pictographs |
| N |
78 |
0x4E |
skullcrossbones |
☠ |
9760 |
U+2620 |
Skull and crossbones |
Miscellaneous Symbols |
| O |
79 |
0x4F |
flag |
⚐ |
9872 |
U+2690 |
White flag |
Miscellaneous Symbols |
| P |
80 |
0x50 |
pennant |
🚩 |
128681 |
U+1F6A9 |
Triangular flag on post |
Transport and Map Symbols |
| Q |
81 |
0x51 |
airplane |
✈ |
9992 |
U+2708 |
Airplane |
Dingbats |
| R |
82 |
0x52 |
sunshine |
☼ |
9788 |
U+263C |
White sun with rays |
Miscellaneous Symbols |
| S |
83 |
0x53 |
droplet |
💧 |
128167 |
U+1F4A7 |
Droplet |
Miscellaneous Symbols and Pictographs |
| T |
84 |
0x54 |
snowflake |
❄ |
10052 |
U+2744 |
Snowflake |
Dingbats |
| U |
85 |
0x55 |
crossoutline |
(White Latin cross – no equivalent) |
| V |
86 |
0x56 |
crossshadow |
✞ |
10014 |
U+271E |
Shadowed white Latin cross |
Dingbats |
| W |
87 |
0x57 |
crossceltic |
(Celtic cross – no equivalent) |
| X |
88 |
0x58 |
crossmaltese |
✠ |
10016 |
U+2720 |
Maltese cross |
Dingbats |
| Y |
89 |
0x59 |
starofdavid |
✡ |
10017 |
U+2721 |
Star of David |
Dingbats |
| Z |
90 |
0x5A |
crescentstar |
☪ |
9770 |
U+262A |
Star and crescent |
Miscellaneous Symbols |
| [ |
91 |
0x5B |
yinyang |
☯ |
9775 |
U+262F |
Yin Yang |
Dingbats |
| \ |
92 |
0x5C |
om |
ॐ |
2384 |
U+0950 |
Devanagari Om |
Devanagari |
| ] |
93 |
0x5D |
wheel |
☸ |
9784 |
U+2638 |
Wheel of Dharma |
Miscellaneous Symbols |
| ^ |
94 |
0x5E |
aries |
♈ |
9800 |
U+2648 |
Aries |
Miscellaneous Symbols |
| _ |
95 |
0x5F |
taurus |
♉ |
9801 |
U+2649 |
Taurus |
Miscellaneous Symbols |
| ` |
96 |
0x60 |
gemini |
♊ |
9802 |
U+264A |
Gemini |
Miscellaneous Symbols |
| a |
97 |
0x61 |
cancer |
♋ |
9803 |
U+264B |
Cancer |
Miscellaneous Symbols |
| b |
98 |
0x62 |
leo |
♌ |
9804 |
U+264C |
Leo |
Miscellaneous Symbols |
| c |
99 |
0x63 |
virgo |
♍ |
9805 |
U+264D |
Virgo |
Miscellaneous Symbols |
| d |
100 |
0x64 |
libra |
♎ |
9806 |
U+264E |
Libra |
Miscellaneous Symbols |
| e |
101 |
0x65 |
scorpio |
♏ |
9807 |
U+264F |
Scorpio |
Miscellaneous Symbols |
| f |
102 |
0x66 |
saggitarius |
♐ |
9808 |
U+2650 |
Sagittarius |
Miscellaneous Symbols |
| g |
103 |
0x67 |
capricorn |
♑ |
9809 |
U+2651 |
Capricorn |
Miscellaneous Symbols |
| h |
104 |
0x68 |
aquarius |
♒ |
9810 |
U+2652 |
Aquarius |
Miscellaneous Symbols |
| i |
105 |
0x69 |
pisces |
♓ |
9811 |
U+2653 |
Pisces |
Miscellaneous Symbols |
| j |
106 |
0x6A |
ampersanditlc |
& |
38 |
U+0026 |
Ampersand (italic, lower-case) |
Basic Latin (Garamond) |
| k |
107 |
0x6B |
ampersandit |
& |
38 |
U+0026 |
Ampersand (italic) |
Basic Latin (cursive font) |
| l |
108 |
0x6C |
circle6 |
● |
9679 |
U+25CF |
Black circle |
Geometric Shapes |
| m |
109 |
0x6D |
circleshadowdwn |
❍ |
10061 |
U+274D |
Shadowed white circle |
Dingbats |
| n |
110 |
0x6E |
square6 |
■ |
9632 |
U+25A0 |
Black square |
Geometric Shapes |
| o |
111 |
0x6F |
box3 |
□ |
9633 |
U+25A1 |
White square |
Geometric Shapes |
| p |
112 |
0x70 |
box4 |
(Bold white square – no equivalent) |
| q |
113 |
0x71 |
boxshadowdwn |
❑ |
10065 |
U+2751 |
Lower right shadowed white square |
Dingbats |
| r |
114 |
0x72 |
boxshadowup |
❒ |
10066 |
U+2752 |
Upper right shadowed white square |
Dingbats |
| s |
115 |
0x73 |
lozenge4 |
⬧ |
11047 |
U+2B27 |
Black medium lozenge |
Miscellaneous Symbols and Arrows |
| t |
116 |
0x74 |
lozenge6 |
⧫ |
10731 |
U+29EB |
Black lozenge |
Miscellaneous Mathematical Symbols-B |
| u |
117 |
0x75 |
rhombus6 |
◆ |
9670 |
U+25C6 |
Black diamond |
Geometric Shapes |
| v |
118 |
0x76 |
xrhombus |
❖ |
10070 |
U+2756 |
Black diamond minus white X |
Dingbats |
| w |
119 |
0x77 |
rhombus4 |
⬥ |
11045 |
U+2B25 |
Black medium diamond |
Miscellaneous Symbols and Arrows |
| x |
120 |
0x78 |
clear |
⌧ |
8999 |
U+2327 |
X in a rectangle box |
Miscellaneous Technical |
| y |
121 |
0x79 |
escape |
⍓ |
9043 |
U+2353 |
APL functional symbol quad up caret |
Miscellaneous Technical |
| z |
122 |
0x7A |
command |
⌘ |
8984 |
U+2318 |
Place of interest sign |
Miscellaneous Symbols |
| { |
123 |
0x7B |
rosette |
❀ |
10048 |
U+2740 |
White florette |
Dingbats |
| | |
124 |
0x7C |
rosettesolid |
✿ |
10047 |
U+273F |
Black florette |
Dingbats |
| } |
125 |
0x7D |
quotedbllftbld |
❝ |
10077 |
U+275D |
Heavy double turned comma quotation mark ornament |
Dingbats |
| ~ |
126 |
0x7E |
quotedblrtbld |
❞ |
10078 |
U+275E |
Heavy double comma quotation mark ornament |
Dingbats |
| |
127 |
0x7F |
.notdef |
▯ |
9647 |
U+25AF |
White vertical rectangle |
Geometric Shapes |
| |
128 |
0x80 |
zerosans |
⓪ |
9450 |
U+24EA |
Circled digit zero |
Enclosed Alphanumerics |
| |
129 |
0x81 |
onesans |
① |
9312 |
U+2460 |
Circled digit one |
Enclosed Alphanumerics |
| |
130 |
0x82 |
twosans |
② |
9313 |
U+2461 |
Circled digit two |
Enclosed Alphanumerics |
| |
131 |
0x83 |
threesans |
③ |
9314 |
U+2462 |
Circled digit three |
Enclosed Alphanumerics |
| |
132 |
0x84 |
foursans |
④ |
9315 |
U+2463 |
Circled digit four |
Enclosed Alphanumerics |
|
|
133 |
0x85 |
fivesans |
⑤ |
9316 |
U+2464 |
Circled digit five |
Enclosed Alphanumerics |
| |
134 |
0x86 |
sixsans |
⑥ |
9317 |
U+2465 |
Circled digit six |
Enclosed Alphanumerics |
| |
135 |
0x87 |
sevensans |
⑦ |
9318 |
U+2466 |
Circled digit seven |
Enclosed Alphanumerics |
| |
136 |
0x88 |
eightsans |
⑧ |
9319 |
U+2467 |
Circled digit eight |
Enclosed Alphanumerics |
| |
137 |
0x89 |
ninesans |
⑨ |
9320 |
U+2468 |
Circled digit nine |
Enclosed Alphanumerics |
| |
138 |
0x8A |
tensans |
⑩ |
9321 |
U+2469 |
Circled number ten |
Enclosed Alphanumerics |
| |
139 |
0x8B |
zerosansinv |
⓿ |
9471 |
U+24FF |
Negative circled digit zero |
Enclosed Alphanumerics |
| |
140 |
0x8C |
onesansinv |
❶ |
10102 |
U+2776 |
Dingbat negative circled digit one |
Dingbats |
| |
141 |
0x8D |
twosansinv |
❷ |
10103 |
U+2777 |
Dingbat negative circled digit two |
Dingbats |
| |
142 |
0x8E |
threesansinv |
❸ |
10104 |
U+2778 |
Dingbat negative circled digit three |
Dingbats |
| |
143 |
0x8F |
foursansinv |
❹ |
10105 |
U+2779 |
Dingbat negative circled digit four |
Dingbats |
| |
144 |
0x90 |
fivesansinv |
❺ |
10106 |
U+277A |
Dingbat negative circled digit five |
Dingbats |
| |
145 |
0x91 |
sixsansinv |
❻ |
10107 |
U+277B |
Dingbat negative circled digit six |
Dingbats |
| |
146 |
0x92 |
sevensansinv |
❼ |
10108 |
U+277C |
Dingbat negative circled digit seven |
Dingbats |
| |
147 |
0x93 |
eightsansinv |
❽ |
10109 |
U+277D |
Dingbat negative circled digit eight |
Dingbats |
| |
148 |
0x94 |
ninesansinv |
❾ |
10110 |
U+277E |
Dingbat negative circled digit nine |
Dingbats |
| |
149 |
0x95 |
tensansinv |
❿ |
10111 |
U+277F |
Dingbat negative circled number ten |
Dingbats |
| |
150 |
0x96 |
budleafne |
(Bud and leaf north east – no equivalent) |
| |
151 |
0x97 |
budleafnw |
(Bud and leaf north west – no equivalent) |
| |
152 |
0x98 |
budleafsw |
(Bud and leaf south west – no equivalent) |
| |
153 |
0x99 |
budleafse |
(Bud and leaf south east – no equivalent) |
| |
154 |
0x9A |
vineleafboldne |
(Bold vine leaf north east – no equivalent) |
| |
155 |
0x9B |
vineleafboldnw |
(Bold vine leaf north west – no equivalent) |
| |
156 |
0x9C |
vineleafboldsw |
(Bold vine leaf south west – no equivalent) |
| |
157 |
0x9D |
vineleafboldse |
(Bold vine leaf south east – no equivalent) |
| |
158 |
0x9E |
circle2 |
· |
183 |
U+00B7 |
Middle dot |
Latin-1 Supplement |
| |
159 |
0x9F |
circle4 |
• |
8226 |
U+2022 |
Bullet |
General Punctuation |
| |
160 |
0xA0 |
square2 |
▪ |
9642 |
U+25AA |
Black small square |
Geometric Shapes |
| ¡ |
161 |
0xA1 |
ring2 |
○ |
9675 |
U+25CB |
White circle |
Geometric Shapes |
| ¢ |
162 |
0xA2 |
ring4 |
⭕ |
11093 |
U+2B55 |
Heavy large circle |
Miscellaneous Symbols and Arrows |
| £ |
163 |
0xA3 |
ring6 |
(Extra bold white circle – no equivalent) |
| ¤ |
164 |
0xA4 |
ringbutton2 |
◉ |
9673 |
U+25C9 |
Fisheye |
Geometric Shapes |
| ¥ |
165 |
0xA5 |
target |
◎ |
9678 |
U+25CE |
Bullseye |
Geometric Shapes |
| ¦ |
166 |
0xA6 |
circleshadowup |
(Upper right shadowed white circle – no equivalent) |
| § |
167 |
0xA7 |
square4 |
▪ |
9642 |
U+25AA |
Black small square |
Geometric Shapes |
| ¨ |
168 |
0xA8 |
box2 |
◻ |
9723 |
U+25FB |
White medium square |
Geometric Shapes |
| © |
169 |
0xA9 |
tristar2 |
(Black three pointed star – no equivalent) |
| ª |
170 |
0xAA |
crosstar2 |
✦ |
10022 |
U+2726 |
Black four pointed star |
Dingbats |
| « |
171 |
0xAB |
pentastar2 |
★ |
9733 |
U+2605 |
Black star |
Miscellaneous Symbols |
| ¬ |
172 |
0xAC |
hexstar2 |
✶ |
10038 |
U+2736 |
Six pointed black star |
Dingbats |
| |
173 |
0xAD |
octastar2 |
✴ |
10036 |
U+2734 |
Eight pointed black star |
Dingbats |
| ® |
174 |
0xAE |
dodecastar3 |
✹ |
10041 |
U+2739 |
Twelve pointed black star |
Dingbats |
| ¯ |
175 |
0xAF |
octastar4 |
✵ |
10037 |
U+2735 |
Eight pointed pinwheel star |
Dingbats |
| ° |
176 |
0xB0 |
registersquare |
(Square register mark – no equivalent) |
| ± |
177 |
0xB1 |
registercircle |
⌖ |
8982 |
U+2316 |
Position indicator |
Miscellaneous Technical |
| ² |
178 |
0xB2 |
cuspopen |
⟡ |
10209 |
U+27E1 |
White concave-sided diamond |
Miscellaneous Mathematical Symbols-A |
| ³ |
179 |
0xB3 |
cuspopen1 |
⌑ |
8977 |
U+2311 |
Square lozenge |
Miscellaneous Technical |
| ´ |
180 |
0xB4 |
query |
(Question mark in white diamond – no equivalent) |
| µ |
181 |
0xB5 |
circlestar |
✪ |
10026 |
U+272A |
Circled white star |
Dingbats |
| ¶ |
182 |
0xB6 |
starshadow |
✰ |
10032 |
U+2730 |
Shadowed white star |
Dingbats |
| · |
183 |
0xB7 |
oneoclock |
🕐 |
128336 |
U+1F550 |
Clock face one oclock |
Miscellaneous Symbols and Pictographs |
| ¸ |
184 |
0xB8 |
twooclock |
🕑 |
128337 |
U+1F551 |
Clock face two oclock |
Miscellaneous Symbols and Pictographs |
| ¹ |
185 |
0xB9 |
threeoclock |
🕒 |
128338 |
U+1F552 |
Clock face three oclock |
Miscellaneous Symbols and Pictographs |
| º |
186 |
0xBA |
fouroclock |
🕓 |
128339 |
U+1F553 |
Clock face four oclock |
Miscellaneous Symbols and Pictographs |
| » |
187 |
0xBB |
fiveoclock |
🕕 |
128340 |
U+1F554 |
Clock face five oclock |
Miscellaneous Symbols and Pictographs |
| ¼ |
188 |
0xBC |
sixoclock |
🕕 |
128341 |
U+1F555 |
Clock face six oclock |
Miscellaneous Symbols and Pictographs |
| ½ |
189 |
0xBD |
sevenoclock |
🕖 |
128342 |
U+1F556 |
Clock face seven oclock |
Miscellaneous Symbols and Pictographs |
| ¾ |
190 |
0xBE |
eightoclock |
🕘 |
128343 |
U+1F557 |
Clock face eight oclock |
Miscellaneous Symbols and Pictographs |
| ¿ |
191 |
0xBF |
nineoclock |
🕘 |
128344 |
U+1F558 |
Clock face nine oclock |
Miscellaneous Symbols and Pictographs |
| À |
192 |
0xC0 |
tenoclock |
🕙 |
128345 |
U+1F559 |
Clock face ten oclock |
Miscellaneous Symbols and Pictographs |
| Á |
193 |
0xC1 |
elevenoclock |
🕚 |
128346 |
U+1F55A |
Clock face eleven oclock |
Miscellaneous Symbols and Pictographs |
| Â |
194 |
0xC2 |
twelveoclock |
🕛 |
128347 |
U+1F55B |
Clock face twelve oclock |
Miscellaneous Symbols and Pictographs |
| Ã |
195 |
0xC3 |
arrowdwnleft1 |
(White arrow pointing downwards then curving leftwards – no equivalent) |
| Ä |
196 |
0xC4 |
arrowdwnrt1 |
(White arrow pointing downwards then curving rightwards – no equivalent) |
| Å |
197 |
0xC5 |
arrowupleft1 |
(White arrow pointing upwards then curving leftwards – no equivalent) |
| Æ |
198 |
0xC6 |
arrowuprt1 |
(White arrow pointing upwards then curving rightwards – no equivalent) |
| Ç |
199 |
0xC7 |
arrowleftup1 |
(White arrow pointing leftwards then curving upwards – no equivalent) |
| È |
200 |
0xC8 |
arrowrtup1 |
(White arrow pointing rightwards then curving upwards – no equivalent) |
| É |
201 |
0xC9 |
arrowleftdwn1 |
(White arrow pointing leftwards then curving downwards – no equivalent) |
| Ê |
202 |
0xCA |
arrowrtdwn1 |
(White arrow pointing rightwards then curving downwards – no equivalent) |
| Ë |
203 |
0xCB |
quiltsquare2 |
(Quilt square 2 – no equivalent) |
| Ì |
204 |
0xCC |
quiltsquare2inv |
(Black quilt square 2 – no equivalent) |
| Í |
205 |
0xCD |
leafccwsw |
(Leaf counterclockwise south west – no equivalent) |
| Î |
206 |
0xCE |
leafccwnw |
(Leaf counterclockwise north west – no equivalent) |
| Ï |
207 |
0xCF |
leafccwse |
(Leaf counterclockwise south east – no equivalent) |
| Ð |
208 |
0xD0 |
leafccwne |
(Leaf counterclockwise north east – no equivalent) |
| Ñ |
209 |
0xD1 |
leafnw |
(Leaf north west – no equivalent) |
| Ò |
210 |
0xD2 |
leafsw |
(Leaf south west – no equivalent) |
| Ó |
211 |
0xD3 |
leafne |
(Leaf north east – no equivalent) |
| Ô |
212 |
0xD4 |
leafse |
(Leaf south east – no equivalent) |
| Õ |
213 |
0xD5 |
deleteleft |
⌫ |
9003 |
U+232B |
Erase to the left |
Miscellaneous Technical |
| Ö |
214 |
0xD6 |
deleteright |
⌦ |
8998 |
U+2326 |
Erase to the right |
Miscellaneous Technical |
| × |
215 |
0xD7 |
head2left |
(Three-D top-lighted leftwards arrowhead – no equivalent) |
| Ø |
216 |
0xD8 |
head2right |
➢ |
10146 |
U+27A2 |
Three-D top-lighted rightwards arrowhead |
Dingbats |
| Ù |
217 |
0xD9 |
head2up |
(Three-D right-lighted upwards arrowhead – no equivalent) |
| Ú |
218 |
0xDA |
head2down |
(Three-D left-lighted downwards arrowhead – no equivalent) |
| Û |
219 |
0xDB |
circleleft |
(Circled heavy white leftwards arrow – no equivalent) |
| Ü |
220 |
0xDC |
circleright |
➲ |
10162 |
U+27B2 |
Circled heavy white rightwards arrow |
Dingbats |
| Ý |
221 |
0xDD |
circleup |
(Circled heavy white upwards arrow – no equivalent) |
| Þ |
222 |
0xDE |
circledown |
(Circled heavy white downwards arrow – no equivalent) |
| ß |
223 |
0xDF |
barb2left |
(Wide-headed leftwards arrow – no equivalent) |
| à |
224 |
0xE0 |
barb2right |
(Wide-headed rightwards arrow – no equivalent) |
| á |
225 |
0xE1 |
barb2up |
(Wide-headed upwards arrow – no equivalent) |
| â |
226 |
0xE2 |
barb2down |
(Wide-headed downwards arrow – no equivalent) |
| ã |
227 |
0xE3 |
barb2nw |
(Wide-headed north west arrow – no equivalent) |
| ä |
228 |
0xE4 |
barb2ne |
(Wide-headed north east arrow – no equivalent) |
| å |
229 |
0xE5 |
barb2sw |
(Wide-headed south west arrow – no equivalent) |
| æ |
230 |
0xE6 |
barb2se |
(Wide-headed south east arrow – no equivalent) |
| ç |
231 |
0xE7 |
barb4left |
(Heavy wide-headed leftwards arrow – no equivalent) |
| è |
232 |
0xE8 |
barb4right |
➔ |
10132 |
U+2794 |
Heavy wide-headed rightwards arrow |
Dingbats |
| é |
233 |
0xE9 |
barb4up |
(Heavy wide-headed upwards arrow – no equivalent) |
| ê |
234 |
0xEA |
barb4down |
(Heavy wide-headed downwards arrow – no equivalent) |
| ë |
235 |
0xEB |
barb4nw |
(Heavy wide-headed north west arrow – no equivalent) |
| ì |
236 |
0xEC |
barb4ne |
(Heavy wide-headed north east arrow – no equivalent) |
| í |
237 |
0xED |
barb4sw |
(Heavy wide-headed south west arrow – no equivalent) |
| î |
238 |
0xEE |
barb4se |
(Heavy wide-headed south east arrow – no equivalent) |
| ï |
239 |
0xEF |
bleft |
⇦ |
8678 |
U+21E6 |
Leftwards white arrow |
Arrows |
| ð |
240 |
0xF0 |
bright |
⇨ |
8680 |
U+21E8 |
Rightwards white arrow |
Arrows |
| ñ |
241 |
0xF1 |
bup |
⇧ |
8679 |
U+21E7 |
Upwards white arrow |
Arrows |
| ò |
242 |
0xF2 |
bdown |
⇩ |
8681 |
U+21E9 |
Downwards white arrow |
Arrows |
| ó |
243 |
0xF3 |
bleftright |
⬄ |
11012 |
U+2B04 |
Left right white arrow |
Miscellaneous Symbols and Arrows |
| ô |
244 |
0xF4 |
bupdown |
⇳ |
8691 |
U+21F3 |
Up down white arrow |
Arrows |
| õ |
245 |
0xF5 |
bnw |
⬀ |
11008 |
U+2B00 |
North east white arrow |
Miscellaneous Symbols and Arrows |
| ö |
246 |
0xF6 |
bne |
⬁ |
11009 |
U+2B01 |
North west white arrow |
Miscellaneous Symbols and Arrows |
| ÷ |
247 |
0xF7 |
bsw |
⬃ |
11011 |
U+2B03 |
South west white arrow |
Miscellaneous Symbols and Arrows |
| ø |
248 |
0xF8 |
bse |
⬂ |
11010 |
U+2B02 |
South east white arrow |
Miscellaneous Symbols and Arrows |
| ù |
249 |
0xF9 |
bdash1 |
▭ |
9645 |
U+25AD |
White rectangle |
Geometric Shapes |
| ú |
250 |
0xFA |
bdash2 |
▫ |
9643 |
U+25AB |
White small square |
Geometric Shapes |
| û |
251 |
0xFB |
xmarkbld |
✗ |
10007 |
U+2717 |
Ballot X |
Dingbats |
| ü |
252 |
0xFC |
checkbld |
✓ |
10003 |
U+2713 |
Check mark |
Dingbats |
| ý |
253 |
0xFD |
boxxmarkbld |
☒ |
9746 |
U+2612 |
Ballot box with X (font-weight:bold) |
Dingbats |
| þ |
254 |
0xFE |
boxcheckbld |
☑ |
9745 |
U+2611 |
Ballot box with check (font-weight:bold) |
Dingbats |
| ÿ |
255 |
0xFF |
windowslogo |
(Windows logo – no equivalent) |


Original Size: 1.27KB gzipped (3.59KB uncompressed)
Minified Size: 1017 bytes gzipped (2.05KB uncompressed)
There's not a lot of error handling or overhead in this plugin, or care for IE8 or below (as it should be in 2014). It's expected that you just want a simple way to show data in an overlay without all the hoo-ha you get with some alternatives.
href='#div-id'
on the link.href='/path/to/file.htm'
on the link.data-content='The content goes here'
.$('a').quickBox({overlay:'#f0f'});
href='/path/to/image.jpg'
; we wait for the image to load first.Settings can be set in the constructor, or over-ridden on individual links by using html5 data attributes. See the examples above for more information.
Default settings are:
{ width: "auto", // can be "auto", or "50%", or "50px", or "25em", etc height: "auto", // can be "autp", or "75%", or "500px", or "5em", etc scrollable: false, // if height is not "auto", then allows overflow-y to scroll escape: false, // if you want to allow pressing escape to hide the box overlay: "#000" // overlay is shown at 50% opacity of this colour }


{% extends 'exotic_bay/base.html' %} {% load staticfiles %} {% block title_block %} About Us {% endblock %} {% block body_block %}
Exotic-Bay is Glasgow's most reliable and highest rated Exotic pet specialist. Exotic-Bay is Glasgow's most reliable and highest rated Exotic pet specialist.
Licensed European Pet Courier
Exotic-Bay’s Largest Choice
Friendly Knowledgeable staff
Exotic-Bay is the longest established exotic animal and reptile shop in Glasgow, and one of only a handful that have traded for three decades in the UK. It has a reputation that can only be earned over a long period of time!
Exotic-Bay was made by four enthusiasts like yourself and we love to share our knowledge and expertise! But beware, our enthusiasm is infectious! We can help you, no matter what your level within the hobby.
Exotic-Bay offers the largest selection of exotic animals in the UK with unusual and infrequently seen for sale species our specialty. At any one time,we have over 200 reptiles, amphibians, invertebrates and other exotic animals for sale.
Exotic-Bay is also proud to be the only pet selling online store with their very own delivery service. This enables us to deliver to in anywhere in the United Kingdom!
At the heart of Exotic-Bay are the founders Ans Farooq, Daniyal Khan, Tom Anderson and Stephen Graham. It is well known in the hobby not only for Exotic-Bay Exotics but also for his committee work with the various well known Societies and Federations within the UK, including the IHS which he first joined in 1980. By the early 1990’s, we was one of the largest snake breeders in the UK, specialising in Colubrids and small Boid species. We opened Exotic-Bay in 1993, the longest established exotic animal specialist in the heart of Glasgow and one of a handful in the UK that have traded for such a long time. We regularly contribute to magazines, journals, TV and Radio programmes – and even movies. We also hold a City and Guilds in Herpetology!


Chart showing grouped and stacked 3D columns. These features are available both for 2D and 3D column charts.


NORTH A film review by Ben Hoffman Copyright 1994 Ben Hoffman
This could have been an enjoyable movie. Rob Reiner, who has given us one excellent film after another, really blew it on this one. Even the great cast were not utilized to their fullest, most being on the screen for a few minutes at a time. Was he just snowing us with big names?
North (Elijah Wood) is eleven years old. His dad and mom (Seinfeld's Jason Alexander and Julia Louis-Dreyfus) are totally oblivious to him; at the dinner table he can't get a word in. And that is sad because everyone else loves the kid. He is tops in school grades, best hitter and pitcher on his baseball team and even does a great Tevye in his school's "Fiddler On The Roof" play. Every parent holds him up as an example to their kids: "Would North do that?"
 North's is a chair in a department store in a mall. Passersby would think he was just a young boy waiting while his parents are shopping. But along comes someone dressed as a bunny. (Bruce Willis ... who also does the narrating). The bunny works at the store and is on a break.
The bunny hears out North's sad story and gives him some options. North brings his parents to court where a judge (Alan Arkin) rules in his favor, allowing him to seek out some parents he would prefer to his own. The courtroom scene with the crazy judge is funny.
The stipulation is: find parents you want by Labor Day or you will be sent to an orphanage. North sets out to various places around the world looking for parents with whom he would be happy.
Where did the movie go wrong? In a couple of places. The "adventures" become repetitious and the 88-minute film drags. But the worst and most incredible part, given Reiner's history, the sub-plot involves someone trying to murder North, actually firing at him. What a poor plot for a movie for children!
Directed by Rob Reiner.
1.5 bytes 4 Bytes = Absolutely must see. 3 Bytes = Too good to be missed. 2 Bytes = So so. 1 Byte = Save your money.
<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


I'm Jon Tai on the frontend engineering team.
I go by jtai on Twitter, GitHub, and IGN's Jabber.
You should already have some idea, since you
used Git to apply for Code Foo.
Git is a distributed revision control and source code management system ...
Distributed means you ask people to pull your changes instead of pushing your changes to a central repository.
... with features like cheap local branching, convenient staging areas, and multiple workflows
And it's fast, too.
Follow this handy tutorial at GitHub.
Most of us actually install Git with Homebrew, which we also use to install other stuff like memcache.
Skip the "GitHub for Mac" GUI; if you want a GUI,
try GitX instead.
The complete collection of a project's files
and the history of those files.
Repositories are mirrored to GitHub
and shared with all collaborators.
►
►
A personal copy of a repository.
►
If you don't have write access to a repository, you can make your own copy of it and commit to the copy.
You can publish your fork. You can also ask the original repository's owner to pull your changes.
GitHub makes this process very, very easy.
A copy of a repository, typically
hosted someplace like GitHub.
When you clone a repository, the source repository is automatically added as a remote called origin
.
If you're cloning a fork, you probably want to add a remote pointing to the original repository. By convention, this remote is called upstream
.
You can push changes from your local repository to origin
(or any other remotes you configure).
►
You can also pull changes from origin
into your local repository.
►
Your local repository remembers the state of each remote. This state is updated every time you do agit fetch
.
◄►
A staging area for changes.
The index stores the state of all files in the repository.
The index does not automatically reflect the files
in your working directory!
Changes must be
explictly added to the index.
A change to a repository, including all of the
metadata associated with that change.
Metadata includes the author, the date, a short log message, and the state of all files in the repository.
The first commit in a repository has no parents.
Most commits have one parent, but some commits
can have more than one parent.
A line of development; a series of commits.
By convention, the "main" branch is called master
.
Each commit already knows its parent, so a branch only needs to reference the last commit in the branch.
Branches allow development to occur in parallel.
Branches are usually merged with other branches to reunite separate development efforts.
master
Makes a personal copy of a repository.
You will want to do all your branching
and committing in your own fork.
When you're ready to ship, submit a pull request.
(More on pull requests later.)
GitHub has a guide on forks.
git clone git@github.com:ign/project.git
Makes a local copy of the remote
repository for you to work in.
►
Each project has its own unique URL; check the project's page on GitHub for the URL you should use.
If you have a fork, make sure to clone the fork,
not the original repository.
git clone git@github.com:jtai/project.git
Unless you really screw up your local repository, you should only need to clone each project once.
git checkout -b <branch>
Creates a new branch off of the current branch's latest commit. It also switches to the new branch.
You should create a branch for every feature
or bug you work on. More on this later.
To switch branches, use git checkout <branch>
(without the -b
).
If you need the branch on a second machine, first make sure it's pushed to GitHub from the original machine.
Then do a git pull
on the second machine, and use git checkout <branch>
to switch to the branch.
git status
Shows you the state of your working directory,
the index, and the remote.
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
#
# Changes to be committed:
# (use "git reset HEAD ..." to unstage)
#
# modified: assets/images/logo.png
#
# Changes not staged for commit:
# (use "git add ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
#
# modified: index.html
#
# Untracked files:
# (use "git add ..." to include in what will be committed)
#
# assets/images/git_url.png
# assets/images/programming.gif
git diff
Shows you the changes in your working
directory relative to the index.
So if you add a change to the index, it won't show up in git diff
anymore.
This lets you add changes to the index one by one until git diff
output is empty.
git checkout -- <file>
Discards uncommitted changes in your working
directory by re-checking out the file.
git checkout
can also take a branch argument,
so the --
means
"what comes after this is a file".
This operation is called "revert" in some other systems
(CVS, Subversion, Mercurial)
git add <file>
Adds a file (or the changes to a file, if the file is
already managed by Git) to the index.
Unlike some other systems, you have to add a file
to the index every time it changes,
not just the
first time you add the file.
To view changes that have been staged in the index, use
git diff --cached
git commit
You will be prompted for a commit message,
then the changes staged in the index
will become an actual commit.
The first line of a commit message should be
a short summary of the changes you made
(50 characters or less).
If necessary, a more detailed explanation (perhaps
of why you made the change) should follow
after an empty blank line.
commit b8803de64e724cde0e802053e031189726b5caed
Author: Jonathan Tai <>
Date: Fri Jul 6 11:34:00 2012 -0700
Updated object migration to use new release status field for all regions
This applies the same change as c1a28a09c0721be9105895992524f5c1105ddbc8,
except for UK, AU, and JP. Since the Object API is already using the new
"status" field, UK/AU/JP status updates were not being written to the API
because the migration script was setting the old "released" field.
More guidelines (and rationale) can be
found in this blog post.
git diff master...<branch>
Shows the changes in your branch that are not in master.
You should compare your branch with master before you push (publish your code) to make sure the changes
are what you think they should be.
You should make sure your local master
is up to date before diffing.
Changes in master that are not in your branch will not be shown. To show the actual diff, use two dots instead.
git diff master..<branch>
git push -u origin <branch>
Pushes changes in branch
to origin
, making
your changes accessible to others.
►
The -u
argument sets up your local branch
to track the remote branch so it will be
updated if you do a git pull
later.
It's a good idea to push at least once a day
to ensure your work is backed up in case
something bad happens to your laptop.
git pull
Updates your current branch with
changes from origin
.
►
git pull
is actually a shortcut for two other operations: git fetch
and git merge
.
Downloads changes from a remote repository, updating your local repository. Your local branches and working directory are not updated.
►
The newly-downloaded changes from the remote branch will be merged into your current local branch.*
The working directory is also updated.
*If your current local branch is configured to track a remote branch
Since a merge is performed, you should make sure your working directory is clean before doing a git pull
.
git merge <branch>
Merges changes from branch
into your current branch.
There are two typical reasons to do this.
If you're working on a branch for a long time, you will want to periodically merge master
into your branch.
Switch to your branch with git checkout <branch>
, then do git merge master
.
When you're done with a branch, you will want to
merge your branch into master
.
Switch to master
with git checkout master
,
then do git merge <branch>
.
If conflicting changes are introduced in the two branches being merged, a merge conflict will occur. Ask for help.
You should create a branch for every
feature or bug you work on.
Branches allow you (or us as a team) to
work on separate things in parallel.
These things can then be reviewed,
tested, and merged separately.
Keeping changes isolated until they're ready keeps your master
branch deployable at all times.
GitHub pull requests are an easy way to track proposed changes. Just push your branch, then open a pull request.
Everyone with write access to the target repository
will be notified. The change can be discussed as
a whole or line by line.
Generally a reviewer would accept your pull request by merging the changes, but if your project uses a shared repository,
you may be asked to merge and
close your own pull request.
What happens after the code is merged
depends on the project.
Forks can be little more complicated because you have two repositories to deal with instead of just one.
►
Fortunately, the concepts are mostly the same. Work in a branch (in your fork), pull periodically from upstream, and submit a pull request when you're ready to ship.
(Diagram is vastly over-simplified)
If you're using a fork, don't commit to the master
branch (or any branch that exists in upstream
).
Instead,
set master
aside for tracking upstream
and make all your changes in a branch.
To update your master
branch, switch to master
,
do a fetch and merge from upstream
, then push it to
your fork (origin
).
git checkout master
git fetch upstream
git merge upstream/master
git push origin master
Once your fork (origin
) is up to date, merge from master into your branch to update it just as you
would if you weren't using a fork.
git checkout <branch>
git merge master
(Yes, this will be over soon.)
Branches are cheap, and commits are fast. Don't work on something for a week, then check it all in at once.
(But don't over-do it, every commit should at least parse/build)
Don't be afraid to delete code, or even entire files. As long as that code was previously committed, it will be in the revision history forever, so we can always get it back.
Don't add large binary blobs to the repository. Once you add it, even if you delete it, it will take up space in the revision history forever.
Do not use git pull
with a fourth refspec argument,
e.g., git pull origin master
.
It doesn't do what you think it does.
git pull origin master
merges changes
from the remote master
branch directly into
your current local branch.
A bare git pull
will only merge a remote branch into a local branch with the same name*.
With a refspec, git pull
acts more like git merge
, so you can accidentally merge two branches when you just meant to update your branch.
Actually, it will use the tracking branch configuration you specified using git push -u
,
but unless you have a really odd configuration, local and remote branch names will be the same
Further, the remote references on your machine are
not updated, so git status
will say you're ahead
of origin when you're really not.
git push origin <branch>
is perfectly fine.
In fact, it is encouraged, otherwise you will push all branches.
Any local branches that are out of date will fail to push, and any local branches that have been
deleted on the remote will be re-created.
Google, git help <command>
, or
ask one of the engineers!
jontai.me/presentations
jtai on Twitter, GitHub, and IGN's Jabber


Issue a deploy transaction.
A deploy request of the form: { chaincodeID, payload, metadata, uuid, timestamp, confidentiality: { level, version, nonce }
Execute a transaction
The transaction.
Get the attribute names associated
Get the chain with which this transaction context is associated.
The chain
Get the member with which this transaction context is associated.
The member
Get the member services, or undefined if security is not enabled.
The member services
Issue an invoke transaction.
An invoke request of the form: XXX
Create a deploy transaction.
A BuildRequest or DeployRequest
Create a development mode deploy transaction.
A development mode BuildRequest or DeployRequest
Create an invoke or query transaction.
A build or deploy request of the form: { chaincodeID, payload, metadata, uuid, timestamp, confidentiality: { level, version, nonce }
Create a network mode deploy transaction.
A network mode BuildRequest or DeployRequest
Issue an query transaction.
A query request of the form: XXX
Set the attributes for this transaction context.
Generated using TypeDoc
A transaction context emits events 'submitted', 'complete', and 'error'. Each transaction context uses exactly one tcert.


This directory contains a set of benchmark programs to compare GEL2's
performance with that of popular object-oriented programming languages.
Each benchmark includes versions written in C++, Java, C# and GEL2.
The benchmarks include the following:
- binarytrees: from the Computer Language Shootout Benchmarks. This program allocates and frees a large number of binary trees.
- nsieve: also from the Computer Language Shootout site. This
program counts prime numbers using the well-known Sieve of Eratosthenes
algorithm. It performs few memory allocations; its inner loop
involves arrray accesses.
- sort: on each of a series of iterations, this program generates a
list of 1,000,000 randomly generated integers and sorts them using a
recursive mergesort algorithm.
- sortstring: like the sort benchmark, but uses a list of 400,000 randomly generated strings.
The following performance measurements were generated on a Pentium 4
computer running Ubuntu Linux, using the ptime program (see ptime.c in
this directory).
binary-trees 18
|
CPU (sec) |
virtual (Mb) |
resident (Mb) |
writeable (Mb) |
| C++ |
14.6 |
27.1 |
25.4 |
24.9 |
| Java |
15.7 |
265.8 |
56.4 |
199.8 |
| C# |
22.9 |
86.3 |
68.1 |
65.5 |
| GEL2 |
19.7 |
27.2 |
25.4 |
24.9 |
nsieve 12
|
CPU (sec) |
virtual (Mb) |
resident (Mb) |
writeable (Mb) |
| C++ |
5.0 |
42.5 |
40.6 |
40.2 |
| Java |
8.6 |
265.3 |
50.7 |
199.3 |
| C# |
8.8 |
64.9 |
46.7 |
44.0 |
| GEL2 |
9.4 |
42.6 |
40.8 |
40.3 |
sort 5
|
CPU (sec) |
virtual (Mb) |
resident (Mb) |
writeable (Mb) |
| C++ |
11.9 |
18.2 |
16.3 |
15.9 |
| Java |
6.0 |
265.8 |
37.8 |
199.8 |
| C# |
6.6 |
69.2 |
48.0 |
48.4 |
| GEL2 |
7.9 |
18.2 |
16.4 |
15.9 |
sortstring 5
|
CPU (sec) |
virtual (Mb) |
resident (Mb) |
writeable (Mb) |
| C++ |
7.5 |
25.2 |
23.4 |
23.0 |
| Java |
6.7 |
265.8 |
60.1 |
200.0 |
| C# |
10.2 |
60.9 |
42.3 |
40.1 |
| GEL2 |
7.1 |
34.7 |
32.9 |
32.4 |


{% blocktrans %}Search for an exact value: field_name=value{% endblocktrans %}
{% blocktrans %}Search for an exact value containing space: field_name="value with space"{% endblocktrans %}
{% blocktrans %}Containing a text: field_name:val{% endblocktrans %}
{% blocktrans %}Exclude a value: field_name!=value{% endblocktrans %}
{% blocktrans %}You can also use <, >, <= and >= to find ranges of values: field_name<10{% endblocktrans %}
{% blocktrans %}To search for dates, use ISO8601 format: field_name>1969-07-20{% endblocktrans %}
{% blocktrans %}You can filter for relative dates: field_name < "10 days ago". Supported fields are days, months, years, quarters and weekdays. They can be negative and abbreviated from "10 days ago" to "-10d".{% endblocktrans %}


Fresh Pic : Tiger spotted again in Mihan campus
by Nagpur Today, Nagpur NewsMoving towards the Bor Tiger Reserve in Wardha
Nagpur: As the news of tiger in Mihan campus spread like a wildfire and went on to become talk of the town, yet another sighting of the wildcat around Patanjali site has come across.
The tiger was spotted sitting on the brink of the bushes in Mihan area at 4.35 pm on Tuesday.
A person who happened to come across the sight clicked a picture of the wild cat in his mobile phone.
The tiger that has been roaming in MIHAN region for the past four days is apparently moving out of the area.
“We have received reports that the tiger is moving towards the Bor Tiger Reserve in Wardha. Our team is on the field to confirm that,” Deputy Conservator of Forest Prabhunath Shukla told media. “If it is true, it’s good news,” he added.
Sukla said on Monday, the tiger had reportedly killed and eaten a calf in the area.


Account Balance Summary
Deposit vs. Withdraw (Last 3 Months)
Withdraw By Category (Last 3 Months)
Deposit By Category (Last 3 Months)


m.withAttr
This is an event handler factory. It returns a method that can be bound to a DOM element's event listener.
Typically, it's used in conjunction with m.prop
to implement data binding in the view-to-model direction.
This method is provided to decouple the browser's event model from the controller/logic model.
You should use this method and implement similar ones when extracting values from a browser's Event object, instead of hard-coding the extraction code into controllers (or model methods).
Usage
//standalone usage
document.body.onclick = m.withAttr("title", function(value) {
//alerts the title of the body element when it's clicked
alert(value);
})
A contrived example of bi-directional data binding
var user = {
model: function(name) {
this.name = m.prop(name);
},
controller: function() {
return {user: new user.model("John Doe")};
},
view: function(controller) {
m.render("body", [
m("input", {onchange: m.withAttr("value", controller.user.name), value: controller.user.name()})
]);
}
};
Signature
EventHandler withAttr(String property, void callback(any value) [, any callbackThis])
where:
EventHandler :: void handler(Event e)
String property
Defines the property of the DOM element whose value will be passed to the callback.
void callback(any value)
This function will be called with the value of the defined property as an argument.
any value
This is the value of the defined DOM element's property.
any callbackThis
The object which the
this
keyword points to for the callbackreturns EventHandler handler
This handler method can be assigned to properties like
onclick
, or passed as callbacks toaddEventListener
.


Represents options to customize the PS2AnnotationViewer.
| Name | Type | Description |
|---|---|---|
| editEnabled | boolean | define if the edit and delete button should be visible Default: false |
| visibleInFullscreen | boolean | define if the annotations are visible in fullscreen Default: false |


public interface
CategoryEnhancement
CategoryEnhancement
will correspond to a
CategoryProperty
.
A category enhancement can contribute to the index in two possible ways:
getCategoryTokenBytes(CategoryAttribute)
. This data will be read
during search using
extractCategoryTokenData(byte[], int, int)
.
CategoryListTokenizer
through
getCategoryListTokenizer(TokenStream, EnhancementsIndexingParams, TaxonomyWriter)
. The
CategoryListTokenizer
should add a single token which includes
all the enhancement relevant data from the categories. The category list
token's text is defined by
getCategoryListTermText()
.
| Modifier and Type | Method and Description |
|---|---|
boolean
|
equals
(
Object
o)
Category enhancements must override
Object.equals(Object)
, as it is
used in
EnhancementsPayloadIterator.getCategoryData(CategoryEnhancement)
.
|
Object
|
extractCategoryTokenData
(byte[] buffer,
int offset,
int length)
Get the data of this enhancement from a category token payload.
|
boolean
|
generatesCategoryList
()
Declarative method to indicate whether this enhancement generates separate
category list.
|
String
|
getCategoryListTermText
()
Returns the text of this enhancement's category list term.
|
CategoryListTokenizer
|
getCategoryListTokenizer
(
TokenStream
tokenizer,
EnhancementsIndexingParams
indexingParams,
TaxonomyWriter
taxonomyWriter)
Get the
CategoryListTokenizer
which generates the category list for
this enhancement.
|
byte[]
|
getCategoryTokenBytes
(
CategoryAttribute
categoryAttribute)
Get the bytes to be added to the category token payload for this
enhancement.
|
Class
extends
CategoryProperty
>
|
getRetainableProperty
()
Get a
CategoryProperty
class to be retained when creating
CategoryParentsStream
.
|
byte[] getCategoryTokenBytes( CategoryAttribute categoryAttribute)
NOTE : The returned array is copied, it is recommended to allocate a new one each time.
The bytes generated by this method are the input of
extractCategoryTokenData(byte[], int, int)
.
categoryAttribute
- The attribute of the category.
Object extractCategoryTokenData(byte[] buffer, int offset, int length)
The input bytes for this method are generated in
getCategoryTokenBytes(CategoryAttribute)
.
buffer
- The payload buffer.
offset
- The offset of this enhancement's data in the buffer.
length
- The length of this enhancement's data (bytes).
boolean generatesCategoryList()
true
if generates category list, else
false
.
String getCategoryListTermText()
CategoryListTokenizer getCategoryListTokenizer( TokenStream tokenizer, EnhancementsIndexingParams indexingParams, TaxonomyWriter taxonomyWriter)
CategoryListTokenizer
which generates the category list for
this enhancement. If
generatesCategoryList()
returns
false
this method will not be called.
tokenizer
- The input stream containing categories.
indexingParams
- The indexing params to use.
taxonomyWriter
- The taxonomy to add categories and get their ordinals.
CategoryListTokenizer
generating the category list for
this enhancement, with
tokenizer
as it's input.
Class extends CategoryProperty > getRetainableProperty()
CategoryProperty
class to be retained when creating
CategoryParentsStream
.
CategoryProperty
class to be retained when creating
CategoryParentsStream
, or
null
if there is no such
property.
boolean equals( Object o)
Object.equals(Object)
, as it is
used in
EnhancementsPayloadIterator.getCategoryData(CategoryEnhancement)
.


--- layout: post title: 'Cory Doctorow on DRM fallacies:' date: 2004-12-31 00:00:00 ---
Cory Doctorow on DRM fallacies: "There's no reason to believe that DRM makes more content available. There's no reason to let the studios "call the shots" -- we haven't before this. There's no reason to believe that DRM makes media cheaper, quite the contrary. The features that make your "reasonable" DRM palatable to the market today can and are rescinded tomorrow."


Card - check out the demo
A better credit card form in one line of code
Card will take any credit card form and make it the best part of the checkout process (without you changing anything). Everything is created with pure CSS, HTML, and Javascript — no images required.
Usage (without jQuery)
To use, you'll need to include the Card JavaScript files into your HTML. You can find the necessary file at /dist/card.js
and include it in your HTML like so.

Once you've included those files, you can initialize Card.
var card = new Card({
// a selector or DOM element for the form where users will
// be entering their information
form: 'form', // *required*
// a selector or DOM element for the container
// where you want the card to appear
container: '.card-wrapper', // *required*
formSelectors: {
numberInput: 'input#number', // optional — default input[name="number"]
expiryInput: 'input#expiry', // optional — default input[name="expiry"]
cvcInput: 'input#cvc', // optional — default input[name="cvc"]
nameInput: 'input#name' // optional - defaults input[name="name"]
},
width: 200, // optional — default 350px
formatting: true, // optional - default true
// Strings for translation - optional
messages: {
validDate: 'valid\ndate', // optional - default 'valid\nthru'
monthYear: 'mm/yyyy', // optional - default 'month/year'
},
// Default placeholders for rendered fields - optional
placeholders: {
number: '•••• •••• •••• ••••',
name: 'Full Name',
expiry: '••/••',
cvc: '•••'
},
// if true, will log helpful messages for setting up Card
debug: false // optional - default false
});
Installing card from npm
If you're using npm, you can install card.js with:
npm install --save card
var $ = require("jquery");
// The current card.js code does not explictly require jQuery, but instead uses the global, so this line is needed.
window.jQuery = $;
var card = require("card");
Using multiple inputs for one field
Card can be used in forms where you have multiple inputs that render to a single field (i.e. you have a first and last name input). To use Card with this functionality, just pass in a selector that selects the fields in the correct order. For example,

<form>
<input type="text" name="number">
<input type="text" name="first-name"/>
<input type="text" name="last-name"/>
<input type="text" name="expiry"/>
<input type="text" name="cvc"/>
</form>

Rendering with different initial card placeholders
Card renders with default placeholders for card name
, number
, expiry
, and cvc
. To override these placeholders, you can pass in a placeholders
object.

<form>
<input type="text" name="number">
<input type="text" name="name"/>
<input type="text" name="expiry"/>
<input type="text" name="cvc"/>
</form>

Translation
To render the card with the strings in a different language, you can pass in a messages
object.

<form>
<input type="text" name="number">
<input type="text" name="name"/>
<input type="text" name="expiry"/>
<input type="text" name="cvc"/>
</form>

Using with jQuery
To use with jQuery, you'll need to include the jquery.card.js
file into your HTML. You can find the necessary file at /dist/jquery.card.js
and include it in your HTML like so.

Once you've included those files, you can initialize Card with jQuery.
$('form').card({
// a selector or DOM element for the container
// where you want the card to appear
container: '.card-wrapper', // *required*
// all of the other options from above
});
Using with other javascript libraries
Card has wrappers that make it easy to use with other javascript libraries:
Angular
Ember
React
Development
To contribute, follow this steps:
$ git clone --recursive https://github.com/jessepollak/card.git
$ cd card
$ git submodule init && git submodule update
$ npm install
$ npm development
Now, if you go to localhost:8080/example in your browser, you should see the demo page.
Places using Card
Card is used in the wild in these places:
- InspectAll
- PennyWhale
- MakeSpace
- Blumpa
- CourseLoads
- PubNub
- GigSalad
- Boligninja
- EasyCarros
- Sintelle
- Wevorce
- PayumServer
- Paribus
- Bizzabo
- Tortuba
- Netlify
Are you using Card in production? If so, we'd love to link to you from this page. Open a PR or drop @jessepollak a line on Twitter and we'll add you right away!
Donations
If you'd like to donate to help support development of Card, send Bitcoin directly to 17NUKd3v7GWben18kGhmFafa4ZpWrXpQSC
or through Coinbase here.