| PangoContext | |
| struct | PangoItem |
| struct | PangoAnalysis |
| #define | PANGO_ANALYSIS_FLAG_CENTERED_BASELINE |
| #define | PANGO_ANALYSIS_FLAG_IS_ELLIPSIS |
| #define | PANGO_TYPE_DIRECTION |
| PangoLogAttr |
The Pango rendering pipeline takes a string of Unicode characters and converts it into glyphs. The functions described in this section accomplish various steps of this process.
GList * pango_itemize (PangoContext *context
,const char *text
,int start_index
,int length
,PangoAttrList *attrs
,PangoAttrIterator *cached_iter
);
Breaks a piece of text into segments with consistent
directional level and shaping engine. Each byte of text
will
be contained in exactly one of the items in the returned list;
the generated list of items will be in logical order (the start
offsets of the items are ascending).
cached_iter
should be an iterator over attrs
currently positioned at a
range before or containing start_index
; cached_iter
will be advanced to
the range covering the position just after start_index
+ length
.
(i.e. if itemizing in a loop, just keep passing in the same cached_iter
).
context |
a structure holding information that affects the itemization process. |
|
text |
the text to itemize. |
|
start_index |
first byte in |
|
length |
the number of bytes (not characters) to process
after |
|
attrs |
the set of attributes that apply to |
|
cached_iter |
Cached attribute iterator, or |
[allow-none] |
a GList of PangoItem
structures. The items should be freed using pango_item_free()
probably in combination with g_list_foreach()
, and the list itself
using g_list_free()
.
[transfer full][element-type Pango.Item]
GList * pango_itemize_with_base_dir (PangoContext *context
,PangoDirection base_dir
,const char *text
,int start_index
,int length
,PangoAttrList *attrs
,PangoAttrIterator *cached_iter
);
Like pango_itemize()
, but the base direction to use when
computing bidirectional levels (see pango_context_set_base_dir()
),
is specified explicitly rather than gotten from the PangoContext.
context |
a structure holding information that affects the itemization process. |
|
base_dir |
base direction to use for bidirectional processing |
|
text |
the text to itemize. |
|
start_index |
first byte in |
|
length |
the number of bytes (not characters) to process
after |
|
attrs |
the set of attributes that apply to |
|
cached_iter |
Cached attribute iterator, or |
[allow-none] |
a GList of
PangoItem structures. The items should be freed using
pango_item_free()
probably in combination with
g_list_foreach()
, and the list itself using g_list_free()
.
[transfer full][element-type Pango.Item]
Since: 1.4
void
pango_item_free (PangoItem *item
);
Free a PangoItem and all associated memory.
PangoItem *
pango_item_copy (PangoItem *item
);
Copy an existing PangoItem structure.
the newly allocated PangoItem, which
should be freed with pango_item_free()
, or NULL
if
item
was NULL
.
[nullable]
PangoItem *
pango_item_new (void
);
Creates a new PangoItem structure initialized to default values.
PangoItem * pango_item_split (PangoItem *orig
,int split_index
,int split_offset
);
Modifies orig
to cover only the text after split_index
, and
returns a new item that covers the text before split_index
that
used to be in orig
. You can think of split_index
as the length of
the returned item. split_index
may not be 0, and it may not be
greater than or equal to the length of orig
(that is, there must
be at least one byte assigned to each item, you can't create a
zero-length item). split_offset
is the length of the first item in
chars, and must be provided because the text used to generate the
item isn't available, so pango_item_split()
can't count the char
length of the split items itself.
orig |
||
split_index |
byte index of position to split item, relative to the start of the item |
|
split_offset |
number of chars between start of |
new item representing text before split_index
, which
should be freed with pango_item_free()
.
GList *
pango_reorder_items (GList *logical_items
);
From a list of items in logical order and the associated directional levels, produce a list in visual order. The original list is unmodified.
PangoContext *
pango_context_new (void
);
Creates a new PangoContext initialized to default values.
This function is not particularly useful as it should always
be followed by a pango_context_set_font_map()
call, and the
function pango_font_map_create_context()
does these two steps
together and hence users are recommended to use that.
If you are using Pango as part of a higher-level system,
that system may have it's own way of create a PangoContext.
For instance, the GTK+ toolkit has, among others,
gdk_pango_context_get_for_screen()
, and
gtk_widget_get_pango_context()
. Use those instead.
void
pango_context_changed (PangoContext *context
);
Forces a change in the context, which will cause any PangoLayout using this context to re-layout.
This function is only useful when implementing a new backend for Pango, something applications won't do. Backends should call this function if they have attached extra data to the context and such data is changed.
Since: 1.32.4
guint
pango_context_get_serial (PangoContext *context
);
Returns the current serial number of context
. The serial number is
initialized to an small number larger than zero when a new context
is created and is increased whenever the context is changed using any
of the setter functions, or the PangoFontMap it uses to find fonts has
changed. The serial may wrap, but will never have the value 0. Since it
can wrap, never compare it with "less than", always use "not equals".
This can be used to automatically detect changes to a PangoContext, and is only useful when implementing objects that need update when their PangoContext changes, like PangoLayout.
Since: 1.32.4
void pango_context_set_font_map (PangoContext *context
,PangoFontMap *font_map
);
Sets the font map to be searched when fonts are looked-up in this context. This is only for internal use by Pango backends, a PangoContext obtained via one of the recommended methods should already have a suitable font map.
PangoFontMap *
pango_context_get_font_map (PangoContext *context
);
Gets the PangoFontMap used to look up fonts for this context.
the font map for the PangoContext. This value is owned by Pango and should not be unreferenced.
[transfer none]
Since: 1.6
PangoFontDescription *
pango_context_get_font_description (PangoContext *context
);
Retrieve the default font description for the context.
void pango_context_set_font_description (PangoContext *context
,const PangoFontDescription *desc
);
Set the default font description for the context
PangoLanguage *
pango_context_get_language (PangoContext *context
);
Retrieves the global language tag for the context.
void pango_context_set_language (PangoContext *context
,PangoLanguage *language
);
Sets the global language tag for the context. The default language
for the locale of the running process can be found using
pango_language_get_default()
.
PangoDirection
pango_context_get_base_dir (PangoContext *context
);
Retrieves the base direction for the context. See
pango_context_set_base_dir()
.
void pango_context_set_base_dir (PangoContext *context
,PangoDirection direction
);
Sets the base direction for the context.
The base direction is used in applying the Unicode bidirectional
algorithm; if the direction
is PANGO_DIRECTION_LTR
or
PANGO_DIRECTION_RTL
, then the value will be used as the paragraph
direction in the Unicode bidirectional algorithm. A value of
PANGO_DIRECTION_WEAK_LTR
or PANGO_DIRECTION_WEAK_RTL
is used only
for paragraphs that do not contain any strong characters themselves.
PangoGravity
pango_context_get_base_gravity (PangoContext *context
);
Retrieves the base gravity for the context. See
pango_context_set_base_gravity()
.
Since: 1.16
void pango_context_set_base_gravity (PangoContext *context
,PangoGravity gravity
);
Sets the base gravity for the context.
The base gravity is used in laying vertical text out.
Since: 1.16
PangoGravity
pango_context_get_gravity (PangoContext *context
);
Retrieves the gravity for the context. This is similar to
pango_context_get_base_gravity()
, except for when the base gravity
is PANGO_GRAVITY_AUTO
for which pango_gravity_get_for_matrix()
is used
to return the gravity from the current context matrix.
Since: 1.16
PangoGravityHint
pango_context_get_gravity_hint (PangoContext *context
);
Retrieves the gravity hint for the context. See
pango_context_set_gravity_hint()
for details.
Since: 1.16
void pango_context_set_gravity_hint (PangoContext *context
,PangoGravityHint hint
);
Sets the gravity hint for the context.
The gravity hint is used in laying vertical text out, and is only relevant
if gravity of the context as returned by pango_context_get_gravity()
is set PANGO_GRAVITY_EAST
or PANGO_GRAVITY_WEST
.
Since: 1.16
const PangoMatrix *
pango_context_get_matrix (PangoContext *context
);
Gets the transformation matrix that will be applied when
rendering with this context. See pango_context_set_matrix()
.
the matrix, or NULL
if no matrix has
been set (which is the same as the identity matrix). The returned
matrix is owned by Pango and must not be modified or freed.
[nullable]
Since: 1.6
void pango_context_set_matrix (PangoContext *context
,const PangoMatrix *matrix
);
Sets the transformation matrix that will be applied when rendering with this context. Note that reported metrics are in the user space coordinates before the application of the matrix, not device-space coordinates after the application of the matrix. So, they don't scale with the matrix, though they may change slightly for different matrices, depending on how the text is fit to the pixel grid.
context |
||
matrix |
a PangoMatrix, or |
[allow-none] |
Since: 1.6
PangoFont * pango_context_load_font (PangoContext *context
,const PangoFontDescription *desc
);
Loads the font in one of the fontmaps in the context
that is the closest match for desc
.
PangoFontset * pango_context_load_fontset (PangoContext *context
,const PangoFontDescription *desc
,PangoLanguage *language
);
Load a set of fonts in the context that can be used to render
a font matching desc
.
context |
||
desc |
a PangoFontDescription describing the fonts to load |
|
language |
a PangoLanguage the fonts will be used for |
the newly allocated
PangoFontset loaded, or NULL
if no font matched.
[transfer full][nullable]
PangoFontMetrics * pango_context_get_metrics (PangoContext *context
,const PangoFontDescription *desc
,PangoLanguage *language
);
Get overall metric information for a particular font description. Since the metrics may be substantially different for different scripts, a language tag can be provided to indicate that the metrics should be retrieved that correspond to the script(s) used by that language.
The PangoFontDescription is interpreted in the same way as
by pango_itemize()
, and the family name may be a comma separated
list of figures. If characters from multiple of these families
would be used to render the string, then the returned fonts would
be a composite of the metrics for the fonts loaded for the
individual families.
context |
||
desc |
a PangoFontDescription structure. |
[allow-none] |
language |
language tag used to determine which script to get
the metrics for. |
[allow-none] |
a PangoFontMetrics object. The caller must call pango_font_metrics_unref()
when finished using the object.
void pango_context_list_families (PangoContext *context
,PangoFontFamily ***families
,int *n_families
);
List all families for a context.
context |
||
families |
location to store a pointer to
an array of PangoFontFamily *. This array should be freed
with |
[out][array length=n_families][transfer container] |
n_families |
location to store the number of elements in |
[out] |
void pango_break (const gchar *text
,int length
,PangoAnalysis *analysis
,PangoLogAttr *attrs
,int attrs_len
);
Determines possible line, word, and character breaks
for a string of Unicode text with a single analysis. For most
purposes you may want to use pango_get_log_attrs()
.
text |
the text to process |
|
length |
length of |
|
analysis |
PangoAnalysis structure from |
|
attrs |
an array to store character information in. |
[array length=attrs_len] |
attrs_len |
size of the array passed as |
void pango_get_log_attrs (const char *text
,int length
,int level
,PangoLanguage *language
,PangoLogAttr *log_attrs
,int attrs_len
);
Computes a PangoLogAttr for each character in text
. The log_attrs
array must have one PangoLogAttr for each position in text
; if
text
contains N characters, it has N+1 positions, including the
last position at the end of the text. text
should be an entire
paragraph; logical attributes can't be computed without context
(for example you need to see spaces on either side of a word to know
the word is a word).
text |
text to process |
|
length |
length in bytes of |
|
level |
embedding level, or -1 if unknown |
|
language |
language tag |
|
log_attrs |
array with one PangoLogAttr
per character in |
[array length=attrs_len] |
attrs_len |
length of |
void pango_find_paragraph_boundary (const gchar *text
,gint length
,gint *paragraph_delimiter_index
,gint *next_paragraph_start
);
Locates a paragraph boundary in text
. A boundary is caused by
delimiter characters, such as a newline, carriage return, carriage
return-newline pair, or Unicode paragraph separator character. The
index of the run of delimiters is returned in
paragraph_delimiter_index
. The index of the start of the paragraph
(index after all delimiters) is stored in next_paragraph_start
.
If no delimiters are found, both paragraph_delimiter_index
and
next_paragraph_start
are filled with the length of text
(an index one
off the end).
void pango_default_break (const gchar *text
,int length
,PangoAnalysis *analysis
,PangoLogAttr *attrs
,int attrs_len
);
This is the default break algorithm, used if no language
engine overrides it. Normally you should use pango_break()
instead. Unlike pango_break()
,
analysis
can be NULL
, but only do that if you know what
you're doing. If you need an analysis to pass to pango_break()
,
you need to pango_itemize()
. In most cases however you should
simply use pango_get_log_attrs()
.
text |
text to break |
|
length |
length of text in bytes (may be -1 if |
|
analysis |
a PangoAnalysis for the |
[nullable] |
attrs |
logical attributes to fill in |
|
attrs_len |
size of the array passed as |
void pango_shape (const gchar *text
,gint length
,const PangoAnalysis *analysis
,PangoGlyphString *glyphs
);
Given a segment of text and the corresponding
PangoAnalysis structure returned from pango_itemize()
,
convert the characters into glyphs. You may also pass
in only a substring of the item from pango_itemize()
.
It is recommended that you use pango_shape_full()
instead, since
that API allows for shaping interaction happening across text item
boundaries.
text |
the text to process |
|
length |
the length (in bytes) of |
|
analysis |
PangoAnalysis structure from |
|
glyphs |
glyph string in which to store results |
void pango_shape_full (const gchar *item_text
,gint item_length
,const gchar *paragraph_text
,gint paragraph_length
,const PangoAnalysis *analysis
,PangoGlyphString *glyphs
);
Given a segment of text and the corresponding
PangoAnalysis structure returned from pango_itemize()
,
convert the characters into glyphs. You may also pass
in only a substring of the item from pango_itemize()
.
This is similar to pango_shape()
, except it also can optionally take
the full paragraph text as input, which will then be used to perform
certain cross-item shaping interactions. If you have access to the broader
text of which item_text
is part of, provide the broader text as
paragraph_text
. If paragraph_text
is NULL
, item text is used instead.
item_text |
valid UTF-8 text to shape. |
|
item_length |
the length (in bytes) of |
|
paragraph_text |
text of the paragraph (see details). May be |
[allow-none] |
paragraph_length |
the length (in bytes) of |
|
analysis |
PangoAnalysis structure from |
|
glyphs |
glyph string in which to store results. |
Since: 1.32
typedef struct _PangoContext PangoContext;
The PangoContext structure stores global information used to control the itemization process.
struct PangoItem { gint offset; gint length; gint num_chars; PangoAnalysis analysis; };
The PangoItem structure stores information about a segment of text.
gint |
byte offset of the start of this item in text. |
|
gint |
length of this item in bytes. |
|
gint |
number of Unicode characters in the item. |
|
PangoAnalysis |
analysis results for the item. |
struct PangoAnalysis { PangoEngineShape *shape_engine; PangoEngineLang *lang_engine; PangoFont *font; guint8 level; guint8 gravity; /* PangoGravity */ guint8 flags; guint8 script; /* PangoScript */ PangoLanguage *language; GSList *extra_attrs; };
The PangoAnalysis structure stores information about the properties of a segment of text.
PangoEngineShape * |
the engine for doing rendering-system-dependent processing. |
|
PangoEngineLang * |
the engine for doing rendering-system-independent processing. |
|
PangoFont * |
the font for this segment. |
|
guint8 |
the bidirectional level for this segment. |
|
guint8 |
the glyph orientation for this segment (A PangoGravity). |
|
guint8 |
boolean flags for this segment (currently only one) (Since: 1.16). |
|
guint8 |
the detected script for this segment (A PangoScript) (Since: 1.18). |
|
PangoLanguage * |
the detected language for this segment. |
|
GSList * |
extra attributes for this segment. |
#define PANGO_ANALYSIS_FLAG_CENTERED_BASELINE (1 << 0)
Whether the segment should be shifted to center around the baseline. Used in vertical writing directions mostly.
Since: 1.16
#define PANGO_ANALYSIS_FLAG_IS_ELLIPSIS (1 << 1)
This flag is used to mark runs that hold ellipsized text, in an ellipsized layout.
Since: 1.36.7
typedef struct { guint is_line_break : 1; /* Can break line in front of character */ guint is_mandatory_break : 1; /* Must break line in front of character */ guint is_char_break : 1; /* Can break here when doing char wrap */ guint is_white : 1; /* Whitespace character */ /* Cursor can appear in front of character (i.e. this is a grapheme * boundary, or the first character in the text). */ guint is_cursor_position : 1; /* Note that in degenerate cases, you could have both start/end set on * some text, most likely for sentences (e.g. no space after a period, so * the next sentence starts right away). */ guint is_word_start : 1; /* first character in a word */ guint is_word_end : 1; /* is first non-word char after a word */ /* There are two ways to divide sentences. The first assigns all * intersentence whitespace/control/format chars to some sentence, * so all chars are in some sentence; is_sentence_boundary denotes * the boundaries there. The second way doesn't assign * between-sentence spaces, etc. to any sentence, so * is_sentence_start/is_sentence_end mark the boundaries of those * sentences. */ guint is_sentence_boundary : 1; guint is_sentence_start : 1; /* first character in a sentence */ guint is_sentence_end : 1; /* first non-sentence char after a sentence */ /* If set, backspace deletes one character rather than * the entire grapheme cluster. */ guint backspace_deletes_character : 1; /* Only few space variants (U+0020 and U+00A0) have variable * width during justification. */ guint is_expandable_space : 1; /* Word boundary as defined by UAX#29 */ guint is_word_boundary : 1; /* is NOT in the middle of a word */ } PangoLogAttr;
The PangoLogAttr structure stores information about the attributes of a single character.
guint |
if set, can break line in front of character |
|
guint |
if set, must break line in front of character |
|
guint |
if set, can break here when doing character wrapping |
|
guint |
is whitespace character |
|
guint |
if set, cursor can appear in front of character. i.e. this is a grapheme boundary, or the first character in the text. This flag implements Unicode's Grapheme Cluster Boundaries semantics. |
|
guint |
is first character in a word |
|
guint |
is first non-word char after a word
Note that in degenerate cases, you could have both |
|
guint |
is a sentence boundary.
There are two ways to divide sentences. The first assigns all
inter-sentence whitespace/control/format chars to some sentence,
so all chars are in some sentence; |
|
guint |
is first character in a sentence |
|
guint |
is first char after a sentence.
Note that in degenerate cases, you could have both |
|
guint |
if set, backspace deletes one character
rather than the entire grapheme cluster. This
field is only meaningful on grapheme
boundaries (where |
|
guint |
is a whitespace character that can possibly be expanded for justification purposes. (Since: 1.18) |
|
guint |
is a word boundary. More specifically, means that this is not a position in the middle of a word. For example, both sides of a punctuation mark are considered word boundaries. This flag is particularly useful when selecting text word-by-word. This flag implements Unicode's Word Boundaries semantics. (Since: 1.22) |


A querystring parsing and stringifying library with some added security.
Lead Maintainer: Nathan LaFreniere
The qs module was original created and maintained by TJ Holowaychuk.
var Qs = require('qs');
var obj = Qs.parse('a=c'); // { a: 'c' }
var str = Qs.stringify(obj); // 'a=c'
qs allows you to create nested objects within your query strings, by surrounding the name of sub-keys with square brackets []
.
For example, the string 'foo[bar]=baz'
converts to:
{
foo: {
bar: 'baz'
}
}
You can also nest your objects, like 'foo[bar][baz]=foobarbaz'
:
{
foo: {
bar: {
baz: 'foobarbaz'
}
}
}
By default, when nesting objects qs will only parse up to 5 children deep. This means if you attempt to parse a string like
'a[b][c][d][e][f][g][h][i]=j'
your resulting object will be:
{
a: {
b: {
c: {
d: {
e: {
f: {
'[g][h][i]': 'j'
}
}
}
}
}
}
}
This depth can be overridden by passing a depth
option to Qs.parse(string, depth)
:
Qs.parse('a[b][c][d][e][f][g][h][i]=j', 1);
// { a: { b: { '[c][d][e][f][g][h][i]': 'j' } } }
The depth limit mitigate abuse when qs is used to parse user input, and it is recommended to keep it a reasonably small number.
qs can also parse arrays using a similar []
notation:
Qs.parse('a[]=b&a[]=c');
// { a: ['b', 'c'] }
You may specify an index as well:
Qs.parse('a[1]=c&a[0]=b');
// { a: ['b', 'c'] }
Note that the only difference between an index in an array and a key in an object is that the value between the brackets must be a number to create an array. When creating arrays with specific indices, qs will compact a sparse array to only the existing values preserving their order:
Qs.parse('a[1]=b&a[15]=c');
// { a: ['b', 'c'] }
qs will also limit specifying indices in an array to a maximum index of 20
. Any array members with an index of greater than 20
will
instead be converted to an object with the index as the key:
Qs.parse('a[100]=b');
// { a: { '100': 'b' } }
If you mix notations, qs will merge the two items into an object:
Qs.parse('a[0]=b&a[b]=c');
// { a: { '0': 'b', b: 'c' } }
You can also create arrays of objects:
Qs.parse('a[][b]=c');
// { a: [{ b: 'c' }] }
ArturoDuran


{% extends "constituent/constituent_base.html" %} {% load static sekizai_tags %} {% block title %}You've successfully unsubscribed{% endblock title %} {% block page_content %} {% add_data "body-class" "public-page" %}
We're sorry to see you go! You are now successfully unsubscribed from {{ organization.name }}'s election updates and reminders.
{% if organization.main_unsubscribe_url %}If you'd like to also unsubscribe from {{ organization.name }}'s main email list, click here.
{% endif %}Please get out and vote in 2018.


Thank you for your interest in the UWaterloo Humans vs Zombies Winter 2023 Weeklong! Please ensure you sign up for an account on our website either using the link below or by signing up directly on our website!
If you do not have an account already, please create an account here: {{ site_url }}{{ url('signup', args=[signup_invite.id]) }}
We’re looking forward to seeing you in-game!


| Stephan Heunis ("Atlantis" slot)
@fMRwhy jsheunis Psychoinformatics lab Institute of Neuroscience and Medicine, Brain & Behavior (INM-7) |
|
| Şeyma Bayrak ("Rising Sun" slot)
sheyma Otto Hahn Group Cognitive Neurogenetics |
|
You've just published a paper that calculated the cortical thickness for a group of research participants. You've run some statistical tests and visualized the results.
Soon after, a researcher in your field sends you an email:
Our goal for this hands-on session is to guide you through the use of several tools for creating a reproducible workflow so that you can go...
|
from reacting like this: |
to reacting like this: |
There are many routes to follow, and many tools to help you on your way. We are going to take a step-wise, "Galaxy brain" approach:
By the end of this session, you should be able to do the following STEPS:
| 1. | The required packages | requirements.txt |
| 2. | The Python version | virtual environment |
| 3. | Instructions for how to use these to successfully run the script | README |
| 4. | Data and code and all of the above in an accessible location | GitHub |
code
and data
directories to your repositorycode
and data
directories to your repository
#!/bin/bash
ROOTDIR=[where-you-want-to-save-the-repo]
REPOURL=[insert-your-repo-URL]
REPONAME=[insert-your-repo-name]
CONTENTDIR=[insert-path-to-paper_data_and_code-directory]
cd $ROOTDIR
git clone $REPOURL
cd $REPONAME
cp -R $CONTENTDIR/* .
git add --all
git commit -m "add data and code to repo"
git push origin main
git
#!/bin/bash
# After editing and saving the README file
# Make sure you are located in the repo's root directory
git add README.md
git commit -m "add description to readme"
git push origin main
We have not yet specified the software or package requirements and we have not explained how to set up a virtual environment. We'll address these as our next main step in the hands-on session.
| 1. | The required packages | requirements.txt | ? |
| 2. | The Python version | virtual environment | ? |
| 3. | Instructions for how to use these to successfully run the script | README | ✅ |
| 4. | Data and code and all of the above in an accessible location | GitHub | ✅ |
pip
:
pip install -r requirements.txt
matplotlib==3.2.2
numpy>=1.16.5
pandas
nibabel
nilearn>=0.7.1
sklearn
brainspace
requirements.txt
file and add it to your GitHub repo
(either in your browser or via git
).
pip
and a requirements.txt
file might not be sufficient:
git clone https://github.com/MICA-MNI/BrainStat.git
cd BrainStat
python3 setup.py build
python3 setup.py install
|
|
#!/bin/bash
pip install virtualenv #install the package
virtualenv --python=python3 mypythonenv #create a new virtual environment
source mypythonenv/bin/activate #activate the virtual environment
# now install your packages with pip and do the analysis
deactivate #deactivate the virtual environment
#!/bin/bash
# install miniconda using install files via link
conda create -n mypythonenv python=3.6
conda activate mypythonenv
# now install your packages with conda and/or pip and do the analysis
conda deactivate #deactivate the virtual environment
requirements.txt
| 1. | The required packages | requirements.txt | ✅ |
| 2. | The Python version | virtual environment | ✅ |
| 3. | Instructions for how to use these to successfully run the script | README | ✅ |
| 4. | Data and code and all of the above in an accessible location | GitHub | ✅ |
environment.yml
for conda ❓requirements.txt
for Python/PIP ✅apt.txt
for Unix-based software ❓postBuild
❓requirements.txt
file with most packagesapt.txt
:
libgl1-mesa-dev
xvfb
postBuild
:
#!/bin/bash
git clone https://github.com/MICA-MNI/BrainStat.git
cd BrainStat
python3 setup.py build
python3 setup.py install
cd ..
export DISPLAY=:99.0
which Xvfb
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
sleep 3
exec "$@"
environment.yml
instead of requirements.txt
to specify the configuration is also possible.
It all depends on which packages are available via which distribution service. For an example of setting up our repository using
environment.yml
, see the conda-env branch of the repo. For a variety of options for configuration files
see the Binder documentation.
postBuild
✅postBuild
✅conda
and pip
conda install -c conda-forge notebook
pip install notebook
| From this: | To this: |
datalad-container
datalad-containers run
$ datalad clone ///openneuro/ds000001
[INFO ] Cloning http://datasets.datalad.org/openneuro/ds000001 [1 other candidates] into '/tmp/ds000001'
[INFO ] access to 1 dataset sibling s3-PRIVATE not auto-enabled, enable with:
| datalad siblings -d "/tmp/ds000001" enable -s s3-PRIVATE
install(ok): /tmp/ds000001 (dataset)
$ cd ds000001
$ ls sub-01/*
sub-01/anat:
sub-01_inplaneT2.nii.gz sub-01_T1w.nii.gz
sub-01/func:
sub-01_task-balloonanalogrisktask_run-01_bold.nii.gz
sub-01_task-balloonanalogrisktask_run-01_events.tsv
sub-01_task-balloonanalogrisktask_run-02_bold.nii.gz
sub-01_task-balloonanalogrisktask_run-02_events.tsv
sub-01_task-balloonanalogrisktask_run-03_bold.nii.gz
sub-01_task-balloonanalogrisktask_run-03_events.tsv
This is what you can do now!


42 UP A film review by Steve Rhodes Copyright 1999 Steve Rhodes RATING (0 TO ****): *** 1/2
How do we arrive at middle age?
Are our lives merely a collection of random walks that by middle age have culminated in varying degrees of success or failure? Do our socioeconomic backgrounds determine our destinies? Or are our destinies set by ourselves way back early in our youth?
The mesmerizing film 42 UP provides many illuminating and sometimes quite surprising answers to these and other such eternal questions.
Seven years have passed since the last installment of Michael Apted's UP documentary series, so it's time to go back and visit with 11 of the original 14 people. In 1964, Apted interviewed 14 London children at age 7, and he has been going back every 7 years since to meet with as many of them as possible again. The series is the longest running documentary in the history of the cinema. And the best.
So what is the prevailing mood in 42 UP?
Middle-age contentment.
The participants were originally chosen to be a cross-section of British society because in 1964 the filmmakers "wanted to see England in the year 2000." Using the Jesuit maxim, "Give me a child until he is 7, and I will give you the man," the series posits that a child's future is already set by the age of 7.
The overwhelming conclusion one comes to on viewing the movie, which is structured with overlapping interviews of each person at differing ages, is how remarkably prescient we are as young children. If kids set their minds to accomplish something, even if it sounds foolish or capricious, it's likely to happen, albeit perhaps not with the degree of success imagined.
Another revelation is how we are all different and yet similar. Even in a class society like Britain, all of the participants, with one exception, worked their way to middle class or better.
The odd man out, Neil, is so tormented by unknown inner demons and depression that it is amazing that he's still alive. Last seen in 35 UP as a homeless man in a remote village in the northernmost part of the British Isles, the Shetland Islands, he's now an elected, but unpaid, Liberal Democrat representative on the Hackney council in London. Mentally his health has improved, but he still lives totally on the dole.
The similarities of all of the others are astounding. After so many difficulties through the years, they have each reached a point of reasonably serene equilibrium in their lives. Most have several kids, including those who earlier firmly and unequivocally renounced ever having kids. Many are in multi-decade old marriages, while others have been divorced and have learned to live alone with resolute contentment. All have become fairly laid back, accepting of their lives and decidedly upbeat. The main grief that most of them have faced is the death of one of more of their parents.
Although their collective wisdom is fascinating, their individual stories are even more compelling.
At age 7, Tony wanted to be a jockey, and, if he couldn't be that, he wanted to be a taxi driver. Sure enough, after a brief and unsuccessful career as a jockey, he became a cab driver. Sharing duties with his wife of many years, they worked their way up from East End poverty to a comfortable middle class home in the suburbs. The interviews are generally conducted with the spouse, if any.  With his thick Cockney accent and his broad smiles, he's both the hardest to understand and the most likeable. A cherubic rapscallion who seems straight from central casting, he's made a little money on the side with minor acting jobs in television shows.
At age 7, a precocious Suzy tosses her hair busily and flirts with the camera. She correctly predicts her future motherhood status. After her parents divorce when she is 14, she goes into a 7-year-long funk. A rebellious chain smoker at age 21, Suzy isn't the least bit interested in kids or anything else. By 28, her earlier cynicism has lifted, and she is shown in her proper English garden with her charming kids and her upper middle class husband. After that, her life runs in a relatively straightforward line to satisfaction. She's now a trained bereavement counselor.
Symon, the son of a black man, whom he never knew, and a white woman, had 5 kids by the time he was 28 so that they could be of similar ages. Never feeling like he belongs to either race, he's a quiet type with a simple philosophy -- "I just want to be like anybody else, nothing too marvelous." After years of working hard in warehouse jobs, he has finally made it firmly into the middle class.
When we first meet Bruce at age 7, he's rapidly conjugating Latin verbs. "I want to go to Africa and try and teach people who are not civilized to be more or less good," he tells us back then. After earning a degree in Math at Oxford, he does teach in Third World countries, as well as to poor people in the East End of London. With one of the most generous of spirits that you'd ever want to meet, he spends his lifetime in the service of others. Finally marrying for the first time at age 41, he describes his life now as "middle-age contentment," a term that would fit almost everyone in the film.
Jackie, Lynn and Sue are three working class girlfriends from the East End who were interviewed together when little. What is most striking about them is how they aged so differently. At 42, Jackie looks 60, Lynn appears 55, but Sue could easily pass for 35.
Nick, with his GQ handsomeness, now looks a boyish 35. Growing up on an isolated farm, whose landscape he describes as "magnificent but rather grim and dour," he never wanted any part of rural life. He set his mind to be a scientist and succeeded. After Oxford, he worked his way to becoming a full professor at the University of Wisconsin. With a strikingly beautiful wife and fellow professor, he appears to have it all. His only regret is that he is more famous for the movies than for his scientific accomplishments.
Paul, an admittedly confidence-challenged man from a poor and broken family, lives now in Australia. After a long series of jobs, he's finally gotten a comfortable home with a big lawn in a pastoral suburb of Melbourne and has been married for 23 years.
Andrew, John and Charles, avid readers of the Financial Times by the age of 7, were upper class friends who knew early on exactly which prestigious schools and universities they wanted to attend. Their predictive accuracy is amazing. Andrew is now a happily successful law firm partner, who modestly attributes his success simply to persistence. John, a QC, and Charles, a documentary editor, declined to take part in this episode.
Finally, Peter, a teacher, pulled out entirely after 28 UP and doesn't seem to be mentioned at all in 42 UP.
The film draws to an end with the 11 discussing the blurring of class distinctions in England and the effect of the series on their lives -- most claim to dread it but tolerate it. Sue laments each time that nothing substantial has happened to her in the interim.
35 UP was one of the very best movies of this decade. 42 UP, although almost as insightful as 35 UP, doesn't pack the same emotional wallop. At 35, the people were more in turmoil. Now, firmly in middle age, their lives have reached a certain state of tranquility.  It is not yet rated but will probably be PG for some mature themes and would be fine for any kid old enough to be interested.
The film has recently opened in Australia and should be coming later this year to the United States. Keep your eyes peeled for it; it will probably play a week or two and then vanish forever from your local cinema. Ask you local art house to be sure and book it. You don't want to miss it.
Email<EMAIL_ADDRESS>Web: http://www.InternetReviews.com
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


As we learned in the previous unit, the common flow of work in Microsoft Power BI is to create a report in Power BI Desktop, publish it to the Power BI service, and then share it with others, so that they can view it in the service or on a mobile app.
But because some people begin in the Power BI service, let's take a quick look at that first, and learn about an easy and popular way to quickly create visuals in Power BI: apps.
An app is a collection of preset, ready-made visuals and reports that are shared with an entire organization. Using an app is like microwaving a TV dinner or ordering a fast-food value meal: you just have to press a few buttons or make a few comments, and you're quickly served a collection of entrees designed to go together, all presented in a tidy, ready-to-consume package.
So, let's take a quick look at apps, the service, and how it works. We'll go into more detail about apps (and the service) in upcoming modules, but you can think of this as a taste to whet your appetite. You can sign into the service at https://powerbi.microsoft.com.
With Power BI, connecting to data is easy. From the Power BI service, you can just select the Get Data button in the lower-left corner of the home page.
The canvas (the area in the center of the Power BI service) shows you the available sources of data in the Power BI service. In addition to common data sources like Microsoft Excel files, databases, or Microsoft Azure data, Power BI can just as easily connect to a whole assortment of software services (also called SaaS providers or cloud services): Salesforce, Facebook, Google Analytics, and more.
For these software services, the Power BI service provides a collection of ready-made visuals that are pre-arranged on dashboards and reports for your organization. This collection of visuals is called an app. Apps get you up and running quickly, with data and dashboards that your organization has created for you. For example, when you use the GitHub app, Power BI connects to your GitHub account (after you provide your credentials) and then populates a predefined collection of visuals and dashboards in Power BI.
There are apps for all sorts of online services. The following image shows a page of apps that are available for different online services, in alphabetical order. This page is shown when you select the Get button in the Services box (shown in the previous image). As you can see from the following image, there are many apps to choose from.
For our purposes, we'll choose GitHub. GitHub is an application for online source control. When you select the Get it now button in the box for the GitHub app, the Connect to GitHub dialog box appears. Note that GitHub does not support Internet Explorer, so make sure you are working in another browser.
After you enter the information and credentials for the GitHub app, installation of the app begins.
After the data is loaded, the predefined GitHub app dashboard appears.
In addition to the app dashboard, the report that was generated (as part of the GitHub app) and used to create the dashboard is available, as is the dataset (the collection of data pulled from GitHub) that was created during data import and used to create the GitHub report.
You can select any of the visuals and interact with them. As you do so, all the other visuals on the page will respond. For example, when the AdamBJ in the treemap on the Pull Requests report the other visuals on the page adjust to reflect that selection.
You can also choose to update the dataset for an app, or other data that you use in Power BI. To set update settings, select the schedule update icon for the dataset to update, and then use the menu that appears. You can also select the update icon (the circle with an arrow) next to the schedule update icon to update the dataset immediately.
The Datasets tab is selected on the Settings page that appears. In the right pane, select the arrow next to Scheduled refresh to expand that section. The Settings dialog box appears on the canvas, letting you set the update settings that meet your needs.
That's enough for our quick look at the Power BI service. There are many more things you can do with the service, and we'll cover these later in this module and in upcoming modules. Also, remember that there are many types of data you can connect to, and all sorts of apps, with more of both coming all the time.


|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Classes in liquibase.servicelocator used by liquibase.change | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.changelog | |
|---|---|
| LiquibaseService
|
|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.common.datatype | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.database | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.database.core | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.datatype | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.datatype.core | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.diff | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.diff.core | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.diff.output.changelog.core | |
|---|---|
| LiquibaseService
|
| Classes in liquibase.servicelocator used by liquibase.executor | |
|---|---|
| LiquibaseService
|
| Classes in liquibase.servicelocator used by liquibase.integration.ant.logging | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.lockservice | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.logging | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.logging.core | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.osgi | |
|---|---|
| DefaultPackageScanClassResolver
Default implement of PackageScanClassResolver |
|
| PackageScanClassResolver
A resolver that can find resources based on package scanning. |
|
| PackageScanFilter
Filter that can be used with the PackageScanClassResolver
resolver.
|
| Classes in liquibase.servicelocator used by liquibase.parser | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.parser.core.formattedsql | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.parser.core.json | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.parser.core.sql | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.parser.core.xml | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.parser.core.yaml | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.sdk.database | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.sdk.executor | |
|---|---|
| LiquibaseService
|
| Classes in liquibase.servicelocator used by liquibase.serializer | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.serializer.core.formattedsql | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.serializer.core.json | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.serializer.core.string | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.serializer.core.xml | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.serializer.core.yaml | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.servicelocator | |
|---|---|
| DefaultPackageScanClassResolver
Default implement of PackageScanClassResolver |
|
| PackageScanClassResolver
A resolver that can find resources based on package scanning. |
|
| PackageScanFilter
Filter that can be used with the PackageScanClassResolver
resolver.
|
|
| PrioritizedService
|
|
| ServiceLocator
Entry point to the Liquibase specific ServiceLocator framework. |
| Classes in liquibase.servicelocator used by liquibase.sqlgenerator | |
|---|---|
| PrioritizedService
|
| Classes in liquibase.servicelocator used by liquibase.sqlgenerator.core | |
|---|---|
| PrioritizedService
|
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |


{% from "path_macros.html" import path_card %} {% macro open_tab(model_data, stmt_types, ns_groups, open_immediate_results, subscribed_open_results, open_immediate_headers, subscribed_open_headers) -%}


TITLE OF THE PAPER
LIST OF AUTHORS
DATE
DESCRIPTION OF THE PAPER
Github repository
Explaining Local Discrepancies between Image Classification Models
Laugel T., Renard X., Detyniecki M.2022
XAI4CV workshop (CVPR 2022)
Understanding surrogate explanations: the interplay between complexity, fidelity and coverage
Poyiadzi R., Renard X., Laugel T., Santos-Rodriguez R., Detyniecki M.2021
arxiv preprint
How to choose an Explainability Method? Towards a Methodical Implementation of XAI in Practice
Vermeire T., Laugel T., Renard X., Martens D., Detyniecki M.2021
ECML PKDD International Workshop on eXplainable Knowledge Discovery in Data Mining (ECML XKDD 2021)
On the overlooked issue of defining explanation objectives for local-surrogate explainers
Poyiadzi R., Renard X., Laugel T., Santos-Rodriguez R., Detyniecki M.2021
International Conference on Machine Learning (ICML) Workshop on Theoretic Foundation, Criticism, and Application Trend of Explainable AI
Understanding Prediction Discrepancies in Machine Learning Classifiers
Renard X., Laugel T., Detyniecki M.2021
arxiv preprint
Sentence-Based Model Agnostic NLP Interpretability
Rychener Y., Renard X., Seddah D., Frossard P., Detyniecki M.
2020
Github repository
QUACKIE: A NLP Classification Task With Ground Truth Explanations
Rychener Y., Renard X., Seddah D., Frossard P., Detyniecki M.
2020
Github repository
Benchmark's website of NLP interpretability methods
Local Post-hoc Interpretability for Black-box Classifiers
Laugel, T.2020
Ph.D. Thesis
Imperceptible Adversarial Attacks on Tabular Data
Ballet V., Renard X., Aigrain J., Laugel T., Frossard P., Detyniecki M.2019
NeurIPS 2019 Workshop on Robust AI in Financial Services: Data, Fairness, Explainability, Trustworthiness, and Privacy (Robust AI in FS 2019)
Concept Tree: High-Level Representation of Variables for More Interpretable Surrogate Decision Trees
Renard X., Woloszko N., Aigrain J., Detyniecki M.2019
Bank of England and King's College London joint conference on Modelling with Big Data and Machine Learning: Interpretability and Model Uncertainty
The Dangers of Post-hoc Interpretability: Unjustified Counterfactual Explanations
Laugel, T., Lesot, M. J., Marsala, C., Renard, X., & Detyniecki, M.2019
International Joint Conference on Artificial Intelligence (IJCAI)
Github repository
Unjustified Classification Regions and Counterfactual Explanations In Machine Learning
Laugel, T., Lesot, M. J., Marsala, C., Renard, X., & Detyniecki, M.2019
European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases (ECML-PKDD)
Concept Tree: High-Level Representation of Variables for More Interpretable Surrogate Decision Trees
Renard X., Woloszko N., Aigrain J., Detyniecki M.2019
International Conference on Machine Learning (ICML) Workshop on Human In the Loop Learning (HILL)
Issues with post-hoc counterfactual explanations: a discussion
Laugel, T., Lesot, M.-J., Marsala, C., Detyniecki, M.2019
International Conference on Machine Learning (ICML) Workshop on Human In the Loop Learning (HILL)
Detecting Potential Local Adversarial Examples for Human-Interpretable Defense.
Renard X., Laugel T., Lesot MJ., Marsala C., Detyniecki M.2018
European Conference on Machine Learning (ECML/PKDD) Workshop on Recent Advances in Adversarial Machine Learning (Nemesis)
Defining Locality for Surrogates in Post-hoc Interpretablity.
Laugel T., Renard X., Lesot MJ., Marsala C., Detyniecki M.2018
International Conference on Machine Learning (ICML) Workshop on Human Interpretability in Machine Learning (WHI 2018)
Comparison-based inverse classification for interpretability in machine learning
Laugel, T., Lesot, M. J., Marsala, C., Renard, X., & Detyniecki, M.2018
International Conference on Information Processing and Management of Uncertainty in Knowledge-Based Systems (IPMU)
Github repository
Inverse Classification for Comparison-based Interpretability in Machine Learning
Laugel, T., Lesot, M. J., Marsala, C., Renard, X., & Detyniecki, M.2017
arXiv preprint arXiv:1712.08443


Genesis 13:7
And there was a strife between the herdmen of Abram's cattle and the herdmen of Lot's cattle: and the Canaanite and the Perizzite dwelled then in the land.


library(xml)
This is a package for parsing XML with Prolog, which provides Prolog applications with a simple “Document Value Model” interface to XML documents. A description of the subset of XML that it supports can be found at: http://homepages.tesco.net/binding-time/xml.pl.html
The package, originally written by Binding Time Ltd., is in the public domain and unsupported. To use the package, enter the query:
The package represents XML documents by the abstract data type document, which is defined by the following grammar:
| document | ::= xml( attributes, content) | { well-formed document }
|
| malformed( attributes, content) | { malformed document }
| |
| attributes | ::= []
| |
| [ name= char-data| attributes]
| ||
| content | ::= []
| |
| [ cterm| content]
| ||
| cterm | ::= pcdata( char-data) | { text }
|
| comment( char-data) | { an XML comment }
| |
| namespace( URI, prefix, element) | { a Namespace }
| |
| element( tagattributes, content) | { <tag>..</tag> encloses content or <tag /> if empty }
| |
| instructions( name, char-data) | { A PI <? name char-data ?> }
| |
| cdata( char-data) | { <![CDATA[char-data]]> }
| |
| doctype( tag, doctype-id) | { DTD <!DOCTYPE .. > }
| |
| unparsed( char-data) | { text that hasn't been parsed }
| |
| out_of_context( tag) | { tag is not closed }
| |
| tag | ::= atom | { naming an element }
|
| name | ::= atom | { not naming an element }
|
| URI | ::= atom | { giving the URI of a namespace }
|
| char-data | ::= code-list
| |
| doctype-id | ::= public( char-data, char-data)
| |
| public( char-data, dtd-literals)
| ||
| system( char-data)
| ||
| system( char-data, dtd-literals)
| ||
| local
| ||
| local, dtd-literals
| ||
| dtd-literals | ::= []
| |
| [dtd_literal( char-data)| dtd-literals]
|
The following predicates are exported by the package:
xml_parse(
?Chars,
?Document)
xml_parse(
?Chars,
?Document,
+Options)
format/1
.
Options is a list of zero or more of the following, where
Boolean must be true
or false
:
format(
Boolean)
true
).
extended_characters(
Boolean)
true
).
remove_attribute_prefixes(
Boolean)
false
).
xml_subterm(
+Term,
?Subterm)
xml_pp(
+Document)


I am passionate about application programming and development, as well as applications new technologies. I am known for solving problems efficiently and quickly, I am passionate about everything that challenges me and my purpose is to be better every day.
When I am not a student of engineering, I play sports and I read about subjects that interest me. Recently I've been very interested on cryptocyrrencies and block chain
The Caesar cipher is a classic example of ancient cryptography and is said to have been used by Julius Caesar. The Caesar cipher is based on transposition and involves shifting each letter of the plaintext message by a certain number of letters, historically three. The ciphertext can be decrypted by applying the same number of shifts in the opposite direction. This type of encryption is known as a substitution cipher, due to the substitution of one letter for another in a consistent fashion.
A more recent variation of the Caesar cipher can be found in the ROT13 cipher. ROT13 uses the same mechanism as the Caesar cipher but moves each letter 13 places forward. The convenience of moving 13 places lies in the fact that applying another round of encryption with ROT13 also functions as decryption, as two rotations will return us to the original starting place in the alphabet. Utilities for performing ROT13 can be found in the basic set of tools that ship with many Linux and UNIX operating systems. There are a number of simple systems that are built around simple transposition.


Feedbacks
Username
Email
Phone Number
Feedback
Remove
{{feedback.Name}}
{{feedback.Email}}
{{feedback.Phone}}
{{feedback.message}}
{{feedback._id}}
Delete


Please enter a name for this formula:
Stuck? Don't know how to implement what you have in mind? Here are some sources you may find useful:
The TeX Stack ExchangeThis is a webpage designed for real-time formula (be ware: this is NOT for entire LaTeX documents) edition. It uses MathJax to render the formula, whose syntax is very much akin to that of LaTeX, except having much fewer symbols and environments. See the links above for more detailed information about both.


Enter updated security information for your account as desired. Fields marked with an asterisk are required.


Seattle's Best Salmon Cookies
Bring your family down to Pike's Place and try the one and only Salmon Cookie!
Enjoy amazing Salmon Cookies
at any of our locations
Pike Place
SeaTac Airport
Seattle Center
Capitol Hill
Alki
Checkout our awesome products!
Amazing shirt made from
salmon skin!
Make your own salmon cookies
today!


Contact Info Name Email Phone Next Step Company Info Company Name What your Company Does Previous Step Next Step Project Info Do you have a Domain? (ex. www.google.com) Select One Yes No What is your Domain? (ex. www.google.com) Do you need hosting/email? Select One Yes No Who will manage the website? How soon do you need the new website completed? Approximately how many pages/sections will your website have? What is your estimated budget Select One $2000 $2000 - $3000 $4000 - $5000 $5000+ Previous Step Next Step Your New Website What Are your goals for this website? Who is your target audience? Do you have a color scheme? If not, what is your color preference? Please list your competitors' websites. What do you like and not like about their websites? Are there any websites that you like? Why? Possible Features Contact Form Blog Image Gallery Admin Section Search Contact Form Newsletter Additional comments Previous Step Send


What is Indiegame Garden?
"A pleasant free game downloader" according to the review at DIYGamer.com. It's an app store for free Windows games. It's a garden, where indie games grow! The YouTube video at the right gives an impression of Indiegame Garden.
Download the installer here and run it. The installer downloads the software and should also install any required Microsoft libraries (such as XNA 4.0).
For Portable App fans, download the ZIP file here; unzip somewhere for example the Desktop; and run IndiegameGarden.exe.
System requirements
Windows XP or Windows 7 PC with somewhat modern graphics card [XNA "Reach" profile, for the insiders.]
Fast Internet connection (for the automatic game downloads and web install program)
Play
Enable your internet connection. Run Indiegame Garden, wait a moment (first time may be longer), and check the panel that appears on the top left which keys to use. Have fun! Future updates will automatically show in the form of an update icon top left in your garden.


| Home | Trees | Indices | Help |
|
|---|
|
|
wx.PyCommandEvent --+ | SelectionEvent
wxPython event emitted when an area selection occurs in a matplotlib
axes of a window for which zooming has been disabled. The selection is
described by a rectangle from (x1, y1)
to (x2,
y2)
, of which only one point is required to be inside the
axes.
| Instance Methods | |||
|
|||
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Mon Oct 17 15:08:20 2011 | http://epydoc.sourceforge.net |


Preparation time
overnight
Cooking time
30 mins to 1 hour
Serves
Serves 4
Dietary
Ching-He Huang shows you how to make perfectly crisp spring rolls. Rolling the spring rolls can be a bit tricky at first but worth the effort. Make them in advance and freeze them. They can be fried from frozen - just allow 1 more minute of frying time.
Heat a wok over a high heat until it starts to smoke. Add the groundnut oil. Add the ginger and stir-fry for a few seconds.
Tip in the mushrooms, bamboo shoots and water chestnuts. Stir-fry for 1–2 minutes, season with 1 tablespoon of the soy sauce and the five-spice powder. Add a small splash of water around the edges of the wok to help create some steam. Remove from the wok and set aside to cool, this should take about 30 minutes to 1 hour.
Put the beansprouts, cavolo nero, spring onions and carrot in a bowl. Add the remaining 1 tablespoon of soy sauce, oyster sauce, toasted sesame oil, salt and pepper. Stir together to mix.
Once cooled add in the mushroom mixture and stir well to combine.
Arrange one spring roll wrapper so that the corners are pointing upwards, downwards and to the sides.
Spoon 2 teaspoons of the filling starting at the bottom corner about 2cm/¾in from the edge. (Make sure the filling is cool but not too wet – otherwise the spring roll will be soggy and you will break the spring roll wrapper.)
Roll over the filling, squeezing any air out as you roll away from you. As you reach the middle bring the two corners that are pointing to the side to the middle making sure they overlap. Continue to roll and tuck the top edge in and seal it with a little of the beaten egg. Repeat with the remaining spring roll wrappers and filling.
Half-fill a large saucepan or deep-fat fryer with the oil. Heat the oil to 180C/350F. (A 2cm/1in cube of bread should go brown and crisp in 1 minute when dropped into the oil.). Deep-fry the spring rolls for 5-6 minutes swishing them in the fryer until golden-brown crisp. Remove with a slotted spoon and drain on kitchen paper. Serve with Thai sweet chilli sauce.


Embedded Software Engineering Course, Winter 2006/2007Prof. Kirsch, Department of Computer Sciences, University of SalzburgTime, Location: Tue 3-4 in T05, Techno-Z, Th 10-12 in T03, Techno-Z. First lecture on Th, Oct 5, 10-12. Check schedule for updates. Brief Overview: This course will provide an introduction to embedded software engineering: the first part covers real-time operating systems, real-time communication protocols, and scheduling theory; the second part focuses on real-time programming and code generation. The course begins with an introduction to real-time operating system concepts and real-time communication protocols such as the time-triggered protocol (TTP) and the event-triggered CAN protocol. Scheduling techniques such as rate-monotonic and earliest deadline first will be illustrated. The second half of the course emphasizes real-time programming and code generation for embedded systems. The high-level embedded programming languages Esterel, Lustre, and Giotto, will be presented. Code generation for Giotto will be discussed based on a virtual machine architecture called the Embedded Machine. Example programs in Esterel, Lustre, and Giotto will be implemented on Lego Mindstorm robots. Goal of the course: Learn how to evaluate applications with real-time requirements, identify adequate programming paradigm and platform, implement applications with real-time requirements. Assignments:
List of Projects: Required Textbooks:
Grading: 10% paper summaries, 20% homework, 70% project. Prerequisites: C programming experience, basic knowledge of operating system concepts. Restrictions: The number of available Lego Mindstorm robots is limited. Course language is English.
Technical contact: Robert . Staudinger @ cs . uni-salzburg . at |


[Erowid Note: 1750 seeds is considered an extremely high dose, see Morning Glory Dose Chart]
It was early in the day when I had got my package of morning glory seeds. I had ordered about 1/2 pound form some internet distributer.
After careful counting of the seeds with my friend, we decided to try and make a tea we had heard of in an experience on this site. We tried grinding up the 2000 seeds in a mortar and pestle, but as the seeds are very hard, this was very tedious, so we decided to be lazy and take the seeds and mix them in about 1 litre of warm water. We then transferred the water/seed mix to a blender and let it run until a puree smoothie formed.  Anyways, we added about 100ml of vodka to it to try and expediate the dissolving of the lsa into the mix. After about 5 hours, I proceeded to filter the gunk. This didn't take too long, and I was left with a nasty grayish mix that tasted like sewage. I drank my half of the mix, but my friend could only work up the courage to get about 1/4 of his down. I drank his. I could almost feel it immediatly, although it was probably my stomach at the terrible agony I forced upon it.
After about an hour, I looked in the mirrors to find my pupils were so dialated to the point that there was little of anything else showing in my eyes. I thought I looked like an evil demon. After about 3 hours of watching a jackie chan movie (fearless hyena) and all the episodes of season 3 futurama, I had to get on a bus with my friend. We were going to the airport, and our flight was early in the morning. On the bus to the airport, I had peaked in my trip. I remeber as though the bus was flying into the night, and that the seat in front of me was melting away into some kind of vortex. The most amazing thing on the trip was when I had thought that I had figured out the meaning to life. I was about to shout it out when I had forgotten what it was. I couldn't figure it out again.
As the trip progressed, I remember I had the distinct ability to write with rainbows off the tip of my finger. I was writing my name, and drawing pictures on the window, in full colorful rainbows. As the bus finally reached the airport, I was acting somewhat strangly as I was trying to check in at the ticket counter. It seemed like an eternity to get my ticket, as the person behind the desk seemed to disappeared into the computer and didn't come back for over 15 minutes. After recieving my ticket, I decided to find my way to the restroom to check if my pupils were still dialated. As I was walking to the restroom, I noticed that the floor seemed to be water, and when I was stepping I would make little ripples. In the restroom, I found myself not checking my pupils, but instead undressing to get into the non existant shower. This left me a little worried that I might be acting a little to strange, and my attract some unwanted attention.
I got on my flight a while later and it seemed that the short 50 minute flight to Minneapolis seemed to have taken at least 12 hours. After the flight I was in the airport, where me and my friend sat down and talked for a while. He got on to his connecting flight, yet mine did not leave for another 2 hours. I decided to go and sit down and watch the sunrise from a quiet spot. I proceeded to do so. During this time several thoughts were going through my head. One was that I was coming down from a lsa trip, but I was ok with that, and was mellow, calm and collected. Another one was about the earth and it's people and how can people exist in harmony if they define themselves as a nation and not as a species or living organism.
Finally, my thought were going through my head was the fact that I was thinking these thoughts, and how it seemed that on a morning glory trip I had this incredible ability to solve problems effectivly and well thought out. It seemed that the fact that my perception was altered and since reality is perception that my reality was altered as well. Something I had deemed inpossible. This gave me great philosophical insights. This is what left me with the calm and mellow feeling, because I knew that whatever problem that I will encounter, I will be able to solve successfully. This was the part I deem most valuable in the trip, is the hindsight of the trip, and the insight into the expierences during and after the trip. This alone made the entire thing all worth it. Finally after sitting in the airport, I flew home on my nice relaxing, insightful flight. To be home and reunited with my family for the holidays. A perfect closure to a morning glory trip.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.