16.3 Commonly Used Simple Widgets
The Tkinter module
provides a number of simple widgets that cover most needs of basic
GUI applications. This section documents the
Button, Checkbutton,
Entry, Label,
Listbox, Radiobutton,
Scale, and Scrollbar widgets.
16.3.1 Button
Class
Button implements a
pushbutton, which the user clicks to execute an
action. Instantiate Button with option
text=somestring to let
the button show text, or
image=imageobject to
let the button show an image. You normally use option
command=callable to
have callable execute without arguments
when the user clicks the button. callable
can be a function, a bound method of an object, an instance of a
class with a _ _call_ _ method, or a
lambda.
Besides methods common to all widgets, an instance
b of class Button
supplies two button-specific methods.
Draws the user's
attention to button b by redrawing
b a few times, alternatively in normal and
active states.
Calls without arguments the callable object that is
b's
command option, just like
b.cget('command')( ).
This can be handy when, within some other action, you want the
program to act just as if the button had been clicked.
16.3.2 Checkbutton
Class
Checkbutton implements a
checkbox, which is a little box, optionally
displaying a checkmark, that the user clicks to toggle on or off. You
normally instantiate Checkbutton with exactly one
of the two options
text=somestring, to
label the box with text, or
image=imageobject, to
label the box with an image. Optionally, use option
command=callable to
have callable execute without arguments
when the user clicks the box. callable can
be a function, a bound method of an object, an instance of a class
with a _ _call_ _ method, or a
lambda.
An instance c of
Checkbutton must be associated with a
Tkinter variable object
v, using configuration option
variable=v of
c. Normally, v
is an instance of IntVar, and
v's value is
0 when the box is unchecked, and
1 when the box is checked. The value of
v changes when the box is checked or
unchecked (either by the user clicking on it, or by your code calling
c's methods
deselect, select,
toggle). Vice versa, when the value of
v changes, c
shows or hides the checkmark as appropriate.
Besides methods common to all widgets, an instance
c of class Checkbutton
supplies five checkbox-specific methods.
Removes
c's checkmark, like
c.cget('variable').set(0).
Draws the user's attention to checkbox
c by redrawing
c a few times, alternately in normal and
active states.
Calls without arguments the callable object that is
c's
command option, just like
c.cget('command')( ).
Shows c's checkmark, like
c.cget('variable').set(1).
Toggles the state of c's
checkmark, as if the user had clicked on
c.
16.3.3 Entry
Class Entry
implements a text entry
field (i.e., a widget in which the user can
input and edit a line of text). An instance
e of Entry supplies
several methods and configuration options allowing fine-grained
control of widget operation and contents, but in most GUI
p
rograms you can get by with just three
Entry-specific idioms:
e.delete(0, END) # clear the widget's contents
e.insert(END, somestring) # append somestring to the widget's contents
somestring = e.get( ) # get the widget's contents
An Entry instance with
state=DISABLED is a good way to display a line of
text while letting the user copy it to the clipboard. To display more
than one line of text, use an instance of class
Text, covered later in this chapter.
DISABLED stops your program, as well as the user,
from altering e's
contents. To perform any alteration, temporarily set
state=NORMAL:
e.config(state=NORMAL) # allow alteration of e's contents
# call e.delete and/or e.insert as needed
e.config(state=DISABLED) # make e's contents inalterable again
16.3.4 Label
Class
Label implements a widget that just displays text
or an image without interacting with user input. Instantiate
Label either with option
text=somestring to let
the widget display text, or
image=imageobject to
let the widget display an image.
An instance L of class
Label does not let the user copy text from
L to the clipboard.
L is therefore not the right widget to use
when you show text that the user may want to copy, say in order to
paste it into an email or some other document. Instead, use an
instance e of class
Entry, with option
state=DISABLED to avoid alteration of
e's contents, as
discussed in the previous section.
16.3.5 Listbox
Class
Listbox displays textual items and lets the user
select one or more items. To set the text items for an instance
L of class Listbox, in
most GUI programs you can get by with just two
Listbox-specific idioms:
L.delete(0, END) # clear the listbox's items
L.insert(END, somestring) # add somestring to the listbox's items
To get the text item at index
idx, call
L.get(idx).
To get a list of all text items between indices
idx1 and idx2,
call
L.get(idx1,idx2).
To get the list of all text items, call
L.get(0,END).
Option selectmode defines the selection mode of a
Listbox instance L. The
selection mode indicates how many items the user can select at once:
only one in modes SINGLE and
BROWSE, more than one in modes
MULTIPLE and EXTENDED.
Secondarily, selectmode also defines the details
of what user actions cause items to be selected or unselected.
BROWSE mode is the default; it differs from
SINGLE mode in that the user may change the one
selected item by moving up and down while holding down the left mouse
button. In MULTIPLE mode, each click on a list
item selects or deselects the item without affecting the selection
state of other items. In EXTENDED mode, a normal
click on a list item selects that item and deselects all other items;
however, clicking while holding down a Ctrl key selects an item
without deselecting others, and clicking while holding down a Shift
key selects a contiguous range of items.
An instance L of class
Listbox supplies three selection-related methods.
Returns a sequence of zero or more indices, from 0
upwards, of selected items. Depending on the underlying release of
Tk, curselection may return string representations
of the integer indices, rather than the integers themselves. To
remove this uncertainty, you can use:
indices = [ int(x) for x in L.curselection( ) ] However,
[L.get(x)
for x
in
L.curselection( )] is
always the list of the zero or more text items that are selected, no
matter what form of indices curselection returns.
Therefore, if you're interested in selected text
items rather than selected indices, the uncertainty may not be an
issue.
Deselects the i item (all items from the
i to the j, if
j is not None).
Selects the i item (all items from the
i to the j, if
j is not None).
select_set does not automatically deselect other
items, even if L's selection
mode is SINGLE or BROWSE.
16.3.6 Radiobutton
Class
Radiobutton implements a little box that is
optionally checked. The user clicks the radiobutton to toggle it on
or off. Radiobuttons come in groups: checking a radiobutton
automatically unchecks all other radiobuttons of the same group.
Instantiate Radiobutton with option
text=somestring to
label the button with text, or
image=imageobject to
label the button with an image. Optionally, use option
command=callable to
have callable execute without arguments
when the user clicks the radiobutton.
callable can be a function, a bound method
of an object, an instance of a class with a _ _call_
_ method, or a lambda.
An instance r of
Radiobutton must be associated with a
Tkinter variable object
v, using configuration option
variable=v of
r, and with a designated value
X, using option
value=X of
r. Most often,
v is an instance of
IntVar. The value of v
changes to X when
r is checked, either by the user clicking
on r or by your code calling
r.select( ). Vice
versa, when the value of v changes,
r is checked if, and only if,
v.get( )=
=X. Several instances of
Radiobutton form a group if they have the same
variable and different values;
selecting an instance changes the variable's value,
and therefore automatically unchecks whichever other instance was
previously checked.
Note that Radiobutton instances form a group if,
and only if, they share the same value for the
variable option. There is no special container to
use to make Radiobutton instances into a group,
nor is it even necessary for the Radiobutton
instances to be children of the same widget. However, it would be
confusing to the user if you dispersed a group of
Radiobutton instances among several disparate
locations.
Besides methods common to all widgets, an instance
r of class Radiobutton
supplies four radiobutton-specific methods.
Unchecks r
and sets the associated variable object to an empty string, like
r.cget('variable').set('').
Draws the user's attention to
r by redrawing
r a few times, alternately in normal and
active states.
Calls without arguments the callable object that is
r's
command option, just like
r.cget('command')( ).
Checks r and sets the associated variable
object to r's value, like
r.cget('variable').set(r.cget('value')).
16.3.7 Scale
Class
Scale implements a widget in which the user can
input a value by sliding a cursor along a line.
Scale supports configuration options to control
the widget's looks and the value's
range, but in most GUI programs the only option you specify is
orient=HORIZONTAL when you want the line to be
horizontal (by default, the line is vertical).
Besides methods common to all widgets, an instance
s of class Scale
supplies two scale-specific methods.
Returns the current position of
s's cursor, normally on a
scale of 0 to 100.
Sets the current position of
s's cursor, normally on a
scale of 0 to 100.
16.3.8 Scrollbar
Class
Scrollbar implements a widget similar to class
Scale, almost always used to scroll another widget
(most often a Listbox, covered earlier, or a
Text or Canvas, covered later)
rather than to let the user input a value.
A Scrollbar instance s
is connected to the widget that s controls
(e.g., a Listbox instance
L) through one configuration option on
each of s and L.
Exactly for this purpose, the widgets most often associated with a
scrollbar supply a method named yview and a
configuration option named yscrollcommand for
vertical scrolling. (For horizontal scrolling, widgets such as
Text, Canvas, and
Entry supply a method named
xview and a configuration option named
xscrollcommand.) For vertical scrolling, use
s's option
command=L.yview
so that user actions on s call
L's bound method
yview to control
L's scrolling, and also
use L's option
yscrollcommand=s.set
so that changes to L's
scrolling, in turn, adjust the way s
displays by calling s's
bound method set. The following example uses a
Scrollbar to control vertical scrolling of a
Listbox:
import Tkinter
s = Tkinter.Scrollbar( )
L = Tkinter.Listbox( )
s.pack(side=Tkinter.RIGHT, fill=Tkinter.Y)
L.pack(side=Tkinter.LEFT, fill=Tkinter.Y)
s.config(command=L.yview)
L.config(yscrollcommand=s.set)
for i in range(30): L.insert(Tkinter.END, str(i)*3)
Tkinter.mainloop( )
Since s and L
need to refer to each other, we cannot set their respective options
on construction in both cases, so for uniformity we call their
config methods to set the options later for both.
Clearly, in this example we do need to bind names to the widgets in
order to be able to call pack and
config methods of the widgets, use the
widgets' bound methods, and populate the
Listbox. Note that
L=Tkinter.Listbox( ).pack(
) does not bind L to the
Listbox, but rather to the result of method
pack (i.e., None). Therefore,
code this in two statements instead (as shown in the previous
example):
L = Tkinter.Listbox( )
L.pack( )
|


Alt Class
Definition
Line
56
of
scm2html/RegEx.cm
Inheritance
Constructors & Destructor
public
Alt
(
RegExpression
* left_,
RegExpression
* right_)
Member Functions
public
override
void
Accept
(
Visitor
& visitor)
Constructor& Destructor Details
Alt Constructor
public
Alt(
RegExpression
* left_,
RegExpression
* right_)
Definition
Line
58
of
scm2html/RegEx.cm
Member Function Details
Accept Member Function
public
override
void
Accept(
Visitor
& visitor)
Definition
Line
62
of
scm2html/RegEx.cm


Represents an oriented bounding box (OBB) in 3D space.
[name] is an add-on, and must be imported explicitly. See [link:#manual/introduction/Installation Installation / Addons].
import { OBB } from 'three/addons/math/OBB.js';
[example:webgl_math_obb]
[page:Vector3 center] — The center of the [name]. (optional)
[page:Vector3 halfSize] — Positive halfwidth extents of the [name] along each axis. (optional)
[page:Matrix3 rotation] — The rotation of the [name]. (optional)
Creates a new [name].
The center of the [name]. Default is *( 0, 0, 0 )*.
Positive halfwidth extents of the [name] along each axis. Default is *( 0, 0, 0 )*.
The rotation of the [name]. Default is the identity matrix.
[page:Matrix4 matrix] — A 4x4 transformation matrix.
Applies the given transformation matrix to this [name]. This method can be used to transform the bounding volume with the world matrix of a 3D object in order to keep both entities in sync.
[page:Vector3 point] — The point that should be clamped within the bounds of this [name].
[page:Matrix3 clampedPoint] — The result will be copied into this vector.
Clamps the given point within the bounds of this [name].
Creates a cloned [name] for this instance.
[page:Vector3 point] — The point to test.
Whether the given point lies within this [name] or not.
[page:OBB obb] — The [name] to copy.
Copies the properties of the given [name] to this [name].
[page:OBB obb] — The [name] to test.
Whether the given [name] is equal to this [name] or not.
[page:Box3 box3] — An AABB.
Defines an [name] based on the given AABB.
[page:Vector3 size] — The result will be copied into this vector.
Returns the size of this [name] into the given vector.
[page:Box3 box3] — The AABB to test.
Whether the given AABB intersects this [name] or not.
[page:Sphere sphere] — The bounding sphere to test.
Whether the given bounding sphere intersects this [name] or not.
[page:OBB obb] — The OBB to test.
[page:Number epsilon] — An optional numeric value to counteract arithmetic errors. Default is `Number.EPSILON`.
Whether the given [name] intersects this [name] or not.
[page:Plane plane] — The plane to test.
Whether the given plane intersects this [name] or not.
[page:Ray ray] — The ray to test.
Whether the given ray intersects this [name] or not.
[page:Ray ray] — The ray to test.
[page:Vector3 intersectionPoint] — The result will be copied into this vector.
Performs a Ray/OBB intersection test and stores the intersection point to the given 3D vector. If no intersection is detected, `null` is returned.
[page:Vector3 center] — The center of the [name].
[page:Vector3 halfSize] — Positive halfwidth extents of the [name] along each axis.
[page:Matrix3 rotation] — The rotation of the [name].
Defines the [name] for the given values.
[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/math/OBB.js examples/jsm/math/OBB.js]


Thiruvananthapuram District is the southernmost district in the Indian state of Kerala. The district was created in 1949, with its headquarters in the city of Thiruvananthapuram, which is also Kerala's capital. The present district was created in 1956 by separating the four southernmost Taluks of the erstwhile district to form Kanyakumari district. The district is home to more than 9% of total population of the state.
It's distinguished by its British colonial architecture and many art galleries. It’s also home to Kuthira Malika (or Puthen Malika) Palace, adorned with carved horses and displaying collections related to the Travancore royal family, whose regional capital was here from the 18th–20th centuries.
The district has three major rivers, several freshwater lakes, and over 300 ponds. Its eastern region is forested, northern regions are mostly under rubber cultivation and the remaining areas grow mixed dry-land crops of coconut, plantain, and tapioca, among others. Built-up areas and rice fields complete the land use pattern.


Overview
The xbuild.json
files are intended to be consumed by
the xPack build tools.
The formal definitions are available in the JSON schema xbuild-0.3.0.json file.
As for other managed build systems, the result of the xPack build generator process is a set of command lines to be passed to the builder.
To construct these command lines, the metadata files should provide:
- a way to construct the list of source files that enter the build (explicit file names or recursive searches in folders)
- for each source file, a method to select a tool to be used to process it
- all the details required to fill in the command lines (compiler options, defined symbols, header folder/files, etc).
A typical blinky project might look like:
{
"schemaVersion": "0.3.0",
"includeMetadata": [
"xpacks/toolchains-metadata/toolchains-gcc-xbuild.json"
],
"description": "STM32F4DISCOVERY Blinky project",
"name": "blinky",
"target": {
"platform": "stm32f4-discovery",
"cpu": {
"device": "stm32f407vg"
}
},
"toolsCollections": [
"xpack-arm-none-eabi-gcc"
],
"language": "c++",
"builder": "ninja",
"buildConfigurations": {
"debug": {
"addSourcePaths": [
"src"
],
"removeSourcePaths": [
"src/stm32f4-hal/stm32f4xx_ll_utils.c",
"src/stm32f4-hal/stm32f4xx_ll_usb.c"
],
"toolsSettings": {
"c-compiler": {
"addOptions": [
"-mcpu=cortex-m4",
"-mthumb",
"-mfloat-abi=soft",
"-g3",
"-Wall",
"-Wextra",
"-O0",
"-std=gnu11",
"-fmessage-length=0",
"-fsigned-char",
"-ffunction-sections",
"-fdata-sections",
"-DDEBUG",
"-DTRACE",
"-DUSE_FULL_ASSERT",
"-DOS_USE_TRACE_SEMIHOSTING_DEBUG",
"-DSTM32F407xx",
"-DPLATFORM_STM32F4_DISCOVERY",
"-DUSE_HAL_DRIVER",
"-DHSE_VALUE=8000000",
"-DOS_USE_SEMIHOSTING",
"-I{{ project.absolutePath }}/include",
"-I{{ project.absolutePath }}/system/include",
"-I{{ project.absolutePath }}/system/include/cmsis",
"-I{{ project.absolutePath }}/system/include/stm32f4-hal"
]
},
"cpp-compiler": {
"addOptions": [
"-mcpu=cortex-m4",
"-mthumb",
"-mfloat-abi=soft",
"-g3",
"-Wall",
"-Wextra",
"-O0",
"-std=gnu++11",
"-fabi-version=0",
"-fno-exceptions",
"-fno-rtti",
"-fno-use-cxa-atexit",
"-fno-threadsafe-statics",
"-fmessage-length=0",
"-fsigned-char",
"-ffunction-sections",
"-fdata-sections",
"-DDEBUG",
"-DTRACE",
"-DUSE_FULL_ASSERT",
"-DOS_USE_TRACE_SEMIHOSTING_DEBUG",
"-DSTM32F407xx",
"-DPLATFORM_STM32F4_DISCOVERY",
"-DUSE_HAL_DRIVER",
"-DHSE_VALUE=8000000",
"-DOS_USE_SEMIHOSTING",
"-I{{ project.absolutePath }}/include",
"-I{{ project.absolutePath }}/system/include",
"-I{{ project.absolutePath }}/system/include/cmsis",
"-I{{ project.absolutePath }}/system/include/stm32f4-hal"
]
},
"cpp-linker": {
"addOptions": [
"-mcpu=cortex-m4",
"-mthumb",
"-mfloat-abi=soft",
"-g3",
"-Wall",
"-Wextra",
"-O0",
"-std=gnu11",
"-fmessage-length=0",
"-fsigned-char",
"-ffunction-sections",
"-fdata-sections",
"-Wl,--gc-sections",
"-T{{ project.absolutePath }}/linker-scripts/mem.ld",
"-T{{ project.absolutePath }}/linker-scripts/sections.ld",
"-nostartfiles",
"-Wl,-Map,\"{{ artefact.name }}.map\"",
"--specs=nano.specs"
]
}
}
},
"release": {
"addSourcePaths": [
"src"
],
"removeSourcePaths": [
"src/stm32f4-hal/stm32f4xx_ll_utils.c",
"src/stm32f4-hal/stm32f4xx_ll_usb.c"
],
"toolsSettings": {
"c-compiler": {
"addOptions": [
"-mcpu=cortex-m4",
"-mthumb",
"-mfloat-abi=soft",
"-g3",
"-Wall",
"-Wextra",
"-Os",
"-std=gnu11",
"-fmessage-length=0",
"-fsigned-char",
"-ffunction-sections",
"-fdata-sections",
"-DNDEBUG",
"-DSTM32F407xx",
"-DPLATFORM_STM32F4_DISCOVERY",
"-DUSE_HAL_DRIVER",
"-DHSE_VALUE=8000000",
"-DOS_USE_SEMIHOSTING",
"-I{{ project.absolutePath }}/include",
"-I{{ project.absolutePath }}/system/include",
"-I{{ project.absolutePath }}/system/include/cmsis",
"-I{{ project.absolutePath }}/system/include/stm32f4-hal"
]
},
"cpp-compiler": {
"addOptions": [
"-mcpu=cortex-m4",
"-mthumb",
"-mfloat-abi=soft",
"-g3",
"-Wall",
"-Wextra",
"-Os",
"-std=gnu++11",
"-fabi-version=0",
"-fno-exceptions",
"-fno-rtti",
"-fno-use-cxa-atexit",
"-fno-threadsafe-statics",
"-fmessage-length=0",
"-fsigned-char",
"-ffunction-sections",
"-fdata-sections",
"-DNDEBUG",
"-DSTM32F407xx",
"-DPLATFORM_STM32F4_DISCOVERY",
"-DUSE_HAL_DRIVER",
"-DHSE_VALUE=8000000",
"-DOS_USE_SEMIHOSTING",
"-I{{ project.absolutePath }}/include",
"-I{{ project.absolutePath }}/system/include",
"-I{{ project.absolutePath }}/system/include/cmsis",
"-I{{ project.absolutePath }}/system/include/stm32f4-hal"
]
},
"cpp-linker": {
"addOptions": [
"-mcpu=cortex-m4",
"-mthumb",
"-mfloat-abi=soft",
"-g3",
"-Wall",
"-Wextra",
"-Os",
"-std=gnu11",
"-fmessage-length=0",
"-fsigned-char",
"-ffunction-sections",
"-fdata-sections",
"-Wl,--gc-sections",
"-T{{ project.absolutePath }}/linker-scripts/mem.ld",
"-T{{ project.absolutePath }}/linker-scripts/sections.ld",
"-nostartfiles",
"-Wl,-Map,\"{{ artefact.name }}.map\"",
"--specs=nano.specs"
]
}
}
}
}
}
Generalities
Definitions
- build configuration: a complete group of definitions which will
eventually result in an artefact; in a project, the build
configuration names (including those used for tests), must be unique;
for simple projects usually there are only two top configurations,
debug
/release
; for complex projects there can be more, for different targets or, in test cases, even for different toolchains; - artefact: the result of a build; as of now, it can be an executable or a library;
- toolsCollections: collections of tools, usually toolchains;
- target platform: the platform that the artefact is supposed to run on; usually a board or a physical machine, but can also be a synthetic platform, like a POSIX process running on a GNU/Linux or macOS system;
Contexts
The *xbuild.json
files can be located in multiple contexts:
- package root folder
- test root folder
- sub-folders
When xPack aware tools start, they read-in the xbuild.json
file
located in the project root folder.
If needed, these top files can include files from any sub-folders, local to the project or from dependencies.
Inner files can include other files, at any depth.
Multiple occurrences of the same definitions trigger warnings and are ignored.
Example:
{
"includeMetadata": [
"sub-folder/.xbuild.json"
]
}
Definitions hierarchies
For each build configuration, the build process constructs a tree with folder and files nodes, which follow the file system hierarchy.
The file nodes are leaves in this tree, while folder nodes may have other children.
Each new sub-level may contribute additional compiler options to the build, such that files located deeper in the hierarchy may be compiled with different options.
Add/remove
For each node of the hierarchy, the definitions are kept in
ordered lists. The common behaviour when creating a new node is to
copy the definitions from the parent and append the new definitions
to the end of the list; thus the addOptions
properties.
If a definition from the parent is not needed, the child can
instruct the builder to avoid copying it, by using the
removeOptions
properties.
Folder/file specific metadata
The definitions in the top *xbuild.json
file apply to all files that enter
the build.
However it is possible to enter specific definitions for folders, and in this case they apply for all files in the folder, or for a specific file.
Two kinds of data can be defined:
- for source folders, a list of exclusions (folders and/or files)
- for source folders/files, possible different compiler settings.
The folder/file settings may be distributed in each folder, with file paths local to the folder.
Project and/or test folders
To identify a folder as an xPack build project, a full xbuild.json
file,
which includes the build.name
property, is expected in the project root.
Tests are a specific kind of executable projects, and are also identified
by a full xbuild.json
in each test folder.
Objects
The xbuild.json
file defines a hierarchy of objects with properties,
with the JSON root on top.
The root object
| Properties | Type | Description |
|---|---|---|
schemaVersion |
string | The version in semver format, that identifies the expected structure of the JSON content (see index). |
license |
string | The license used to distribute the file (see index). |
copyright |
string | The copyright owner (see index). |
description |
string | A short sentence describing the project or the content of the file. May be displayed by GUI tools processing the file. |
$comment |
string | A place to keep internal notices. |
name |
string | The build name. It is mandatory for projects and for tests. |
builder |
string | The default builder name. |
target |
object | The target platform/device/etc. |
language |
string | The programming language (c/c++); overrides the top definition. |
artefact |
object | The name and type of the artefact to be built. |
includeMetadata |
string[] | An array of paths relative to the location of the file. |
buildConfigurations |
collection | A map of build configurations. |
The name property
The build name is used to create other names, like artefact names.
Example:
{
"name": "blinky"
}
The builder property
The builder
property identifies the default builder used to create the
artefact.
It can be used only in project or test *xbuild.json
files; using it in folder
specific metadata files triggers an warning.
Currently only ninja
, make
and internal
are supported, with the
internal builder not yet available.
The default value is internal
, which, for now, means that the builder must
be explicitly defined, or passed on the command line.
Example:
{
"builder": "ninja"
}
The includeMetadata array
To facilitate reuse of definitions, it is possible to collect them from multiple files.
Included files may include other files, at any depth.
The location of each file is remembered, such that relative paths used in each files can be correctly processed.
Contributions to maps/arrays are appended at the end; inner files are processed before the current file.
Example:
{
"includeMetadata": [
"xpacks/toolchains-metadata/toolchains-gcc-xbuild.json",
"xpacks/toolchains-metadata/profiles-gcc-xbuild.json"
]
}
The target object
The target definitions are not actively used during builds, but are useful for example when creating new debug launchers.
| Parent |
|---|
| The buildConfiguration object. |
| Properties | Type | Description |
|---|---|---|
platform |
string | The target platform id. |
cpu |
object | The target CPU. |
Example:
{
"target": {
"platform": "stm32f4-discovery",
"cpu": {
"device": "stm32f407vg"
}
}
}
The cpu object
The cpu object defines the target CPU device name, and possibly other grouping names (like family, subFamily, variant).
| Parent |
|---|
| The target object. |
| Properties | Type | Description |
|---|---|---|
family |
string | The target device family id. |
subFamily |
string | The target device sub-family id. |
device |
string | The target device sub-family id. |
variant |
string | The target device variant id. |
The artefact object
Alias: artifact
(american spelling).
The artefact object defines the type and name of the output file.
It can be used only in project or test *xbuild.json
files; using it in folder
specific metadata files triggers an warning.
| Parents |
|---|
| The root object. |
| The buildConfiguration object. |
| Properties | Type | Description |
|---|---|---|
type |
string | The artefact type (application or library). |
name |
string | The artefact name. |
outputPrefix |
string | The artefact name prefix. |
outputSuffix |
string | The artefact name suffix. |
extension |
string | The artefact extension. |
The type
property can be one of:
executable
(default; default extension is.exe
on Windows)staticLib
(default extension is.a
)sharedLib
(default extension is.so
for Linux)
If not present, The name
property defaults to ``.
If not present, the default prefix/suffix properties are empty.
The actual name used for the artefact is a concatenation of four fields:
"{{ artefact.outputPrefix }}{{ artefact.name }}{{ artefact.outputSuffix }}{{ artefact.extension }}"
Example:
{
"buildConfiguration": {
"debug": {
"artefact": {
"type": "executable",
"name": "{{ build.name }}",
"outputPrefix": "",
"outputSuffix": "",
"extension": ""
},
"...": "..."
}
}
}
The buildConfiguration object
Build configurations are objects used to collect all the definitions required to generate the builder files required to build the artefact from the source file.
The definitions are mainly command line options to be passed to various tools. They can be in-lined or copied from multiple groups (to be added in a future release).
The build starts by constructing an array of paths to source files, possibly by recursively searching files with specific extensions in the given source folders.
Source files in inner folders may be configured with specific options,
for example with extra -Wno-xxx
options to disable some warnings.
| Parent |
|---|
| The root object. |
| Properties | Type | Description |
|---|---|---|
target |
object | The target platform/device/etc. |
builder |
string | The default builder name; overrides the top definition. |
language |
string | The programming language (c/c++); overrides the top definition. |
artefact |
object | The name and type of the artefact to be built; override the top definition. |
addSourcePaths |
string[] | Array of paths to source files, or paths to folders with source files, to be added to the build. |
removeSourcePaths |
string[] | Array of paths to be excluded from the build. |
toolsSettings |
collection | Map of settings to be added for different tools. |
sourceFoldersSettings |
collection | Map of settings to be added for a specific sub-folder. |
sourceFilesSettings |
collection | Map of settings to be added for a specific file in a sub-folder. |
The addSourcePaths array
Type: array of strings.
This array defines the paths to:
- source files
- folder containing source files
All paths are relative to the current folder.
For tests, which are located deeper in the file system hierarchy, a typical configuration is:
{
"addSourcePaths": [
"../../src",
"."
]
}
The removeSourcePaths array
Type: array of strings.
If a definition from the parent is definitely not needed, it can be removed:
{
"removeSourcePaths": [
"lib"
]
}
If the definitions to be removed do not exist, warnings are issued.
For a given build, all source folders are searched for source files,
possible exclusions from sourceFolderSettings
are processed, and the
remaining files enter the build.
The toolsSetting object
| Parent |
|---|
| The buildConfiguration object. |
| Properties | Type | Description |
|---|---|---|
addOptions |
string[] | Array of strings with the actual command line options. |
removeOptions |
string[] | Array of strings with command line options to be removed. |
The sourceFoldersSetting object
The sourceFoldersSetting object defines additional options specific to a folder.
| Parent |
|---|
| The buildConfiguration object. |
| Properties | Type | Description |
|---|---|---|
toolsSettings |
collection | Collection of tools settings. |
The sourceFilesSetting object
The sourceFilesSetting object defines additional options specific to a file.
| Parent |
|---|
| The buildConfigurations object. |
| Properties | Type | Description |
|---|---|---|
addOptions |
string[] | Array of strings with command line options to be added. |
removeOptions |
string[] | Array of strings with command line options to be removed. |
The toolsCollection object
The toolsCollection object defines a group of related tools, usually a toolchain.
| Parent |
|---|
| The root object. |
| Properties | Type | Description |
|---|---|---|
displayDescription |
string | A short sentence describing the tools collection. May be displayed by GUI tools processing the collection. |
commandPrefix |
string | TODO |
commandSuffix |
string | TODO |
displayDescriptionPrefix |
string | TODO |
isCross |
boolean | TODO |
objectExtension |
string | TODO |
makeObjectsVariable |
string | TODO |
tools |
collection | Collection of tools. |
TODO
The tool object
The tool object defines the characteristics of a tool from a tools collection.
| Parent |
|---|
| The toolsCollection object. |
| Properties | Type | Description |
|---|---|---|
displayDescription |
string | A short sentence describing the tool. May be displayed by GUI tools processing the tools. |
commandName |
string | TODO |
inputFileExtensions |
string[] | TODO (like .c , .cpp ) |
outputFileExtension |
string | TODO (like .o ) |
| … | string | TODO |
TODO
TODO
- add a method to define group options and apply in multiple tools
(like “$include: #/$groups/
") - allow multiple artefacts
- rework artefacts to add an explicit mention of the tool
- add pre/post actions
- study the GUI integration


(President) or Robert Coffield; 812 North Main Drive, New Martinsville, WV
26155 (Editor).
Published Works
"George Lemley and wife Catherine
Yoho and their descendants for two centuries" by Alvah John Washington
Headlee (1902-), Morgantown, WV: Headlee, 1975. 219 p. Library of Congress Call
Number: CS71.L547 1975. Dewey Decimal:
929/.2/0973. Includes index.
"My Mother's people" by Glen
Allan Lincicome (1932-), Urbana, Ohio (454 1/2 Scioto St., Urbana, OH 43078) :
G.A. Lincicome, 1986. Library of Congress Call Number: CS71.P69 1986. Dewey Decimal: 929/.2/0973 cd19. Includes
index. .
"Charlie Yoho--his family: 200 years
along the Ohio River" by Denver Clayton Yoho (1913-), index by Mrs. Carol
Hassig. Gallipolis, OH (Rt. 3, Box 202, Gallipolis, OH 45631) : D.C. Yoho
[1982] 311p. Library of Congress Call
Number: CS71.Y537 1982. Dewey Decimal:
929/.2/0973 dc19. Includes index. John Michael Yoho. John Michael Yoho was a meat cutter.
"The Descendants of Henry Yoho &
Annabelle Buchanan" compiled by Richard E Henthorn and T. Vernon
Anderson. This volume was completed in
1987 with the help of many others.
Copies were placed in the Moundsville and New Martinsville Library. The original volume was 375 pages. In 1998 this work was redone and the finished
volume contained 554 pages because of the contributions of Sullivan Blair
Yoho. Copies of this volume were given
to Sullivan Blair Yoho, Denver Clayton Yoho, and Clarice Eller Stanley. A fourth copy was sold at the Yoho reunion. My mother purchased this copy at the silent
auction. Clarice donated her copy to the
DAR Library in Washington, DC.
Dr. Tim P. Yoho, Chairman & Professor
of Biology @Lock Haven University Yoho Family Newsletter, 1995
According to a report by Martin Joho, who lives in Auenstein, my citizen
community, which is a small village at the river Aarau in the canton Aargau,
the Joho family has lived there at least since 1585. But there is information
of other Joho families in Thalheim 1498 to 1800. Schinznach-Dorf since 1527,
Villernachen 1592 to 1800, Horen Estate in Kuttigen since 1577 and Suhr since
1660. Today, Johos are citizens of
Auenstein, Bettwil and Schinznach-Dorf.
By the way, I do not know anything about Johos in Germany."
In a follow up e-mail, I asked Felix about the location of villages
which he cited in the previous message.
He responded as follows: "You asked me about the geography in
Switzerland. These small villages are
located in the Canton Aarau near Aarau, which is the captial of this Canton. All these villages are near Aarau and all are
quite small. So you must have a good map
of Switzerland to find them. The Canton
Aargau is between Bern and Zuerick at the river Aarau, which goes to the river
Rhine at the border to Germany. By the
way Endingen (where Werner lives) is also in Canton Aargau. I may send you the documentation about the
Joho family, but it is written in German and I do not know if you understand it
or if you know someone who is able to translate it."
I received information from Felix and had the information translated
from German. Generally, the information
he provided me is a historical sketch of the community of Auensten. Following are some excerpts from that
material:
The village of Auenstein was first named after Count von Gowenstein.
From 1212 to 1300 the village was named Gowenstein. From 1317 to 1542, it went from the name
Gowenstein to Gauenstein, and today it is call Auenstein.
The original water castle was built around the eleventh century by the
Habsburger empire. The first time it was
mentioned was when the Count of Gowenstein became the owner in 1212. The community of Auenstein belonged to the
castle. The count governed the entire
community and had his own court system.
The Herren von Rynach built the first church in Auenstein in 1302. The castle burned in 1389 when it was
attacked by the Austrians and Berners.
Before 1250, there were no family names.
In the following years, family names showed up as combinations between
first names, middle names, professions and where they lived. The first records of the people were kept in
1803, and these are the same that they use today. The village registry from
1824-25 listed twenty families with the name Joho.
On the basis of the information sent by Felix, it appears that the Joho
name goes back to at least 1498 in Switzerland.
The fact that the locations given by Felix are close to the German
border suggests that some family members may have temporarily settled in
Germany from Switzerland, but most of the family remained in Switzerland. As I mentioned at the beginning of this
letter, the missing piece of the puzzle is somewhere in Switzerland. The challenge is to establish a link between
Johannes and Susanne Joho and the family line now in Switzerland.
He was married to Susanna Gelker in 1703
in Alsace.
217.
Susanna Gelker26 was born in 1680 in Matsall, Lorraine, Alsace. She has reference number 1665 &
1689.
John Michael Yoho and Susanna Gelker had
the following children:
i. John Conrad Yoho was born in Aug
1705. He died on 29 Mar 1729.
108 ii. Johannes
Yoho.
iii. Anna Maria Margaretha Yoho was born in
1714. Anna Maria Margaretha Yoho was
confirmed in 1729.
iv. John Michael Yoho was born about
1718. He died on 27 Jan 1735.
218.
Theobald Lau26 was born in 1680 in Sulzthal, Lembach Parish,
Alsace. He has reference number 1666
& 1690. Blacksmith, lived Sulzthal,
Alsace.
219.
Margaretta.
Theobald Lau and Margaretta had the
following children:
109 i. Susannah
Catherine Lau.
244.
Joseph Yeager was born on 28 Sep 1739 in Germany. He died on 2 Feb 1838 in Masontown, Fayette
Co, PA. He was buried in Jacobs Lutheran
Ch, Masontown, PA. He was married to
Catirina Elisabett Becker.
245.
Catirina Elisabett Becker was born on 21 Jul 1743 in Germany. She was buried in Jacobs Lutheran Ch,
Masontown, PA. She died in Masontown,
Fayette Co, PA.
Joseph Yeager and Catirina Elisabett
Becker had the following children:
i. Christenia Yeager was born in 1756 in
Monongalia Co, VA. She died in 1824 in
Monongalia Co, VA.
122 ii. Johann
George Yeager.
NINTH GENERATION
326.
Van Swearingen. He was married to
Elizabeth Walker.
327.
Elizabeth Walker.
Van Swearingen and Elizabeth Walker had
the following children:
163 i. Rebecca
Swearingen.
490.
Johann Nicholas Becker was born on 19 Dec 1701 in Framersheim Rhineland,
Germany. He died on 27 Dec 1762 in
Shenandoah Co, VA. He was married to
Maria Appollonia Bayer on 25 Oct 1738 in Framersheim, Rhineland, Germany.
491.
Maria Appollonia Bayer was born on 25 Feb 1712 in Germany. She died about 1762 in Shenandoah Co,
VA.
Johann Nicholas Becker and Maria
Appollonia Bayer had the following children:
245 i. Catirina
Elisabett Becker.
TENTH GENERATION
980.
Johann Peter Becker was born about 5 Nov 1671 in Framersheim, Rhineland,
Germany. He died on 10 Jun 1748 in
Framersheim Rhineland, Germany. He was
married to Anna Petronell Wendel on 15 Jan 1697 in Germany.
981.
Anna Petronell Wendel was born on 24 Sep 1678 in Framersheim,
Germany. She died on 15 Feb 1752 in
Framersheim Rhineland, Germany.
Johann Peter Becker and Anna Petronell
Wendel had the following children:
490 i. Johann
Nicholas Becker.
982.
Andreas Bayer. He was
married.
Andreas Bayer had the following children:
491 i. Maria
Appollonia Bayer.
Prepared by:
T. Vernon Anderson
79 Blayney Avenue
Triadelphia, WV 26059
304-909-0187
<EMAIL_ADDRESS>SOURCES
1.
Deaths, WV online records, Culture & History Center.
2.
Tri-Country Researcher. Jan 1997
pg 8.
3.
Ibid. Jan 1997 pg 8.
4.
Ibid. Jan 1997 pg 8.
5.
Ibid. Jan 1997 pg 8.
6.
Ibid. Jan 1997 pg 8.
7.
Ibid. Jan 1997 pg 8.
8.
Richard E Henthorn.
9.
Death Records, Putnam Co, WV. bk
1 pg 23.
10.
Death Records, Marshall Co, WV.
bk 1 pg 28.
11.
Ibid. bk 2 pg 190.
12.
Ibid. bk 1 pg 80.
13.
Ibid. bk 2 pg 122.
14.
Ancil David Baker.
15.
Death Records, Wetzel Co, WV. bk
A-D pg 49.
16.
World Family Tree. Vol 7, Tree
4735.
17.
DAR Patriot Index. Vol I pg 768.
18.
History of the Panhandle - 1879.
pg 361-3.
19.
Denver Clayton Yoho. "The
Indians Wars", April 1995.
20.
Pension Application. National
Archives.
21.
Howard L Leckey. Ten Mile Country
and it's Pioneer Families. pg 28, 38.
22.
Milo Floyd Cooper. His hand
written family history given to me by William Franklin Torres.
23.
DAR Patriot Index. Vol I pg 29.
24.
Ohio Valley Richmonds, Their Kith & Kin.
25.
History of the Panhandle - 1879.
pages 361-3.
26.
Denver Clayton Yoho.
27.
Brant & Fuller, 1890. History
of the Upper Ohio Valley, Vol I. pg
669-71.
28.
History of the Panhandle - 1879.
pg 361-3.
29.
Howard L Leckey. Ten Mile Country
and it's Pioneer Families. pg 38.
30.
Yoho, Timothy P, Dr.
31.
DAR Patriot Index. Vol I pg 768.
32.
Howard L Leckey. Ten Mile Country
and it's Pioneer Families. pg 28, 38,
136.
33.
Yoho, Timothy P, Dr. Yoho
Newsletter.
Provided by: Oran Sherman
Baker and T. Vernon
Anderson
Last modified March
10, 2011 by reh
Click here for the Short-Cut Table of Contents


Architecture
The following principles and guidelines are based on Angular Styleguide - especially Angular modules (see Angular Docs). It extends those where additional guidance is needed to define an architecture which is
-
maintainable across applications and teams
-
easy to understand, especially when coming from a classic Java/.Net perspective - so whenever possible the same principles apply both to the server and the client
-
pattern based to solve common problems
-
based on best of breed solutions coming from open source and Capgemini project experiences
-
gives as much guidance as necessary and as little as possible
Overview
When using Angular the web client architecture is driven by the framework in a certain way Google and the Angular community think about web client architecture.
Angular gives an opinion on how to look at architecture.
It is component based like devon4j but uses different terms which are common language in web application development.
The important term is module which is used instead of component. The primary reason is the naming collision with the Web Components standard (see Web Components).
To clarify this:
-
A component describes an UI element containing HTML, CSS and JavaScript - structure, design and logic encapsulated inside a reusable container called component.
-
A module describes an applications feature area. The application flight-app may have a module called booking.
An application developed using Angular consists of multiple modules. There are feature modules and special modules described by the Angular Styleguide - core and shared. Angular or Angular Styleguide give no guidance on how to structure a module internally. This is where this architecture comes in.
Layers
The architecture describes two layers. The terminology is based on common language in web development.
-
Components Layer encapsulates components which present the current application state. Components are separated into Smart and Dumb Components. The only logic present is view logic inside Smart Components.
-
Services Layer is more or less what we call 'business logic layer' on the server side. The layer defines the applications state, the transitions between state and classic business logic. Stores contain application state over time to which Smart Components subscribe to. Adapters are used to perform XHRs, WebSocket connections, etc. The business model is described inside the module. Use case services perform business logic needed for use cases. A use case services interacts with the store and adapters. Methods of use case services are the API for Smart Components. Those methods are Actions in reactive terminology.
Modules
Angular requires a module called app which is the main entrance to an application at runtime - this module gets bootstrapped. Angular Styleguide defines feature modules and two special modules - core and shared.
A feature module is basically a vertical cut through both layers. The shared module consists of components shared across feature modules. The core module holds services shared across modules. So core module is a module only having a services layer and shared module is a module only having a components layer.


What is StudyOpenings?
StudyOpenings is a free, open-sourced tool to help chess players memorize opening repertoires.
Where's the source code?
https://github.com/jven/studyopeningsLooking to contribute? Send a pull request!
I want to donate!
Thanks so much! You can support me on Patreon here: https://www.patreon.com/studyopenings.
Of course, this is entirely optional. StudyOpenings.com will always be free and open-sourced and there will never be any "premium" features.
I have another question.
Send an e-mail to jven@jvenezue.la.


apollo.gui.event
Class BaseFocusEvent
java.lang.Object
java.util.EventObject
apollo.gui.event.BaseFocusEvent
- All Implemented Interfaces:
- java.io.Serializable
public class BaseFocusEvent
- extends java.util.EventObject
- See Also:
- Serialized Form
| Fields inherited from class java.util.EventObject |
source |
| Methods inherited from class java.util.EventObject |
getSource, toString |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
BaseFocusEvent
public BaseFocusEvent(java.lang.Object source,
int focus,
SeqFeatureI feature)
- Constructor for position focus event, request to center on focus
BaseFocusEvent
public BaseFocusEvent(java.lang.Object source,
Region region)
getFocus
public int getFocus()
getFeature
public SeqFeatureI getFeature()
isPosition
public boolean isPosition()
- base focus can either be for a position (single base to center on - scroll) or a
range (set view to range - zoom & scroll). If this is too much to load onto
base focus event, then a new range event could be made
getRangeStart
public int getRangeStart()
getRangeEnd
public int getRangeEnd()
getRangeLimits
public int[] getRangeLimits()


Class StablePriorityQueue<T>
A copy of FastPriorityQueue which is also stable - that is, when two nodes are enqueued with the same priority, they are always dequeued in the same order. See https://github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp/wiki/Getting-Started for more information
Inheritance
Inherited Members
Namespace: System.Dynamic.ExpandoObject
Syntax
public sealed class StablePriorityQueue<T> : IPriorityQueue<T, float> where T : StablePriorityQueueNode
Type Parameters
|
T
The values in the queue. Must extend the StablePriorityQueueNode class |
Constructors
StablePriorityQueue(Int32)
Instantiate a new Priority Queue
Declaration
public StablePriorityQueue(int maxNodes)
Parameters
|
System.Int32
maxNodes
The max nodes ever allowed to be enqueued (going over this will cause undefined behavior) |
Properties
Count
Returns the number of nodes in the queue. O(1)
Declaration
public int Count { get; }
Property Value
|
System.Int32
|
Implements
First
Returns the head of the queue, without removing it (use Dequeue() for that). If the queue is empty, behavior is undefined. O(1)
Declaration
public T First { get; }
Property Value
|
T
|
Implements
MaxSize
Returns the maximum number of items that can be enqueued at once in this queue. Once you hit this number (ie. once Count == MaxSize), attempting to enqueue another item will cause undefined behavior. O(1)
Declaration
public int MaxSize { get; }
Property Value
|
System.Int32
|
Methods
Clear()
Removes every node from the queue. O(n) (So, don't do this often!)
Declaration
public void Clear()
Implements
Contains(T)
Returns (in O(1)!) whether the given node is in the queue. O(1)
Declaration
public bool Contains(T node)
Parameters
|
T
node
|
Returns
|
System.Boolean
|
Implements
Dequeue()
Removes the head of the queue (node with minimum priority; ties are broken by order of insertion), and returns it. If queue is empty, result is undefined O(log n)
Declaration
public T Dequeue()
Returns
|
T
|
Implements
Enqueue(T, Single)
Enqueue a node to the priority queue. Lower values are placed in front. Ties are broken by first-in-first-out. If the queue is full, the result is undefined. If the node is already enqueued, the result is undefined. O(log n)
Declaration
public void Enqueue(T node, float priority)
Parameters
|
T
node
|
|
System.Single
priority
|
Implements
GetEnumerator()
Declaration
public IEnumerator<T> GetEnumerator()
Returns
|
IEnumerator<T>
|
IsValidQueue()
Should not be called in production code. Checks to make sure the queue is still in a valid state. Used for testing/debugging the queue.
Declaration
public bool IsValidQueue()
Returns
|
System.Boolean
|
Remove(T)
Removes a node from the queue. The node does not need to be the head of the queue.
If the node is not in the queue, the result is undefined. If unsure, check Contains() first
O(log n)
Declaration
public void Remove(T node)
Parameters
|
T
node
|
Implements
Resize(Int32)
Resize the queue so it can accept more nodes. All currently enqueued nodes are remain. Attempting to decrease the queue size to a size too small to hold the existing nodes results in undefined behavior O(n)
Declaration
public void Resize(int maxNodes)
Parameters
|
System.Int32
maxNodes
|
UpdatePriority(T, Single)
This method must be called on a node every time its priority changes while it is in the queue.
Forgetting to call this method will result in a corrupted queue!
Calling this method on a node not in the queue results in undefined behavior
O(log n)
Declaration
public void UpdatePriority(T node, float priority)
Parameters
|
T
node
|
|
System.Single
priority
|


--- title: First Daffodil! date: 2015-02-04 00:00:00 -06:00 categories: - whats-blooming layout: post blog-banner: whats-blooming-now-winter.jpg post-date: February 4, 2015 post-time: 5:30PM blog-image: wbn-default.jpg ---
Rijnveld's Early Sensation Daffodil Narcissus 'Rijnveld's Early Sensation'
Of the 145+ cultivars of Daffodils planted at Red Butte, this cultivar is usually the first one to bloom.
Snowdrops Galanthus nivalis
These darling little nodding flowers were actually the first bulb to officially bloom here. Some were seen poking their buds through the snow a few weeks ago on the Floral Walk.
Amethyst Witch Hazel Hamamelis 'Amethyst'
Found on the west side of the Fragrance Garden, this dark-flowered shrub slowly unfurled its delicate petals this week.
Kramer's Red Winter Heath Erica x darleyensis 'Kramer's Rote'
These vibrant pink flowers brighten up the shade at the bottom of the Great Wall.
While you're admiring the Winter Heath, don't forget to look at the Great Wall closely. There you will find a patchwork of colorful lichens covering almost every rock.
Now that the first Daffodil is open, it won't be long until the other bulbs follow suit all over the garden.


--- layout: post title: Marks & Spencer Cocoa butter and Vanilla - Hand and nail cream tags: - Marks & Spencer status: publish type: post published: true meta: _edit_last: '2' _aioseop_keywords: Marks & Spencer Cocoa butter and Vanilla - Hand and nail cream review, hand nail cream review, mark and spencer review, vanilla and cocoa butter review, peach and almond review _aioseop_description: Marks & Spencer Cocoa butter and Vanilla - Hand and nail cream _aioseop_title: Marks & Spencer Cocoa butter and Vanilla - Hand and nail cream _graphene_slider_img: global _graphene_slider_imgurl: '' _graphene_show_addthis: global _yoast_wpseo_linkdex: '0' _thumbnail_id: '331' --- Marks & Spencer Cocoa butter and Vanilla - Hand and nail cream I love hand creams, you will always find one in my bag at all times :). I bought it from Marks and Spencer's store at Garuda Mall Bangalore. Earlier I had been using same range's White Peach and Almond Price: Rs. 295 for 100ml Product boasts of and contains: It contains too much paraben :( although the smell is good Pros:


{{fullmap.js}}
Flask Google Maps Full Map Example
Provide your Google Maps API Key to test it. Get you APIKEY in
https://cloud.google.com/maps-platform/?apis=maps
{{ fullmap.html }}


| Model |
| [ class tree: Model ] [ index: Model ] [ all elements ] |
|
Packages: Dioxid Common Config Controller Error Lib Model View Files: subpackage Database subpackage Exception
CantEtablishDatabaseConnectionException.php
CouldNotWriteToCacheException.php EngineNotFoundException.php NoDatabaseTableNameException.php subpackage Query Classes: |
|


Your organizations
New{{ organizations.new_prompt }}
Add team members to your organization or join an organization to begin collaborating.
Start an organization| Name | License | Team members | |
|---|---|---|---|
| 1,001 | Lorem | ipsum | sit |
| 1,002 | amet | consectetur | elit |
| 1,003 | Integer | nec | Praesent |
| 1,003 | libero | Sed | ante |
| 1,004 | dapibus | diam | nisi |
| 1,005 | Nulla | quis | at |


Reflex
Reflex is a simple reaction time tester.
Only the Return key is used in interaction with
the program. When pressing Return for the first time,
the user is instructed to Wait...; after a few seconds,
the program says Go! and the user must
strike Return again as fast as possible. The elapsed
time is displayed and the test can be repeated.
Here is the program:
module Reflex where
import POSIX
import RandomGenerator
data State = Idle | Waiting Msg | Counting
root env = class
print str = env.stdout.write (str ++ "\n")
tmr = new timer
gen = new baseGen (microsecOf env.startTime)
state := Idle
enter _ = action
case state of
Idle -> r <- gen.next
waitingTime = sec 2 + millisec (r `mod` 2000)
msg <- after waitingTime action
tmr.reset
print "Go!"
state := Counting
print "Wait..."
state := Waiting msg
Waiting msg -> abort msg
print "Cheat!!!"
state := Idle
Counting -> t <- tmr.sample
print (format t)
state := Idle
result
action
env.stdin.installR enter
print "Press return to start"
format t = show (secOf t) ++ '.' : fracs ++ " secs"
where n = microsecOf t `div` 10000
fracs = if n<10 then '0':show n else show n
Comments to the code:
- The program uses a timer object tmr, which is
an instance of the primitive class timer. A timer
can be can be reset and sampled; in
the latter case it returns the Time elapsed since it was
last reset.
- It also makes use of a random number generator to
produce a random waitingTime between two and four seconds
for the Waiting state.
- The program is a simple State machine, where
state changes are triggered in two ways:
- The user strikes Return; the case statement in enter
describes the corresponding actions and state changes. Note that
a strike in the Waiting state is a user error;
hence the user is accused of cheating.
- The Waiting time has elapsed and
the action that was scheduled at the previous keystroke is
invoked.
- The Waiting state carries one more piece of information in the
form of a Msg tag, created when the Go message was scheduled.
If the user cheats, that scheduled action must be aborted;
the message tag is needed as argument to the abort function.
- The time displayed is formatted with two decimals, using
auxiliary function format.
- This program should preferrably be executed in some simpler
environment with only a display, one or two buttons and perhaps some
sound-making device. The program would have to be modified
accordingly to import the proper environment module instead of POSIX
and to call the methods of that environment.


Hello
You are receiving this email because you or someone using your email-address registered to
To be able to use all Sketchlab features you first have to activate your account through the link below:
After activating your account you will be able to log in.
Happy sketching,
The Sketchlab mail service


Naturaily = experience + passion. We’ve spent tens of years developing great web and mobile applications. We are passionate about technology and its impact on societies.
We believe in progress, but like to keep it balanced. A walk in the woods is much appreciated as is a good piece of Ruby code, naturally.


--- layout: page title: About header-img: "img/about-bg.png" ---
These blogs will be about my personal journey through becoming a software engineer.


Derangement
问题描述 :
A derangement is a permutation such that none of the elements appear in their original position. For example, [5, 4, 1, 2, 3] is a derangement of [1, 2, 3, 4, 5]. Subtracting the original permutation from the derangement, we get the derangement difference [4, 2, -2, -2, -2], where none of its elements is zero. Taking the signs of these differences, we get the derangement sign [+, +, -, -, -]. Now given a derangement sign, how many derangements are there satisfying the given derangement sign?
输入:
There are multiple test cases. Process to the End of File.
Each test case is a line of derangements sign whose length is between 1 and 20, inclusively.
Each test case is a line of derangements sign whose length is between 1 and 20, inclusively.
输出:
There are multiple test cases. Process to the End of File.
Each test case is a line of derangements sign whose length is between 1 and 20, inclusively.
Each test case is a line of derangements sign whose length is between 1 and 20, inclusively.
样例输入:
+- ++---
样例输出:
1 13
题意：
艰涩难懂的题意！，n个1,2,3…n的数，它的错排，错排后的序列与原来的序列相减，满足给定的符号。(+,-)。
我dp好惨啊，不会搞啊！
dp[i][j]表示前i个还有j个符号没确定。如果是第i个是加号，则从前面选，否则从后面选。
#include<cstdio> #include<cstring> typedef long long LL; using namespace std; int main() { LL i,j,n; LL dp[22][22]; char str[22]; while(scanf("%s",str)!=EOF){ n=strlen(str); if(str[0]=='-'){ puts("0"); continue; } memset(dp,0,sizeof(dp)); dp[1][1]=1; for(i=2;i<=n;i++){ if(str[i-1]=='+'){ for(j=1;j<=i;j++){ dp[i][j]+=dp[i-1][j-1]; dp[i][j]+=dp[i-1][j]*j; } } else{ for(j=1;j<=i;j++){ dp[i][j-1]+=dp[i-1][j]*j*j; dp[i][j]+=dp[i-1][j]*j; } } } printf("%I64d\n",dp[n][0]); } }
版权声明：本文为博主原创文章，未经博主允许不得转载。
参考：http://blog.csdn.net/chj_zmr/article/details/10172365
(adsbygoogle = window.adsbygoogle || []).push({});
必须画


Before Change
self.container_name)
def _check_docker_installed(self):
try:
self.ssh_command_runner.run("command -v docker")
return
except Exception:
install_commands = [
"curl -fsSL https://get.docker.com -o get-docker.sh",
"sudo sh get-docker.sh", "sudo usermod -aG docker $USER",
"sudo systemctl restart docker -f"
]
logger.error(
"Docker not installed. You can install Docker by adding the "
"following commands to "initialization_commands":\n" +
"\n".join(install_commands))
def _shutdown_after_next_cmd(self):
self.shutdown = True
def _check_container_status(self):
After Change
no_exist = "NoExist"
output = self.ssh_command_runner.run(
f"command -v docker || echo "{no_exist}"", with_output=True)
cleaned_output = output.decode().strip()
if no_exist in cleaned_output or "docker" not in cleaned_output:
install_commands = [
"curl -fsSL https://get.docker.com -o get-docker.sh",
"sudo sh get-docker.sh", "sudo usermod -aG docker $USER",
"sudo systemctl restart docker -f"
]
logger.error(
"Docker not installed. You can install Docker by adding the "
"following commands to "initialization_commands":\n" +
"\n".join(install_commands))
def _shutdown_after_next_cmd(self):
self.shutdown = True
def _check_container_status(self):


Product BackLog
Release Backlog
Sprint
User Story
User Story(Developer)
User Story(Tester)
Employee List
Profile


New Dragon Boat
Chinese Restaurant
Home
Menu
Dine-in
Eat-out
Restaurant
Reservation
About us
Contact us


The name is
The name is
lets calculate {{ 5+5 }}
Name:
{{name}}
first name
secons name
Full name {{ username +" "+password}}
Calculator
First Number :
Second Number :
Addition =
Subtract =
Multiply =
Devide =


Interests
Please select topics that you would be willing to have a conversation about.
Politics
Books
Movies
TV
Anime/Manga
Comics
Food
Video Games
Games
Music
Travel
Sports
Science and Technology
Fashion
Hobbies
Art
Current Events
Philosophical Questions
Animals/Pets
Comedy
History
Weather


It's only my 4th day of the remote phase, and I'm already loving it! It just feels like the right place for me.
Read moreHere are my thoughts after reading the course content on time management and habits.
Read moreDisclaimer: Higher EQ side effects include increased happiness, excellence at work, and better leadership skills.
Read moreThe common denominator between cats and web devs? They both like boxes of course!
Read moreGrids and semantic elements are great tools for web developers. Image Placeholders with beards too... kind of!
Read moreAbout my experience implementing a first responsible website
Read moreMindfulness meditation can be applied to everyday activities like eating, walking, listening or having a conversation.
Read moreCheckout my blog writing problem solving in image! I was definitely hungry at the time...
Read moreHere is a good news for us: self awareness, as a type of mindfulness, can be trained.
Read moreA blog on js use of parentheses, brackets, braces, and quotes, written in Pony language
Read moreThis is the story of three octopuses in an aquarium - or what 'scope' is, and how it works in JavaScript!
Read more


Classes
Select
Title
Select
Subject
Select
Topic
Select
Subtopic
Select
Type :
Multiple Choice
Question:
Description:
Choice
Answer
Explanation:
Weightage:
Easy
Medium
Hard
Score:
1
2
3
4
Close
Save & Close
Save & Next


Multimodal Freight Services
Over the road, through the air, or on the rails, Summit Logistics provides a complete array of multimodal transportation services. With a reputation for on-time, door-to-door delivery and intense customer service.
We're proud of our consistent execution of shipments. Our resourceful, creative, knowledgeable team will meet your needs by leveraging a strong blend of our assets, and non-asset based resources through carrier partnerships. With high safety ratings and an on-time percentage in 2010 at nearly 99%, we'll work hard to make sure your shipments arrive on time, every time.
Our Services at a Glance:
- Truckload and LTL, involving refrigerated, temperature-controlled, and dry freight.
- Expedited, using either over-the-road or air transportation capabilities.
- Intermodal, through strategic partnerships with Class I railroads
- Air Cargo, both domestic and international.
- Warehousing, with capabilities to store temperature-controlled or dry products.
Types of freight services
We're proud of our consistent execution of shipments. Our resourceful, creative, knowledgeable team will meet your needs by leveraging a strong blend of our assets, and non-asset based resources through carrier partnerships. With high safety ratings and an on-time percentage in 2010 at nearly 99%, we'll work hard to make sure your shipments arrive on time, every time.


RESULT: {{ prediction_text }}
Note: This is not any official site.Please, do not enter any confidential data.
{{data_hn}}
{{data_ip}}


System Architect Picture "Associative Subject Relation"
Parent Diagram:
Inter Subject Relationship
(UML Class)


Idea is to show a warning message as an enhancement to users if they use one of the most used, and therefore most unsafe passwords.
The 25 most used passwords of 2015 are 123456, password, 12345678, qwerty, 12345, 123456789, football, 1234, 1234567, baseball, welcome,<PHONE_NUMBER>, abc123, 111111, 1qaz2wsx, dragon, master, monkey, letmein, login, princess, qwertyuiop, solo, passw0rd, starwars
Try to use one of them to see the warn message.


Application to control ikea IDÅSEN desk.
This application is built on top of the IdasenDesk API made by 'newAM/idasen' which was a heavily modified fork of 'rhyst/idasen-controller'.
IDÅSEN is an electric sitting-standing desk with a Linak bluetooth controller sold by ikea.
The position of the desk can controlled by a physical switch on the desk or via bluetooth using an phone app.
This application controls the Idasen desk via bluetooth from a desktop computer.
The desk should be connected and paired to the computer.
Download and launch the latest installer
Accept the license and choose your installation folder
A new Idasen Desk Control shortcut will be created in Windows Start menu
Idasen Desk Control application is a simple graphical user interface.
Connect your desk
When application runs for the first time, no save configuration will be found.
Click Bluetooth button to discover your desk and save initial configuration.
You are connected!
Once connected to the desk, current desk position will be displayed and moving buttons will be enabled.
Press and maintain the UP/DOWN arrow the move the desk to the desired position.
Press M(emory) button to save the current position to 1 or 2.
Press position 1 or 2 to move the desk to the save position.


Like Erol Ozan said Some beautiful paths can’t be discovered without getting lost
,so, let's take a look at their opinions about the city.
- The blogger, Omar Oualili, said:
- From baroque buildings to bohemian cafes, Cluj is the destination in Romania that must be seen. Located in the northern part of Transylvania, the city is known for its vibrant nightlife and numerous music festivals. Don't make the same mistake. Start with the architecture, which varies between the second largest Gothic church in Romania, between the Baroque buildings and reaches the medieval towers. Explore galleries and gardens. Allocate yourself one morning for laziness and recovery after an incendiary night spent in Cluj. The city, which is full of students and artists, is delicious, the plot being guaranteed.
- The host of music festivals such as Untold or Electric Castle and also of the Transylvania International Film Festival, Cluj is both a cultural center and an academic hub where 11 universities are concentrated. The youthful air of the city can be best experienced on Piezișa Street. On the other hand, he (Cluj, n.r.) conquers through his peaceful, soothing atmosphere. Walking through its streets and observing the details of the buildings, you do not want to hurry anywhere, and in some places you have the impression that times have stopped
- Adrian from
Umblu Teleleu
said:
- Cluj is, in my opinion, one of the most beautiful cities in Romania, in the order of my preferences immediately after Bucharest. Even though I didn't spend much time here, exploring it properly, I was here 4-5 times and I managed to get an idea. What I like is the relaxed lifestyle, the view from Feleacului Hill, as well as the rich history of the place. The main place where you stop when you arrive in Cluj Napoca is Unirii Square, point 0 of the city, with the wonderful St. Michael's Church, next to the statue of Matei Corvin. Here comes my main dissatisfaction, such a beautiful place should provide information mainly in Romanian, while inside the church I could not find 2 phrases to understand. I have nothing to do with minorities, but in my country I want to understand what I see. And at Matei Corvin's house, one of the oldest buildings in Cluj, the plaque written in Hungarian is much more beautifully decorated.
- Cluj is perhaps the city with the most tourist attractions, a multitude of churches, architectural monuments, palaces, museums, the Citadel, all are wonderful and worth visiting. A big minus from my point of view are the electricity wires that steal from the charm of the city ... you can't take a picture or admire the buildings in the center because of them, which look like a spider's web above the city. However, Cluj is one of my favorite cities where I want to return more often and maybe I will have the opportunity to spend more days exploring the more marginal areas of the city, not just the center known to everyone.


The Position Property
-Sets the positioning method used for an element, this is in regards to the top, bottom, left and right properties we will explore the relative, absolute and fixed property.
Relative postion
Setting the top,right,bottom or left properties will adjust it away from its normal position. Other content will not fit into the gap.
Notice the left:30px; that moves the test_box from the leftside 30 pixels.
Fixed postion
The element is removed from normal workflow and will only appear once the position methods are called, the fixed box will stay in the same location on the page no matter how much you scroll.
Notice the right:0px; and bottom:0px; they are almost like coordinates 0 pixles from the right 0 from the bottom. Have a look in the right corner.
Absolute postion
The element is removed from the normal workflow, once the position methods have been incuded, it is positioned relative to the nearest ancestor. If no ancestor or parent is present it moves relative to the body.
The element has a ancestor which contains relative position
So the child will move relative to the parent box, in this case 0 pixels from the bottom as seen below
This element and has position: fixed;


| |
|
- ad(request, id)
- the function to display all user ads (without access to editing)
template is used "ads/ad.html"
the function to display all user ads (without access to editing)
Args:
request : request, cleaned stores the information about the session
id(int) : id advertisement which is displayed
- all_ads(request, id)
- output function of all all user ads (without access to editing)
template is used "ads/ad.html"
Args:
request : request, cleaned stores the information about the session
id(int) : user id whose ads are displayed
- delete(request, id)
- Ad delete feature
cookies are checked for valid data, the advertisement is deleted
Args:
request : request, cleaned stores the information about the session
id(int) : delete advertisement id
- home_page(request, page=1, search='')
- The main function of the withdrawal of ads
template is used "ads/home_page2.html"
Args:
request : request, cleaned stores the information about the session
id(int) : To coordinate ad numbers that output
search(str) : To display ads on request in search
- myads(request)
- function that returns all user declaration
Cookies are checked for the accuracy of the data; in case of success, all ads are displayed.
template is used "ads/myads.html"
Args:
request : request, cleaned stores the information about the session
- new(request)
- def new(request)
Submission of new advertisement function.
in the case of a post request, forwards the fields from the template "ads/new.html" title, price, country, subway_station, description, city to the database
only works with session_id
with a successful response redirect to the page of the advertisement
Args:
request : request, cleaned stores the information about the session
- update(request, id)
- Ad delete feature
cookies are checked for valid data, the announcements is update
during the POST request, all the same fields are sent as in the "new_ads" function, which are taken from the template "ads/update.html"
Args:
request : request, cleaned stores the information about the session
id(int) : update advertisement id
|


DaypartingJS
A Micro-library to Convert Time into Human-friendly part of the day.
Static Locale
Default Locale is English (en-US)
Time
Daypart
Live Locale Switching
Select Language
English
हिन्दी
Français
Time
Daypart
7:06 pm
10:46 am
5:19 pm
8:05 am
3:51 am


Grader Tool Prototype
The prototype executable is a manifested jar file named grader.jar. It can be launched by double clicking on its desktop icon. From the command line, it is executed using the "-jar" argument, i.e., "java -jar grader.jar".
The top-level source files are
GraderAppMain.java
and
GraderUI.java
.
To compile and run our prototype, please refer to README.txt.
UNIX Makefile to build our prototype is here (Makefile).
The individual component source files are listed below:
(This is not an exhaustive list. To see all files, please see src directory.)
Further discussion of this prototype is in 308 Lecture Notes Week 8


Open Source has always been a foundation of the Internet, and with the advent of social open source networks this is more true than ever. But open source projects suffer from a startling lack of diversity of participants, including women, people of color, and other minority populations.
Part of this problem lies with the projects themselves. Insensitive language, thoughtless use of pronouns, projects with sexualized or culturally inappropriate names, and the pervasive cult of meritocracy make contributing to open source a daunting prospect for many people.
An easy way to begin addressing this problem is to be overt in our openness, welcoming all people to contribute, and pledging in return to value them as human beings and to foster an atmosphere of kindness, cooperation, and understanding.
The Contributor Covenant can be one way to express these values. Pledge your respect and appreciation for contributors and participants in your open source project by adding an explicit CODE_OF_CONDUCT.md to your project repository.
You can view and download Version 1.2 of the Contributor Covenant here in Markdown, HTML, or plain text. Note that since the Contributor Covenant uses semantic versioning for revisions, all URLs are permanent.
Previous versions:
We recommend that you add the Markdown or text version of the Contributor Covenant to your source code repository at the root level.
You may want to add language similar to this to introduce your code of conduct:
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
You may also use the permalinks given above to reference from your project home page.
Here is a sampling of projects using the Contributor Covenant:
To add your project to the list, submit a pull request here.
This project is itself open source, and its repository can be found here. Contributions in the form of issues and pull requests are welcome and encouraged.


A place for everyhing and everything in it’s place.
The app folder stores single-page application configurations. Specifcally, it stores the bindings between:
These files are written in the YAML language.
js:
binding:
contact:
url: '%dataAPI%/json-form/contact'
args: []
partial: 'form-contact.hbs'
type: "Form"
header:
url: "%dataAPI%/header"
type: "html"
footer:
url: "%dataAPI%/footer"
type: "html"
For more details on this component, see: Separation.
The collections folder stores collection files that are each one small class for each data collections that will be used in the project. They are used by to auto-generate APIs and routes. Here is an example of a blogs collection file:
<?php
class blogs {
use Collection\Collection;
public $publishable = true
public static $singular = 'blog';
}
For more details on this component, see: Collection. FMF comes with many pre-defined collections for popular data types like blogs, pages, videos, photo galleries, etc.
The config folder stores indivdual component configurations, such as the database config file:
<?php
return [
'name' => 'db',
'conn' => 'mongodb://user:pass@localhost/db',
'dataAPI' => 'http://json.virtuecenter.com'
];
The filters folder stores output filters that can be used to perform string replacements on the output just before it is returned to the client.
<?php
return function (&$html) {
$tracking = <<<'TRACKING'

TRACKING;
$html = str_replace('', $tracking, $html);
};
The forms folder contains PHP configuration classes for each of the forms on the website. Theses files are used to generate user-friendly forms and automate the work of validating, sanitizing and saving data.
<?php
class contact {
public function __construct ($field) {
$this->field = $field;
}
public $storage = [
'collection' => 'contacts',
'key' => '_id'
];
public $after = 'notice';
public $notice = 'Your contact request has been received';
public $noticeDetails = 'We will be in touch soon.';
function first_nameField() {
return [
'name' => 'first_name',
'placeholder' => 'First Name',
'display' => $this->field->inputText(),
'required' => true
];
}
function last_nameField() {
return [
'name' => 'last_name',
'placeholder' => 'Last Name',
'label' => 'Last Name',
'display' => $this->field->inputText(),
'required' => true
];
}
function phoneField() {
return [
'name' => 'phone',
'placeholder' => 'Phone',
'display' => $this->field->inputText(),
'required' => true
];
}
function emailField() {
return [
'name' => 'email',
'placeholder' => 'Email Address',
'display' => $this->field->inputText(),
'required' => true
];
}
function messageField() {
return [
'name' => 'message',
'placeholder' => 'Enter your message here',
'display' => $this->field->textarea(),
'required' => true
];
}
}
For more details on this component, see: form.
The public folder stores files that should be publicly available on the website such as css and js files, as well as some files in the “layouts”, “partials” and “helpers” folder that are used for front-end theming.
The index.php is an auto-generated bootstrap file that includes the auto-loader and calls the FMF front Controller.
<?php
date_default_timezone_set('America/New_York');
require '../vendor/autoload.php';
(new Framework\Framework())->frontController();
Self explanatory.
The helpers folders stores “helper” files that help the less-logic templateing enginer (Handlebars) do more logic. This should be used sparingly, but is good for things like pagination which might be hard to achieve in Handlebars without a help.
The layouts folder stores individual layouts are the outer-HTML of a single-page application that the partials are rendered into. For example:
<!DOCTYPE html>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{{title}}</title>

{{{header}}}

{{{pages}}}

{{{twitter}}}

{{{footer}}}

In the above example, things like {{{header}}} will be substituted with the markup for the header.
The partials folder stores all of the partials files that will be used in layouts to render data. The are .hbs or Handle Bar Script files.

{{#each menus}}

{{label}}

{{/each}}

FMF relies heavily on the PubSub pattern. As such, we need a way to specify “subscribers” that will receive published “topics”, as well as a mapping of which subscribers will be subscribed to which topics.
First, the subscriptions, in YAML format:
topics:
form-contact-save:
PostToDB: ['post', 'db']
form-contactbrief-save:
PostToDB: ['post', 'db']
form-subscribe-save:
PostToDB: ['post', 'db']
And here is the subscriber that stores data in the database that is published when forms are submitted:
<?php
return function ($event, $post, $db) {
if (!isset($event['dbURI']) || empty($event['dbURI'])) {
throw new \Exception('Event does not contain a dbURI');
}
if (!isset($event['formMarker'])) {
throw new \Exception('Form marker not set in post');
}
$document = $post->{$event['formMarker']};
if ($document === false || empty($document)) {
throw new \Exception('Document not found in post');
}
$documentObject = $db->documentStage($event['dbURI'], $document);
$documentObject->upsert();
$post->statusSaved();
};
For more details on this component, see: PubSub.
FMF relies heavily on PHP composer. The vendors folder is where composer stores all the various dependecies it compiles and the auto-loader.


So you've worked with objects and methods in Ruby and gotten familiar with them. What if we have a series of objects of the same type and want to define parameters based on a set of methods? Using class, Rubyists can organize objects by a class and then define methods that operate on that class.
To see how this works, lets look at a class called Beer, which tells you how much a beer costs.
class Beer def initialize(name, location) @name = name @location = location end def set_price(amount) @price = amount puts "That beer costs<EMAIL_ADDRESS>end def price @price end def no_way if @price > 10 puts "No way! thats way too expensive." else puts "Alright I'll take it." end end end beer = Beer.new("Goose Island", "Chicago, IL") beer.set_price(7) beer.no_way
Instance variables allow you to remember the state that an object is in so that it can be called, printed out, etc. the variable can retain its value after the method that initialized the variable is terminated. You can create an instance variable using the "@". As you can see in the instance method no_way, the variable @price continues to pass even though it is outside the method that initiated it.
Instance methods enable developers to call a method within a class that may have a specific function. Look over the method no_way and think about what it is doing. Now look down to the driver tests. you can see that we have established "beer" to equal a new beer that is initialized with a name and location. Below that we are calling the instance method no_way by typing "beer.no_way"
This is only the beginning of what you can do with classes in Ruby, but I hope this gave you a good introduction.


Visualizing World Happiness
About
Infographics
World Map
Results Chart
Exploratory Chart
Data Table
Rank
Country
Year
Happiness Score
Happiness Inequality
Positive Affect
Negative Affect
Social Support
Freedom
Corruption
Generosity
GDP per Capita(ln)
Life Expectancy


You don't have access to this feature!
Talk to the "Fabric Build" room if you think this is a mistake 👌


public class OpenTok
extends java.lang.Object
To create a new OpenTok object, call the OpenTok constructor with your OpenTok API key and the API secret from the OpenTok dashboard. Do not publicly share your API secret. You will use it with the OpenTok constructor (only on your web server) to create OpenTok sessions.
Be sure to include the entire OpenTok server SDK on your web server.
| Constructor and Description |
|---|
OpenTok(int apiKey,
java.lang.String apiSecret)
Creates an OpenTok object.
|
OpenTok(int apiKey,
java.lang.String apiSecret,
java.lang.String apiUrl) |
| Modifier and Type | Method and Description |
|---|---|
Session |
createSession()
Creates an OpenTok session with the default settings:
|
Session |
createSession(SessionProperties properties)
Creates a new OpenTok session.
|
void |
deleteArchive(java.lang.String archiveId)
Deletes an OpenTok archive.
|
java.lang.String |
generateToken(java.lang.String sessionId)
Creates a token for connecting to an OpenTok session, using the default settings.
|
java.lang.String |
generateToken(java.lang.String sessionId,
TokenOptions tokenOptions)
Creates a token for connecting to an OpenTok session.
|
Archive |
getArchive(java.lang.String archiveId)
Gets an
Archive object for the given archive ID. |
java.util.List<Archive> |
listArchives()
Returns a List of
Archive objects, representing archives that are both
both completed and in-progress, for your API key. |
java.util.List<Archive> |
listArchives(int offset,
int count)
Returns a List of
Archive objects, representing archives that are both
both completed and in-progress, for your API key. |
Archive |
startArchive(java.lang.String sessionId,
java.lang.String name)
Starts archiving an OpenTok 2.0 session.
|
Archive |
stopArchive(java.lang.String archiveId)
Stops an OpenTok archive that is being recorded.
|
public OpenTok(int apiKey, java.lang.String apiSecret)
apiKey
- Your OpenTok API key. (See the OpenTok
dashboard page.)apiSecret
- Your OpenTok API secret. (See the OpenTok dashboard
page.)public OpenTok(int apiKey, java.lang.String apiSecret, java.lang.String apiUrl)
public java.lang.String generateToken(java.lang.String sessionId, TokenOptions tokenOptions) throws OpenTokException
The following example shows how to obtain a token that has a role of "subscriber" and that has a connection metadata string:
import com.opentok.Role; import com.opentok.TokenOptions; class Test { public static void main(String argv[]) throws OpenTokException { int API_KEY = 0; // Replace with your OpenTok API key (see http://dashboard.tokbox.com). String API_SECRET = ""; // Replace with your OpenTok API secret. OpenTok sdk = new OpenTok(API_KEY, API_SECRET); //Generate a basic session. Or you could use an existing session ID. String sessionId = System.out.println(sdk.createSession()); // Replace with meaningful metadata for the connection. String connectionMetadata = "username=Bob,userLevel=4"; // Use the Role value appropriate for the user. String role = Role.SUBSCRIBER; // Generate a token: TokenOptions options = new TokenOptions.Buider().role(role).data(connectionMetadata).build(); String token = sdk.generateToken(sessionId, options); System.out.println(token); } }
For testing, you can also use the OpenTok dashboard page to generate test tokens.
sessionId
- The session ID corresponding to the session to which the user will connect.tokenOptions
- This TokenOptions object defines options for the token.
These include the following:
OpenTokException
public java.lang.String generateToken(java.lang.String sessionId) throws OpenTokException
The following example shows how to generate a token that has the default settings:
import com.opentok.OpenTok; class Test { public static void main(String argv[]) throws OpenTokException { int API_KEY = 0; // Replace with your OpenTok API key (see http://dashboard.tokbox.com). String API_SECRET = ""; // Replace with your OpenTok API secret. OpenTok sdk = new OpenTok(API_KEY, API_SECRET); //Generate a basic session. Or you could use an existing session ID. String sessionId = System.out.println(sdk.createSession().getSessionId()); String token = sdk.generateToken(sessionId); System.out.println(token); } }
sessionId
- The session ID corresponding to the session to which the user will connect.OpenTokException
generateToken(String, TokenOptions)
public Session createSession(SessionProperties properties) throws OpenTokException
For example, when using the OpenTok.js library, use the session ID when calling the OT.initSession() method (to initialize an OpenTok session).
OpenTok sessions do not expire. However, authentication tokens do expire (see the
generateToken(String, TokenOptions)
method). Also note that sessions cannot
explicitly be destroyed.
A session ID string can be up to 255 characters long.
Calling this method results in an OpenTokException
in
the event of an error. Check the error message for details.
The following code creates a session that attempts to send streams directly between clients (falling back to use the OpenTok TURN server to relay streams if the clients cannot connect):
import com.opentok.MediaMode; import com.opentok.OpenTok; import com.opentok.Session; import com.opentok.SessionProperties; class Test { public static void main(String argv[]) throws OpenTokException { int API_KEY = 0; // Replace with your OpenTok API key. String API_SECRET = ""; // Replace with your OpenTok API secret. OpenTok sdk = new OpenTok(API_KEY, API_SECRET); SessionProperties sp = new SessionProperties().Builder() .mediaMode(MediaMode.RELAYED).build(); Session session = sdk.createSession(sp); System.out.println(session.getSessionId()); } }You can also create a session using the OpenTok REST API or the OpenTok dashboard.
properties
- This SessionProperties object defines options for the session.
These include the following:
getSessionId()
method of the Session object to get the session ID, which uniquely identifies the
session. You will use this session ID in the client SDKs to identify the session.OpenTokException
public Session createSession() throws OpenTokException
The following example creates a session that uses the default settings:
import com.opentok.OpenTok; import com.opentok.SessionProperties; class Test { public static void main(String argv[]) throws OpenTokException { int API_KEY = 0; // Replace with your OpenTok API key. String API_SECRET = ""; // Replace with your OpenTok API secret. OpenTok sdk = new OpenTok(API_KEY, API_SECRET); String sessionId = sdk.createSession(); System.out.println(sessionId); } }
getSessionId()
method of the Session object to get the session ID, which uniquely identifies the
session. You will use this session ID in the client SDKs to identify the session.OpenTokException
createSession(SessionProperties)
public Archive getArchive(java.lang.String archiveId) throws OpenTokException
Archive
object for the given archive ID.archiveId
- The archive ID.Archive
object.OpenTokException
public java.util.List<Archive> listArchives() throws OpenTokException
Archive
objects, representing archives that are both
both completed and in-progress, for your API key. This list is limited to 1000 archives
starting with the first archive recorded. For a specific range of archives, call
listArchives(int offset, int count)
.Archive
objects.OpenTokException
public java.util.List<Archive> listArchives(int offset, int count) throws OpenTokException
Archive
objects, representing archives that are both
both completed and in-progress, for your API key.offset
- The index offset of the first archive. 0 is offset of the most recently started
archive.
1 is the offset of the archive that started prior to the most recent archive.count
- The number of archives to be returned. The maximum number of archives returned
is 1000.Archive
objects.OpenTokException
public Archive startArchive(java.lang.String sessionId, java.lang.String name) throws OpenTokException
Clients must be actively connected to the OpenTok session for you to successfully start recording an archive.
You can only record one archive at a time for a given session. You can only record archives of sessions that use the OpenTok Media Router (sessions with the media mode set to routed); you cannot archive sessions with the media mode set to relayed.
sessionId
- The session ID of the OpenTok session to archive.name
- The name of the archive. You can use this name to identify the archive. It is a property
of the Archive object, and it is a property of archive-related events in the OpenTok JavaScript SDK.OpenTokException
public Archive stopArchive(java.lang.String archiveId) throws OpenTokException
Archives automatically stop recording after 90 minutes or when all clients have disconnected from the session being archived.
archiveId
- The archive ID of the archive you want to stop recording.OpenTokException
public void deleteArchive(java.lang.String archiveId) throws OpenTokException
You can only delete an archive which has a status of "available" or "uploaded". Deleting an archive removes its record from the list of archives. For an "available" archive, it also removes the archive file, making it unavailable for download.
archiveId
- The archive ID of the archive you want to delete.OpenTokException


{% extends "base.html" %} {% block app_content %} Data The following table includes CPI data by country: {% for post in posts %} {% endfor %} {% endblock %}


Michael Staudenmann
Web Solution Architect
Presentation
After more than 10 years of experiences in Web developments, both in open source and owners (Microsoft, Oracle, Sitecore, …), my excellent adaptation, analyze and communication capabilities, allow me to successfully achieve any kind of new challenges.
Education and Certifications
- HES Engineer in informatics diploma with honors
- HES-SO
- NodeJS
- Delicious insights
- JS Total (ES 2015)
- Delicious insights
- Oracle Marketing Cloud (Eloqua)
- Oracle Academy
- Sitecore 6.5 Advanced .NET Developer Certification
- Sitecore
- Endeca Core Technologies + CAS Certification
- Oracle University
- Certified Akamai Administrator on Dynamic Site Accelerator
- Akamai
- Linux LPI 101 Certification
- LPI
Experiences
Web Solution Architect March 2016 - Now
Company SGS (80'000 employees)
- Responsible of the technical environment for the global SGS Internet websites (60 websites, 12 millions page views per month).
- Collect and analyze of business requirements from all the SGS marketing and technical (SEO, Analytics, IA, UX, ...) teams around the world.
- Management and support of the development team.
- Development and management of integration between the marketing applications (CRM, Eloqua), business applications (web-services, search) and the CMS Solution (Sitecore).
- Definition and improvement and the Back-end and Front-en development processes for our development team (4 developers) based in Philippines, based on Agile methodology (Scrum). Application front-end development best practices Progressive enhancement, naming convention, ...)
Webmaster Main Web Developer September 2008 - March 2016 (8 years)
Company SGS (80'000 employees)
- .Net Development (C#) For Sitecore 6.
- Search engine (Endeca) integration with the global CMS solution based on Sitecore 6 and Sitecore 8.1 (architecture + development)
- CMS platform Support and maintenance (60 sites, 12 millions page views per month)
- Define .Net back-end development process based on TFS platform.
- Development team manager (4 people) based in Philippines
- Analyze and research on several CMS solutions (~140 solutions)
- Add semantic to websites
Developer August 2005 - July 2008 (3 years)
Company Ilem SA (130 Consultants)
Main realized missions:
- Etat de Genève (DCTI) :Define migration process from php4 to php5 for their projects analyze application. Improvement on the application.
- LeShop.ch :Improvement of the purchase management application to support more than one warehouse.
- ilem SA :Migrate Internet and intranet websites from home made CMS to Jetspeed2 and OpenCMS.
- Etat de Fribourg (SITel) :Reports development based on JasperReports open source application.
- Migros-Genève:Build and development of their marketing website (ski renting) based on OsCommenrce and data synchronization development between the website and the post-sale team application based on MS Access.
Technical expertise & Competencies
- Front-end development Node JS React HTML XHTML XML XSLT CSS 2/3 SASS JavScript / ES6 (2015) JQuery JSON Bootstrap SMACSS Akamai Aqua Ion (CDN) Progressive enhancement WCAG 2.0 (Notions)
- Back-end Development Java .Net (C#) Maven Hibernate Spring PHP
- Testing Framework Jest Mocha PhantomJS NUnit Selenium
- CMS Solutions Sitecore (version 6 et 8.1) OpenCMS Joomla (1 and 2) Wordpress
- Search engines Lucene Endeca
- Databases MS SQL 2005-2008R2-2014 Oracle 9i and 10g MySql PostgreSQL
- Source Control TFS SVN (Subversion) GiT (notions)
- Web Server / Application server IIS (6 - 8) Apache 2 Tomcat 6
- Operating System Windows (2008 R2, 2012, 7, 10) Linux (Debian, Ubuntu, Gentoo Mac OSX
- Marketing Tools / CRM Eloqua (Marketing Cloud) Exacttarget/Salesforce Marketing cloud (email marketing) Oracle CRM on Demand Oracle Marketing on Demand Compiere CRM
- Miscellaneous Jasper Report iReport Axis 2 CXF
Languages
- French : Mother Tongue
- English : Fluent
Volunteering
- Teacher at *Université populaire de Genève* (informatics and HTML) : 2004 (1 year)
- PHP Development at Mcart et ICV 2004 (3 months)
- Webmaster (development and support) of the "Colonie la Joie de Vivre" website (Joomla) : 1999 - 2010 (11 years)
- “Colonie la Joie de Vivre” Monitor and then director : 1999 - 2009 (10 years)


Password Generator
Select your password criteria:
Lowercase Characters
Uppercase Characters
Numeric Characters
Special Characters
Generate a Password:
Generate Password
Copy to Clipboard


Copyright © 2012 Cromwell Enage
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Table of Contents
namespace boost { template <typename InputGraph, typename ComponentMap> typename ::boost::property_traits<ComponentMap>::value_type weak_components(InputGraph const& graph, ComponentMap component_map); } // namespace boost
This algorithm computes the weakly connected components of a directed graph by computing the connected components of an isomorphic undirected graph. Returns the total number of components it computes.
* `InputGraph` must model the Incidence Graph and Vertex List Graph concepts. * The traversal category type of `InputGraph` must inherit from `boost::directed_category_tag`. * `ComponentMap` must model the Read/Write Property Map concept. * The key type of `ComponentMap` must be the same as the vertex descriptor type of `InputGraph`. * The value type of `ComponentMap` must be an unsigned integral type.
|
Parameter |
Description |
|---|---|
|
|
A directed graph. |
|
|
A property map that stores the output of the algorithm. Each vertex will be associated with an integer label. All vertices with the same integer label belong to the same weak component. |
The time complexity is O(V + E)
.
Last revised: September 09, 2012 at 18:17:58 GMT |


WITNESS LIST Appropriations-S/C on General Government Committee February 18, 1999-8:00A Budget On: Martin, Robert (Texas State Library and Archives Commission)


Interview Experience with HDE Inc.
02 Sep 2017HDE Inc. is a Japanese Cloud Security Provider established in 1996 and their Global Internship Program (GIP) has become very popular in recent times.
Some benefits of this internship:
- Up to 150,000 JPY/month subsidy. The subsidy is given to cover living costs such as meals, commuting expense, and accommodation.
- Round-trip airfares coverage
- Medical insurance
For more info, refer this link: HDE GIP
The process was as follows: (as of June 2017)
- Programming Test
- Online Interview
- Offer Letter (if successful!)
Let's have a look at all these components one by one:
PROGRAMMING TEST
The programming test involved writing a program in Golang, which was not exactly easy. It required some thinking because I found Golang a very limited language as compared to Python (I have mostly programmed in Python).
To send this program to HDE, it involved writing another program for which I had to go through technical RFC documentations (to do authentication and generate password etc.).
In the end, I had to make use of requests and HTTP to actually hit the HDE's API to send them the program. The program had to be written in a private gist (so knowledge of Github is essential).
DO NOT CHEAT. Because even if you are successful at this stage, at the next stage you will be eliminated if you cheat because in the interview they actually ask questions about the program.
I succeeded in the programming test!
I was informed about the schedule of the online interview within 2 weeks.
ONLINE INTERVIEW
The online interview was conducted on Skype. It was more like a behavioral one. There were three interviewers and all were very friendly. We even talked about sushis!
They asked questions about some open source projects of mine, challenges that I faced while programming and general questions about my willingness to travel to Japan and University subjects etc.
Just be yourself, don't be nervous, answer questions honestly. If you don't know something, say 'no' straight away.
P.S.- It will be good if you know Python or Golang because their projects are mostly in these technologies.
OFFER LETTER
I received the offer letter within two weeks. I had to choose an internship slot. The department is Cloud Product Development Division.
Each internship slot is approximately of 6 weeks, and this program runs all year round. A candidate is free to select any time frame which suits him/her.
The HR was cooperative as well.
Overall, it was a smooth experience.
Will update my internship experience once I start. There's still time in it. :P
EDIT : HDE team visited Melbourne and we had a nice dinner at +39 Pizzeria on 14th Sept'17. It was an informal meeting and the peeps from HDE were so friendly. I didn't feel even for a second that I was meeting them for the first time. We clicked some pics as well, though not really high quality ones but yeah, manageable! :P