This section specifies the core components and data stream structures in the in-memory kernel.
These components are;
The components have a standard input (stdin) and/or output (stdout) data stream structure. eve is the stream-initiating component which only has a standard output stream, whereas outputcalc is a stream-terminating component with only a standard input stream.
The stream data structures have been designed to minimise the volume flowing through the pipeline, using data packet 'headers' to remove redundant data. For example, indexes which are common to a block of data are defined as a header record and then only the variable data records that are relevant to the header key are part of the data stream. The names of the data fields given below are unimportant, only their position in the data stream is important in order to perform the calculations defined in the program.
An implementation of each of the above components is provided in the Reference Model, where usage instructions and command line parameters are provided.
The architecture supports multiple stream types. Therefore a developer can define a new type of data stream within the framework by specifying a unique stream_id of the stdout of one or more of the components, or even write a new component which performs an intermediate calculation between the existing components.
The stream_id is the first 4 byte header of the stdout streams. The higher byte is reserved to identify the type of stream (which component), and the 2nd to 4th bytes hold the identifier of the stream. This is used for validation of pipeline commands to report errors if the components are not being used in the correct order.
The current reserved values are as follows;
Higher byte;
| Byte 1 | Stream type |
|---|---|
| 0 | getmodel |
| 1 | gulcalc |
| 2 | fmcalc |
| 3 | summarycalc |
Reserved stream_ids;
| Byte 1 | Bytes 2-4 | Description |
|---|---|---|
| 0 | 1 | getmodel - Reference example for Oasis format effective damageability CDF output |
| 1 | 1 | gulcalc - Reference example for Oasis format item level ground up loss sample output |
| 1 | 2 | gulcalc - Reference example for Oasis format coverage level ground up loss sample output |
| 2 | 1 | fmcalc - Reference example for Oasis format insured loss sample output |
| 3 | 1 | summarycalc - Reference example for Oasis format summary level loss sample output |
There are rules about which stream types can be accepted as inputs to the components. These are;
eve is an 'event emitter' and its job is to read a list of events from file and send out a subset of events as a binary data stream. It has no standard input.
eve is used to partition lists of events such that a workflow can be distributed across multiple processes.
Data packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| event_id | int | 4 | Oasis event_id | 4545 |
Note that eve has no stream_id header.
getmodel is the component which generates a stream of effective damageability cdfs for a given set of event_ids.
Same as eve output or a binary file of the same input format can be piped into getmodel.
Stream header packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| stream_id | int | 1/3 | Identifier of the data stream type. | 0/1 |
getmodel header packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| event_id | int | 4 | Oasis event_id | 4545 |
| areaperil_id | int | 4 | Oasis areaperil_id | 345456 |
| vulnerability_id | int | 4 | Oasis vulnerability_id | 345 |
| no_of_bins | int | 4 | Number of records (bins) in the data package | 20 |
getmodel data packet structure (record repeated no_of_bin times)
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| prob_to | float | 4 | The cumulative probability at the upper damage bin threshold | 0.765 |
| bin_mean | float | 4 | The conditional mean of the damage bin | 0.45 |
gulcalc is the component which calculates ground up loss. It takes the getmodel output as standard input and based on the sampling parameters specified, performs Monte Carlo sampling and numerical integration. The output is a stream of ground up loss samples in Oasis kernel format, with numerical integration mean (sidx=-1) and standard deviation (sidx=-2).
Same as getmodel output or a binary file of the same data structure can be piped into gulcalc.
Stream header packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| stream_id | int | 1/3 | Identifier of the data stream type. | 1/1 |
| no_of_samples | int | 4 | Number of samples | 100 |
gulcalc header packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| event_id | int | 4 | Oasis event_id | 4545 |
| item_id | int | 4 | Oasis item_id | 300 |
gulcalc data packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| sidx | int | 4 | Sample index | 10 |
| loss | float | 4 | The ground up loss for the sample | 5675.675 |
The data packet may be a variable length and so an sidx of 0 identifies the end of the data packet.
There are two values of sidx with special meaning as follows;
| sidx | Meaning |
|---|---|
| -1 | numerical integration mean |
| -2 | numerical integration standard deviation |
The main difference here is that the field in the gulcalc header packet structure is coverage_id, representing a grouping of item_id, rather than item_id. The distinction and rationale for having this as a alternative stream is explained in the Reference Model section.
Stream header packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| stream_id | int | 1/3 | Identifier of the data stream type. | 1/2 |
| no_of_samples | int | 4 | Number of samples | 100 |
gulcalc header packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| event_id | int | 4 | Oasis event_id | 4545 |
| coverage_id | int | 4 | Oasis coverage_id | 150 |
gulcalc data packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| sidx | int | 4 | Sample index | 10 |
| loss | float | 4 | The ground up loss for the sample | 5675.675 |
The numerical integration standard deviation is not output for stream_id 2 but the numerical integration mean is output.
| sidx | Meaning |
|---|---|
| -1 | numerical integration mean |
fmcalc is the component which takes the gulcalc output stream as standard input and applies the policy terms and conditions to produce insured loss samples. fmcalc can also take the fmcalc output stream as input to perform recursive financial module calculations. The output is a table of loss samples in Oasis kernel format, including the loss for the mean ground up loss (sidx=-1) and the maximum exposed value (sidx=-3).
Same as gulcalc output or fmcalc output (below) or a binary file of either data structure can be piped into fmcalc.
Stream header packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| stream_id | int | 1/3 | Identifier of the data stream type. | 2/1 |
| no_of_samples | int | 4 | Number of samples | 100 |
fmcalc header packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| event_id | int | 4 | Oasis event_id | 4545 |
| output_id | int | 4 | Oasis output_id | 300 |
fmcalc data packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| sidx | int | 4 | Sample index | 10 |
| loss | float | 4 | The insured loss for the sample | 5625.675 |
The data packet may be a variable length and so a sidx of 0 identifies the end of the data packet.
There are two values of sidx with special meaning as follows;
| sidx | Meaning |
|---|---|
| -1 | numerical integration mean |
| -3 | maximum exposed value |
In the case of sidx = -1, this is the numerically integrated mean ground up loss passed through the financial terms from gulcalc.
The maximum exposed value, sidx=-3, is generated by fmcalc and this is the TIV of the items passed through the financial terms. This represents a 100% loss scenario to all exposed items after applying the insurance terms and conditions and is used in outputs that require an exposed value.
If the stream input is an fmcalc output data structure, then sample -3 losses are present in the data and this is carried forward through the calculations as the 100% loss scenario, rather than the TIV of the original items.
summarycalc is a component which sums the sampled losses from either gulcalc or fmcalc to the users required level(s) for reporting results. This is a simple sum of the loss value by event_id, sidx and summary_id, where summary_id is a grouping of coverage_id for gulcalc or output_id for fmcalc defined in the user's input files.
Same as gulcalc coverage output (stream_id =2) or fmcalc output. A binary file of either data structure can be piped into summarycalc.
Stream header packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| stream_id | int | 1/3 | Identifier of the data stream type. | 3/1 |
| no_of_samples | int | 4 | Number of samples | 100 |
summarycalc header packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| event_id | int | 4 | Oasis event_id | 4545 |
| summary_id | int | 4 | Oasis summary_id | 300 |
| exposure_value | float | 4 | The TIV (from gulcalc) or maximum exposure value (fmcalc) | 600000 |
summarycalc data packet structure
| Name | Type | Bytes | Description | Example |
|---|---|---|---|---|
| sidx | int | 4 | Sample index | 10 |
| loss | float | 4 | The insured loss for the sample | 5625.675 |
The data packet may be a variable length and so a sidx of 0 identifies the end of the data packet.
Outputcalc is a general term for an end-of-pipeline component which represents one of a potentially unlimited set of output components. Four examples are provided in the Reference Model. These are;
outputcalc performs results analysis such as an event loss table or loss exceedance curve on the sampled output from summarycalc. The output is a results table in csv format.
summarycalc stdout. Binary files of the same data structures can be piped into the outputcalc component.
No standard output stream. The results table is exported to a csv file.


Scan the QR Code below to make a payment
Or, use the selector to pick a different currency:
Bitcoin
Ethereum


The Aichi Biodiversity Targets Task Force was established to provide a platform for agencies and organizations to coordinate their activities in support of implementation of the Strategic Plan for Biodiversity 2011-2020 and its Aichi Biodiversity Targets at global and national levels during the United Nations Decade on Biodiversity.
A Memorandum of Cooperation (MoC) signed on 20 September 2011 between the Secretariat of the Convention on Biological Diversity (CBD) and 27 international agencies, organizations and environmental conventions, aims to achieve and implement the Strategic Plan for Biodiversity and its Aichi Targets. Two more organizations have joined since.


Ralph B. Quirequire
Home
Projects
Posts
About
Contact
Authors on Ralph B. Quirequire
Project Categories
Data Analysis/Statistics
Data Collection/Scraping
Web Apps
Miscellaneous
Top Posts
On the Accuracy of Pre-Election Polls: SWS vs. Pulse Asia
Charting PH History through the President’s SONA
Digging into the June Inflation Numbers
Links
Twitter
GitHub
DC Dabbler


About Me
My name is Emma, or Emilija, how my Lithuanian friends and family know me. I'm from a tiny town in the middle of Lithuania, a central-north European
country with a complicated language and history. A story too long to tell. The most important thing to know - we smile very rarely, seem very mean
and welcome people into our homes like family. Weird, right?
I am 22 years old and study in Bath, UK, far away from home. I consider myself to be cosmopolitan and a global citizen, so I wanted to move to a different
country to experience all of the beauty of diversity and the opportunity to experience new cultures and traditions.
That worked out great, as I made fantastic friends in uni from all over the world.
I work part-time basically all the time I am in uni to support myself, so I am hella stubborn and have lots of grit to keep on working on my dreams.
The single most important reason why this blog is even alive, if I may say so myself. I felt like this was a story I wanted to tell, so here we go!


A B C D E F G H I J K L M N O P Q R S T U V W Y
All Classes All Packages
All Classes All Packages
All Classes All Packages
U
- UDEL - udel.GardenProject.enums.PlantDataSource
-
Plant data originated from the University of Delaware Flora Database.
- udel.GardenProject.enums - package udel.GardenProject.enums
-
All the different enums for the Garden Project.
- udel.GardenProject.garden - package udel.GardenProject.garden
-
All the critical code that brings the application together and runs it.
- udel.GardenProject.plants - package udel.GardenProject.plants
-
Contains the Plant class that stores all the information that can be obtained by the PlantLoader, and Comparators to sort the a list of Plant objects for searching.
- udel.GardenProject.plotObjects - package udel.GardenProject.plotObjects
-
Contains all the plot objects that can be placed on the Plot Designer.
Placed within themain.udel.plants
package as plants can also be placed on the Plot Designer.
Has Buildings, Fences, Rivers, and other critical plot objects.
NOTE: Everything in this package needs to implement the Serializable interface to be serialized by Model's save method when acting on the Session class.
NOTE 2: Every class in this package and any subpackages must implementPlotObject
or implement an abstract class that itself implements PlotObject at some point. - udel.GardenProject.plotObjects.lines - package udel.GardenProject.plotObjects.lines
- udel.GardenProject.plotObjects.polygons - package udel.GardenProject.plotObjects.polygons
-
Polygons can have an arbitrary number of points, have points that are editable, points that move with the polygon as the polygon is dragged, and other critical polygon features.
All classes in this package should extend theGenericPolygon
abstract class and give it an AdjustablePolygon, specifying its color, anchor color, and more. - udel.GardenProject.plotObjects.special - package udel.GardenProject.plotObjects.special
-
All the special PlotObjects that don't fit neatly into the other categories.
- udel.GardenProject.windows - package udel.GardenProject.windows
-
All the distinct windows that can be displayed to the user.
- UNDERSTORY - udel.GardenProject.enums.Canopy
-
Second lowest layer.
All Classes All Packages


{# order confirmation email #}
Your drink order as been acknowledged by the bartender on duty and should be ready shortly.
{% if venmo_link %}If you're feeling generous and want to tip, it's always appreciated! {% endif %}
Thanks for using Mix-Mind {{ g.current_bar.name }}


Or else I shall rend thee in the cnm gobberwarts with my blurglecruncheon laptop,
See if I don't!
(I probably won't!)
book me at you next slam!


Access to the VF61 GPIO using Node.js and AJAX
Interfacing with outputs (LEDs)
One button LED controlling interface - (almost) pure HTML
One button LED controlling interface - Using Twitter's Bootstrap CSS library
Multiple button LED controlling interface - (almost) pure HTML
Multiple button LED controlling interface - Using Twitter's Bootstrap CSS library
Interfacing with inputs/outputs (Switches and LEDs)
Multiple switch polling and led controlling interface


Travel Planner
Home
Link
Link
Link
Destination
Start Date
End Date
Search
Saved Trips
There are no saved trips
Save trip
Region:
Timezone:
Currency:
Language:
Trip Duration
days
Current Weather
Feels Like:
Sunset:


This example shows how to link two dataset Dimensions using multiple fields:
Products.addLink( ["product","version"], Users, ["product","version"] );
Filter selection works across linked dimensions too:
Metric:
Quantity
Quantity 2


JSX
JSX provides a concise and convenient way to define markup to be created. Often people erroneously call JSX, HTML. It is not HTML. It is in fact a type of XML. When you build your project, Babel takes the JSX code and converts it into hyperscript functions. In the case of a Composi project, it is set up to tell Babel to use Composi's hyperscript function for that transformation in the project's .babelrc file.
XML
Since JSX is a type of XML, tags need to follow XML rules. This means that all tags must be closed. In HTML 5 you can have self-closing tags, such as img, br, hr, input, etc.

<input type='text' value='Cute Kitten'>
To use the above tags in JSX, they would need to be closed with a forward slash:

<input type='text' value='Cute Kitten' />
Although some "purists" complain that JSX is mixing HTML into JavaScript, this is not completely true. JSX is just a DSL that describes the JavaScript functions that will be created to produce the elements. It is in fact very similar to a now abandoned effort to enable using XML in JavaScript called E4X.
If you read the E4X documentation, you will recognize the similarities to JSX. E4X was an attempt by Mozilla to enable the creation of DOM nodes without using string concatenation. Unfortunately E4X never took off. The introduction of template literals and tagged template literals solved some of the problems E4X was trying to address. However, the shortcoming of template literals is that the the markup is defined as strings. This means IDEs cannot understand the markup in a template literal. JSX does not have this limitation. As such text editors and IDEs provide great tooling to make using JSX productive.
JSX Attributes
Unlike using JSX with React, Composi does not require that you use className
instead of class
. The following JSX would be invalid for React, but is the stardard for Composi:
// Use class attribute as normal:
function header(data) {
return (

{data.title}

{data.subtitle}

)
}
Partial Attributes
JSX does not support defining partial attribute values. The following code will not work:
function userList(users) {
// The partial class defined below will not work:
return (

{
users.map(user => (

{user.name}
)
)
}

)
}
The above JSX for the class value will generate an error. Instead you need to make the entire attribute value an evaluation. To do this, get replace the attribute value quotes with curly braces. Then use a template literal to output the results:
function userList(users) {
// Calculate the entire class value inside curly braces:
return (

{
users.map(user => (
<li class={`currently-${user.employed ? "employed" : "unemployed"}`}>{user.name}
)
)
}

)
}
Quotes Around Attribue Value
When evaluating attribute values, never use quotes around the evaluation as this will prevent the evaluation from happening. Just use curly braces.
// This will not work because the calculation is enclosed in quotes:
<li class="{`currently-${user.employed ? "employed" : "unemployed"}`}>{user.name}"

// This will work. No quotes, just curly braces:
<li class={`currently-${user.employed ? "employed" : "unemployed"}`}>{user.name}

Custom Tags
Although JSX makes it easy to create standard HTML elements, it also allows you to create custom tags. These are not the same as [custom element](). There may be a few, higher level similarities between these two. But fundamentaly they are for different purposes.
A custom tag is really just a function that returns some JSX. When you want to use it in other JSX, you do so as a tag. Functions for custom tags must start with an uppercase letter, with no exception. When your JSX consists of many different parts, it makes sense to break it down into modular pieces.
Suppose we have a component with a render function like this:
See the Pen Composi Docs-JSX-Custom-Tags-1 by Robert Biggs (@rbiggs) on CodePen.
Looking at the above markup, we could break it up a bit to make it easier to read and reuse. To do this we'll define two functions to return markup. As mentioned earlier functions for custom tags must start with an uppercase letter. Lets break this up into two subcomponents:
// Define custom tag for fruit:
function FruitItem({fruit}) {
return (

{fruit.title}

{fruit.subtitle}

)
}
// Define custom tag for disclosure tag:
function Disclosure() {
return (

)
}
With our custom tag functions define, we can now use them in our component:
// Define custom tag for fruit:
function FruitItem({fruit}) {
return (

{fruit.title}

{fruit.subtitle}

)
}
// Define custom tag for disclosure tag:
function Disclosure() {
return (

)
}
// Use the new custom tags in class component:
class FruitsList extends Component {
render(fruits) {
return (

{
fruits.map(fruit =>

<FruitItem />
<Disclosure />

)
}

)
}
}
The above example now looks cleaner. However, in the case of <FruitItem />
, this won't render properly because we have provided a way to pass the data to the function it represens. To do that we need to use JSX props. This is done using curly braces.
Curly Braces and Spread Operator
In order to pass data to a custom tag, we need to use curly braces and the spread operator. In the case of our Fruits tag, we would do this:
<FruitItem {...{fruits}} />
And here's the whole example. We've taken it a step further and created a custom tag for the list item as well. Notice how minimal the list is inside the component:
See the Pen Composi Docs-JSX-Custom-Tags-2 by Robert Biggs (@rbiggs) on CodePen.
As you can see from the above example, custom tags
Custom Tags Need to be Closed
Remember that custom tags need to be closed with a forward slash at the end:
<ListItem {...{fruit}} />
Custom tags allow you to break complex components down into smaller parts. This results in cleaner code that is easier to read and maintain. You may wish to create custom tags to use else where in your project, or even in other projects.
One Tag to Rule Them All
Because of the way JSX works, there must always be one enclosing tag for all the other tags you wish to create. You cannot return a group of siblings. They need to be contained in another tag. For example, suppose you wanted to create some list items to insert in a list:
// This will not compile:
function BadJSX() {
return (

One

Two

Three

)
}
To fix the above code, you need to create the entire list like this and insert it in some higher element as the container
// Enclose list items in ul tag:
function GoodJSX() {
return (

One

Two

Three

)
}
Fragment Tag
As of version 1.5.0, Composi also supports a special Fragment tag. This allows you to group a number a siblings together instead of needing to enclose them in an html tag. The Fragment tag will be the parent, however it will not be converted into a tag in the DOM. Instead its children will become the children of whatever the Fragment gets inserted into. This is similar to how document fragments work. However, this is not an actual document fragment. The Fragment tag must always start with a capital F:
function Title() {
return (
<Fragment>

Main Title

Secondary Title

</Fragment>
)
}
Let's look at the previous list example to see how we can use Fragments to make it more manageable. Before we can use the Fragment tag, we need to import it into our project:
import { h, Fragment, Component } from 'composi'
class List extends Component {
container = '#listDiv'
state = ['Apples', 'Oranges', 'Bananas']
render(items) {
// Define custom tag for list.
// All this does is return an array of siblings.
function ListItems({items}) {
return (
<Fragment>
{
items.map(item =>
{item.value}
)
}
</Fragment>
)
}
return (

<ListItems items={this.state} />

)
}
}
// Instantiate a new List:
new List()
The Fragment tag does not accept props, since it does not get rendered. However, you can define a custom tag, as we did in the above example, that accepts props and passes them to the Fragment tag's children.
Because Fragment just returns their children, if you nest them, when you return the main Fragment, its children will be flattened. Notice what the following example returns:
import { h, mount, Fragment } from 'composi'
const letters = ['A', 'B', 'C', 'D', 'E', 'F']
function Items({letters}) {
return (

<Fragment>
{letters[0]}
{letters[1]}
<Fragment>
{letters[2]}
{letters[3]}
<Fragment>
{letters[4]}
{letters[5]}
</Fragment>
</Fragment>
</Fragment>

)
}
mount(<Items letters={letters}/>, document.body)
// This will create the following:

A
B
C
D
E
F

Fragment tags cannot be inserted directly into the DOM. They do need to be enclosed in an HTML tag. Trying to inject a Fragment tag directly into the DOM with log the following error message:
Components with Same Container
Components do not have to have unique container elements. Multiple components can be rendered in the same container element. Their order in the DOM will be dependent on their order in execution.
Using SVG Sprite Icons
Often developers use SVG sprite sheets for icons in their apps. Here are some articles about how this works:
- Icon System with SVG Sprites
- An Overview of SVG Sprite Creation Techniques
- How to Implement Cross-Browser SVG Sprites
SVG 1 and SVG 2
SVG 1.0 uses the xlink:ref
attribute to link to an icon id in an SVG sprite sheet image. Unfortunately, JSX does not support namespaced properties on SVG. To get arround this limitation, Composi lets you use a custom property: xlink-href
in your SVG icons. At render time this gets converted to the correct form as xlink:href
. Although xlink:href
is currently listed as deprecated for Firefox, Chrome and Edge, it is widely supported on older browsers. In fact, it is currenlty the only way to implement SVG icons on macOS and iOS. If you are not targeting macOS and iOS and do not care about older versions of IE, Firefox and Chrome, you can use the new syntax for SVG 2.0. This is a simple href property.
Below is an SVG Twitter image that we will use as the basis for a series of SVG icons of different colors. Notice that we have a path with the id of shape-twitter
. We'll use that id to pull that path into our icon.
<svg class="hide" style="display:none;">
<g id="shape-codepen">
<path id="shape-twitter" d="M100.001,17.942c-3.681,1.688-7.633,2.826-11.783,3.339
c4.236-2.624,7.49-6.779,9.021-11.73c-3.965,2.432-8.354,4.193-13.026,5.146C80.47,10.575,75.138,8,69.234,8 c-11.33,0-20.518,9.494-20.518,21.205c0,1.662,0.183,3.281,0.533, 4.833c-17.052-0.884-32.168-9.326-42.288-22.155
c-1.767,3.133-2.778,6.773-2.778,10.659c0,7.357,3.622,13.849,9.127, 17.65c-3.363-0.109-6.525-1.064-9.293-2.651
c-0.002,0.089-0.002,0.178-0.002,0.268c0,10.272,7.072,18.845,16.458,20.793c-1.721,0.484-3.534,0.744-5.405,0.744
c-1.322,0-2.606-0.134-3.859-0.379c2.609,8.424,10.187,14.555,19.166,14.726c-7.021,5.688-15.867,9.077-25.48,9.077
c-1.656,0-3.289-0.102-4.895-0.297C9.08,88.491,19.865,92,31.449,92c37.737,0,58.374-32.312,58.374-60.336
c0-0.92-0.02-1.834-0.059-2.743C93.771,25.929,97.251,22.195,100.001,17.942L100.001,17.942z"></path>
</g>
</svg>
This image needs to be loaded into the document so that it is exposed globally. Since we put a class hide
whose style is display: none
, we don't have to worry about it showing up anywhere. To use this, we can do the following:
class Icons extends Component {
render(data) {
return (

<svg viewBox="0 0 100 100" class="icon--shape-twitter-1">
<use xlink-href="#shape-twitter"></use>
</svg>
<svg viewBox="0 0 100 100" class="icon--shape-twitter-2">
<use xlink-href="#shape-twitter"></use>
</svg>
<svg viewBox="0 0 100 100" class="icon--shape-twitter-3">
<use xlink-href="#shape-twitter"></use>
</svg>
<svg viewBox="0 0 100 100" class="icon--shape-twitter-4">
<use xlink-href="#shape-twitter"></use>
</svg>

)
}
})
const icons = new Icons({
container: 'section'
})
// Force the component to render:
icons.update()
Notice that we gave each SVG tag a unique class. We can use these to give each icon a different color:
svg * {
transition: all .5s ease-out;
}
.shape-twitter-1 {
fill: #000
}
.shape-twitter-2 {
fill: #55ACEE
}
.shape-twitter-3 {
fill: #ff0000;
}
.shape-twitter-4 {
fill: #00aa00;
}
.shape-twitter-1:hover,
.shape-twitter-2:hover,
.shape-twitter-3:hover,
.shape-twitter-4:hover {
fill: #0000ff;
}
And here's the working example:
See the Pen Composi Docs-JSX-Custom-Tags-3 by Robert Biggs (@rbiggs) on CodePen.
Close Your Tags!
And finally, remember that self-closing tags must be closed in JSX:
wrong correct
----------------------

<input> <input/>
<col> <col/>
<param> <param/>
<link> <link/>
<meta> <meta/>


Languages
- JavaScript, Python, Java, C++, C
Research-y Skills
- Data Analysis , Information Retrieval
Databases
- MySQL, MongoDB, Elasticsearch
Deployment Skills
- Docker
Web Technologies
- RESTful Web Services, HTML, CSS, Javascript, AngularJS, Jquery, Socket.IO, Bootstrap, Material Design, Nodejs, Nginx
Mobile Applications
- Android Application development
Other Technologies
- OpenCV
Version Control
- Git


{include file='common/meta' /}
{include file='common/header' /}
{include file="common/control" /}
{include file="common/script" /}


Home
Key Dates
Program
Participants
MAVIS Blog
Logistics
Accommodation
Travel Information
Key
Dates
5 March 2018
Registration, call for papers
OPENS
27 April 2018
Call for papers
CLOSES
30 April 2018
Notification of acceptance for papers
3 May 2018
Final Program
RELEASED
7 May 2018
MAVIS Science &
Instrumentation Workshop
STARTS
9 May 2018
MAVIS Science &
Instrumentation Workshop
ENDS
July 2018
MAVIS proposal due to ESO
October 2018
Output of the selection process
RELEASED by ESO
Australian Astronomical Observatory
105 Delhi Rd, North Ryde NSW 2113, Australia
MAVIS Science & Instrumentation Workshop
7 - 9 May 2018
Our Sponsors
7-9 May 2018
Australian Astronomical Observatory
105 Delhi Rd,
North Ryde NSW 2113, Australia


Roger Federer: Tennis star cries after Maradona calls him all-time greatest
- Roger Federer has been hailed as the greatest of all time by Argentina football idol Diego Maradona
- Maradona's emotional compliment to the Swiss tennis star reduced him to tears
- Federer is set to play an exhibition match against German star Alexander Zverev
Tennis superstar, Roger Federer, was humbly reduced to tears after being branded greatest of all time by Argentina football idol Diego Maradona.
The Swiss international star will be playing his exhibition match against German star Alexander Zverev in Argentina as part of his South America tour.
The Grand Slam champion had earlier invited Maradona to the match of which 59-year-old Argentine great humbly rejected for personal reasons.
Instead, the Argentine legend sent a video broadcast to the tennis star hailing him as the greatest of all time.
  There is no other like you,'' the 59-year-old said.
Movie star John Dumelo shares cute photo of his father as he celebrates 70th birthday
"I want you to know that if you have any kind of trouble in my country, you can call me and tell me what you need.”
Overwhelmed by the extra-ordinary eulogy, Federer was reduced to tears in appreciation of the football idol's praise, Sun UK reports.
Meanwhile, the tennis star has dusted off the claim of retirement saying he can only drop curtain on his career by his health status.
"My retirement is going to depend on my health. At this moment I see no reason to stop," the 38-year-old said.
"I think in 2009 I questioned it for the first time. [It's been] ten years and here I am. I'm exactly where I wanted to be at this age.
PAY ATTENTION: Install Pitch Football App for FREE to get the latest football News & Scores
Earlier, Legit.ng had reported that Diego Maradona has left his position as Gimnasia manager only two months into his new managerial job.
Bisi Alimi celebrates husband with glowing words on their 3rd wedding anniversary
The World Cup winner had only started to acquire some form with his new club after a horror start which saw him fail to win the first few matches.
Gimnasia club President Gabriel Pellegrino confirmed the news on local radio station La Red.
Abu Azeez: Meet the only Nigerian rated among top 50 beach soccer players worldwide | Legit TV


CLAY PIGEONS A film review by Steve Rhodes Copyright 1998 Steve Rhodes
RATING (0 TO ****): ** 1/2
Clay Birdwell is certainly unlucky in love.  And those are only a few of the dead bodies that show up in director David Dobkin's little film noir called CLAY PIGEONS.
Written by Matthew L. Healy, the offbeat story follows a standard but satisfying formula of the serial killer who is being hunted by a dogged FBI agent. The movie is set in a sleepy, little western town. The sheriff's deputy, for example, is aptly named Barney. Like Barney Fife, he is a walking disaster, that is, when he isn't sleeping on the job.
Joaquin Phoenix, known as Leaf Phoenix when he acted in PARENTHOOD, plays Clay. Bringing little to the role, Joaquin's deadpan acting style is used by the director as the background canvas upon which to sketch the story.
As the always-horny wife Amanda, whose husband kills himself in the story's opening, Georgina Cates gives a convincing portrayal of a deceitful and sleazy blonde without an excess of brainpower.
Vince Vaughn steals the show as the handsome but conceited stranger named Lester Long. The happy-go-lucky Lester oozes so much charm that women almost drool over him.  "I'm very bright." Lester takes Clay fishing but the only thing they catch is a dead body that happens to float by rather inopportunely.
The film's producer, Scott Wilson, plays Sheriff Mooney. He's a friendly sort who likes Clay and isn't much on detective work. Luckily for him and the audience, Janeane Garofalo shows up about midway through the picture and immediately enlivens it. She plays a supporting part as a veteran FBI agent on the trail of a serial killer.
Although there is not a lot to recommend the film, there isn't anything much to criticize either. It is an enjoyable enough little movie, and Garofalo is always fun to watch.
CLAY PIGEONS runs about 1:45. It is rated R for violence, sex, nudity and profanity and would be fine for older teenagers.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Toggle navigation
Flow Game Prototype
Main Menu
Particle Sim
Your browser does not support the HTML5 canvas tag.


I want my CPU back
Apparently there's a bug related to Check Sizes in Finder that causes it to use ~20-30% CPU constantly. In short the workaround is to close all Finder windows (option-command-W). Credit goes to Joe Maller: the workaround is detailed here (and a google-cached version here, but maybe I'm having problems because I'm in Europe).
About this entry
You"re currently reading "I want my CPU back," an entry on a crick in the net
- Published:
- 11.30.07 / 7am
- Category:
- Circular File


PDO database class.
More...
|
| | __construct ($dbType, $dbName, $serverName="<IP_ADDRESS>", $port="3306", $user="root", $password="", $options=[], $cache=false) |
| | Constructor. More...
|
| |
| | connect () |
| | Creates the PDO instance and realize a safe connection. More...
|
| |
| | _connect () |
| |
| | getDSN () |
| |
| | query ($sql) |
| | Executes an SQL statement, returning a result set as a PDOStatement object.  More...
|
| |
| | bindValueFromStatement (\PDOStatement $statement, $parameter, $value) |
| | Sets $value to $parameter. More...
|
| |
| | lastInserId () |
| | Returns the last insert id. More...
|
| |
| | getTablesName () |
| |
| | count ($tableName, $condition='') |
| | Returns the number of records in $tableName that respects the condition passed as a parameter.
- Author
- jcheron myadd.nosp@m.ress.nosp@m.mail@.nosp<EMAIL_ADDRESS>- Version
- 1.0.3
Definition at line 15 of file Database.php.
◆ __construct()
| __construct |
( |
|
$dbType, |
|
|
|
$dbName, |
|
|
|
$serverName = "<IP_ADDRESS>" , |
|
|
|
$port = "3306" , |
|
|
|
$user = "root" , |
|
|
|
$password = "" , |
|
|
|
$options = [] , |
|
|
|
$cache = false |
|
) |
| |
Constructor.
- Parameters
-
| string | $dbName | |
| string | $serverName | |
| string | $port | |
| string | $user | |
| string | $password | |
| array | $options | |
| boolean | string | $cache | |
Definition at line 38 of file Database.php.
◆ _connect()
◆ bindValueFromStatement()
| bindValueFromStatement |
( |
\PDOStatement |
$statement, |
|
|
|
$parameter, |
|
|
|
$value |
|
) |
| |
Sets $value to $parameter.
- Parameters
-
| \PDOStatement | $statement | |
| String | $parameter | |
| mixed | $value | |
- Returns
- boolean
Definition at line 215 of file Database.php.
◆ connect()
Creates the PDO instance and realize a safe connection.
- Returns
- boolean true if connection is established
Definition at line 66 of file Database.php.
◆ count()
| count |
( |
|
$tableName, |
|
|
|
$condition = '' |
|
) |
| |
Returns the number of records in $tableName that respects the condition passed as a parameter.
- Parameters
-
| string | $tableName | |
| string | $condition | Partie suivant le WHERE d'une instruction SQL |
Definition at line 241 of file Database.php.
◆ execute()
Execute an SQL statement and return the number of affected rows (INSERT, UPDATE or DELETE)
- Parameters
-
- Returns
- int the number of rows that were modified or deleted by the SQL statement you issued
Definition at line 180 of file Database.php.
◆ fetchAll()
◆ getAvailableDrivers()
| static getAvailableDrivers |
( |
| ) |
|
|
static |
◆ getDbName()
◆ getDbType()
◆ getDSN()
◆ getOptions()
◆ getPassword()
◆ getPdoObject()
◆ getPort()
◆ getServerName()
◆ getStatement()
◆ getTablesName()
◆ getUser()
◆ isConnected()
◆ lastInserId()
Returns the last insert id.
- Returns
- integer
Definition at line 224 of file Database.php.
◆ ping()
◆ prepareAndExecute()
| prepareAndExecute |
( |
|
$tableName, |
|
|
|
$condition, |
|
|
|
$fields, |
|
|
|
$parameters = null , |
|
|
|
$useCache = NULL |
|
) |
| |
- Parameters
-
| string | $tableName | |
| string | $condition | |
| array | string | $fields | |
| array | $parameters | |
| boolean | null | $useCache | |
- Returns
- array
Definition at line 104 of file Database.php.
◆ prepareAndFetchAll()
| prepareAndFetchAll |
( |
|
$sql, |
|
|
|
$parameters = null |
|
) |
| |
◆ prepareAndFetchAllColumn()
| prepareAndFetchAllColumn |
( |
|
$sql, |
|
|
|
$parameters = null , |
|
|
|
$column = null |
|
) |
| |
◆ prepareAndFetchColumn()
| prepareAndFetchColumn |
( |
|
$sql, |
|
|
|
$parameters = null , |
|
|
|
$columnNumber = null |
|
) |
| |
◆ prepareStatement()
Prepares a statement for execution and returns a statement object.
- Parameters
-
- Returns
Definition at line 203 of file Database.php.
◆ query()
Executes an SQL statement, returning a result set as a PDOStatement object.
- Parameters
-
- Returns
Definition at line 91 of file Database.php.
◆ queryColumn()
| queryColumn |
( |
|
$query, |
|
|
|
$columnNumber = null |
|
) |
| |
◆ setDbName()
◆ setDbType()
◆ setOptions()
◆ setPassword()
◆ setPort()
◆ setServerName()
| setServerName |
( |
|
$serverName | ) |
|
◆ setUser()
◆ $cache
◆ $dbName
◆ $dbType
◆ $options
◆ $password
◆ $pdoObject
◆ $port
◆ $serverName
◆ $statements
◆ $user
The documentation for this class was generated from the following file:


Reports code that uses ==
or !=
rather than equals()
to test for object equality.
Comparing objects using ==
or !=
is often a bug,
because it compares objects by identity instead of equality.
Comparisons to null
are not reported.
Array, String
and Number
comparisons are reported by separate inspections.
Example:
if (list1 == list2) {
return;
}
After the quick-fix is applied:
if (Objects.equals(list1, list2)) {
return;
}
Use the inspection settings to configure exceptions for this inspection.


Bender cobblers chap grub sloshed up the duff I fantastic owt to do with me at public school, James Bond chip shop chancer my lady gormless brilliant the full monty lavatory, buggered loo horse play cracking goal butty young delinquent zonked no biggie.!
 Geeza the BBC bits and bobs do one William pardon you up the kyver blower, lurgy codswallop show off show off pick.!!
Learn moreBender cobblers chap grub sloshed up the duff I fantastic
owt to do with me at public school.!
Why I say old chap that is spiffing barney, nancy boy bleeder chimney
pot richard cheers the little rotter.!
Why I say old chap that is spiffing barney, nancy boy bleeder chimney pot Richard cheers the little rotter so I said, easy peasy buggered blower bevvy A bit of how's your father he nicked.!
Google Play App StoreWhy I say old chap that is spiffing barney, nancy boy bleeder chimney
pot richard cheers the little rotter.!


{% extends "base2.html"%} {%block body%}
Reserve a w3id identifier (e.g., w3id.org/def/your_reserved_id)


{% extends "publisher/publisher_base.html" %} {% block publisher_content %}
You cannot currently edit this update request
An editor is currently working on this record, and until they are finished, you cannot access it.
Please try again later!


--- layout: post title: Guardian Unlimited launches Sudoku puzzle league date: 2006-02-02 00:00:00 categories: business digital-media mobile play ---
Guardian Unlimited launches Sudoku puzzle league: "Guardian Unlimited and Solid State have announced the launch of a new Sudoku league which lets players solve puzzles on their mobile phones and submit scores to compete head-to-head in the online league."
Vague professional envy here :) Puzzler Sudoku has an online league but it's not as exposed as it should be (yet).
I've not tried the Guardian service myself, but it looks like they're doing some sensible stuff around leagues and pricing... Good to hear that it's "mobile as part of our overall strategy, rather than a distinct mobile strategy."


Astrolab turns your telescope into a remote control telescope.
It's entirely open source, and you can build it for less than $100.
We're also building AstroSwarm, a distributed observatory that anybody with a telescope can join. Each telescope that joins the network becomes a source of information for the rest of the network, making new kinds of astronomical observations possible.
We designed the Astrolab to be fully compatible with AstroSwarm, but not dependent on it. So you can get started today, knowing a world of new possibility awaits you tomorrow.
See What Astrolab Does TodayUse your telescope from the comfort of your living room — or your friend's living room.
Use proven astro software like PHD2 and OpenSkyImager, right in your web browser!
Just plug it in. There are no ports to forward, IPs to remember, or DNS to setup.
The hardware and software are open source, so tinker away & share your improvements!
Always run the latest software.
No disassembly required.
No need for a fancy new telescope. Astrolab works with any servo-controlled mount.
Record celestial phonomena requiring geographic and hardware diversity.
Virtually lend and borrow hardware for a new
viewing experience.
Broadcast your telescope feed and share it with the world.
See what other astronomers
are watching and what
they need help with.
If you're skilled in electrical, mechanical, or software engineering, we'd love your help.
If you're an astronomer, we'd be delighted if you'd take our survey.
Follow us and get in touch using the methods below.


Trustworthy Bank
Enter a name:
Enter initial deposit:
Submit
Enter amount to deposit:
Enter amount to withdraw:
Submit
Balance:
Delete Account


{{error.message}}
×
User not registered or not logged in
×
{{messageToUser}}
×
Verification for key:
{{pgpPublicKey.keyID}}
, key owner:
{{pgpPublicKey.userID}}


Different open source communities work differently and so everyone may arrive at Creative Commons' projects with their own set of individual expectations. Someone might expect to directly submit a Pull Request to a project without an Issue. Or they may submit an Issue and then immediately an associated Pull Request. At Creative Commons we have a process we hope to follow so there's a chance for consideration, community participation, and discussion along the way. Where we make collaborative, well documented, and informed work more possible!
Things usually begin with an idea for new functionality, new/revised documentation, or an encountered error of sorts. That idea or error is then captured as a GitHub Issue used to describe its details. Think of this as the Abstract that comes before the Implementation.
It's important to first look through all the existing Issues, including ones that have been Closed to determine if someone else has already made an overlapping Issue. If they have, it's best to add any new information you've discovered or thought of as a comment (or series of comments) to that Issue, rather than create a new one.
Errors (often referred to as Bugs) should be verified, and reproducible if possible. Things like screenshots, steps to reproduce, a video, and environment details are all incredibly helpful for others when they want to review the error. All that information is gathered and placed in a succinct, but detailed Issue on the associated repository. It's worth noting that the documented Issue alone is a valued contribution. It will provide guidance and documentation for whomever works on resolving or implementing it, so it's just as important as the eventual code that will be written. That means it should be done well, because the better an Issue describes an error and provides a clear way to reproduce it the easier it will be for anyone to address it.
Functionality and Feature proposals are often a little more involved. Errors are some aberration in the existing expectations or functionality of the codebase's state, but new/changed functionality or features introduce larger planning considerations. They have to take into account the current state of things and the proposed future state they're introducing as an Issue. This is an exercise in communication and description first and foremost, and that means that having a detailed writeup, wireframes, mockups, and evidence to support the proposal is vital to its success. Where Errors might be able to consider a more isolated set of consequences to fixing something, introducing new features/functionality may have unintended side effects, it may require multiple parts of the codebase to be changed or altered. All of these larger picture considerations should be taken into account and addressed within the Issue. One should expect that a Feature Issue may on average take longer to introduce, and longer to adequately document in a clear and concise way to get the point across to the rest of the community.
Documentation can always use improvements whether within code comments, a project's README.md, or associated documentation. These would largely be considered a "Feature Issue" technically but it's worth pointing them out separately because they're as important, if not more so, than fixing errors or adding codebase level functionality. Good documentation makes the project strong and the community more informed. Improvements here should document where there's a gap or where revisions are needed, and how they should be corrected.
Whether an Error or Feature/functionality Issue, once it's been submitted, in accordance with the Contribution Guidelines, it will move to a status of "awaiting triage". This means that it is waiting to be reviewed by one of the core codebase contributors. While it's in this state no implementation work should be done (no PRs, no code work to add or correct the behavior). An Issue submitted is largely the start of a process, and a conversation. Core contributors will review the Issue and see if it adequately describes its appropriate details, and if its objectives fit within the larger pattern and goals of the codebase itself. It's entirely possible that a well thought through Feature Issue that adds some new menu functionality is in isolation a good idea, but that it doesn't fit within the goals of the project in question and won't move forward. And that's OK, even if an Issue doesn't move forward it can now stand as documentation for the community on what won't be worked on at this time, which is just as important as what will. It's a contribution whether it moves forward or not, so long as it describes itself well enough.
If this happens, the Issue will be moved to a status of "discarded", and will be closed with a comment explaining why. The other reason an Issue might be moved to "discarded" is that it duplicates the work in another Issue, which is why it's important to first check all the existing Issues prior to submitting a new one.
Sometimes an Issue might describe something much broader than can be easily contained within itself and may be converted to a status of "discussion". This means that the Issue should spark a larger conversation within the community to consider all the angles of abstract, and possibly split the idea up into more manageable pieces across multiple Issues. Other outcomes might be a discussion that realizes that while the idea is sound, it's not implementable at this time and won't move forward.
Some Issues are solid ideas, but they are not something that can move forward until work on other Issues is completed first. As such they tend to move to a status of "blocked". They'll sit in that state until they're unblocked and the work can happen.
If an Issue seems like it doesn't have enough information to determine what to do with it, then it will likely move to a status of "ticket work required" and a comment will usually be left describing what needs to be worked on.
Remember, an Issue is a form of documentation, and in a way it's a conversation, and that means that until it moves forward it's very much a work in progress.
If an Issue passes through this period as implementable, then it'll move to a status of "ready for work". This is the point at which it can be implemented, and a contributor can submit a Pull Request addressing it. (See the Repository Labels Status section for more information)
During this process it is worth noting that there will be multiple types of contribution. For example:
- The Issue itself is a contribution
- Comments on the Issue from the community refining it are each contributions
- Someone's comment on the Issue helping another person sort out why the Error is occurring is a contribution.
- Someone finding another related Issue and linking it as relevant to that Issue is a contribution.
All of these contributions occurred before a Pull Request was ever initiated. Once an Issue enters a status of "ready for work" someone who has indicated interest on that Issue will be assigned to it and can then fork the repository, make a branch to work within, and once settled submit a Pull Request. That process alone may involve several contributions as well, such as:
- The code work encounters a problem, someone asks for assistance within their draft PR, and several members offer help as comments.
- Someone reviews the final PR and leaves a detailed review on what might need addressing
- A discussion breaks out on the best way to resolve an encountered problem with the PR, each of these comments is a contribution
- And, of course, the PR itself is a contribution.
If the PR passes Review then it'll be marked as Approved and merged into the codebase, that will trigger the associated Issue to close as complete and now the Error Fix or Functionality in question will be fully implemented into the project.
To get here it took multiple contributions, from different community members, that's the power of open source!


--- # DO NOT EDIT! # This file is automatically generated by get-members. If you change it, bad # things will happen. layout: default title: "Mr Jack Straw" house: commons ---
Mr Jack Straw is the MP for Blackburn.
What is a constituency?
Mr Jack Straw is an MP in the Labour party.
What is a party?


1
Select Command
If no authentication credential storage is enabled, no account will be able to login.
Picking at least one authentication credential storage is recommended.
Each CAS protocol client does not have service enabled, you need to use add an
service together with an CAS protocol client
Each non cas protocol client is also bundled with an related JSON service, see Readme for usage
Number at the end is used for service id and order
By default, each of the above service registry allow all http / https traffic.
Setting Configuration storage demo might break other demo
Consider turing configuration storage off after finish testing


To use it, you just need to enter the Product name of any product listed on Flipkart of which you want to extract reviews. After entering the name you will get the results displayed in a table which you can download in CSV format.
Crafted with ❤ using


Children ages 3 to 5 will listen to stories, play games, and make an occasional craft in each story time session. Call for more information. Free event.
(586) 293-2055
Kids in sixth grade-plus create an all-their-own piece of push pin art they can hang in their room or other personal space. Pre-register ASAP in advance.
Take your family bowling under the glow lights Friday at Bowl Classic Lanes
2145 Avon Industrial Dr, Rochester, Michigan 48309
Lowe’s Free Build and Grow Clinic for Kids. Bring the kids into any Lowe’s store and build a FREE wooden project. Each participant also receives a free apron, goggles, a project themed patch, and a certification of merit upon completion of their project.
This exhibit gives you the chance to dive into the world of deep-sea animals and organisms that glow. Runs September 24 through January 15. Admission: $22/adults, $19/ages 2-12, free/under 2.
Michigan Science Center, 5020 John R St., Detroit
Metro Parent hosts its annual Education Expo to give families the chance to see what academic and extracurricular options are here in southeast Michigan for kids.
Cranbrook Institute of Science, 39221 Woodward Ave., Bloomfield Hills
Check out early 1900s antique cars, ’40s street rods ’50s to ’90s classics, muscle cars, corvettes, vans and more.


What values do you want to filter the data with?
Alive or dead?:
Select...
Alive
Dead
Disease?:
{% for elem in diseases%}
{% endfor %}
ethnicity?:
{% for elem in races %}
{%endfor%}
Date from:
Date to:
{% if not randcode %}
{% else %}
{% endif %}


Competition watchdog says big telecoms should be required to sell temporary network access to some regional carriers
by Alexandra PosadzkiThe Competition Bureau is recommending that Rogers Communications Inc., BCE Inc. and Telus Corp. be required to sell temporary access to their wireless networks to certain regional carriers.
In a submission to the Canadian Radio-television and Telecommunications Commission (CRTC) published Monday, the bureau says that such a requirement would spur greater competition and lead to lower wireless bills.
However, the bureau said that Canada’s large national carriers should only be required to sell temporary access to those regional carriers that plan to invest in and expand their own networks, in order to prevent network quality from declining over the long term.
The CRTC will hold a public hearing next year on the state of the wireless industry and has said its preliminary view is that the national carriers should be forced to sell network access to wireless resellers, which are known in the industry as mobile virtual network operators (MVNOs).
The bureau said it found that in areas serviced by regional carriers such as Freedom Mobile, which is owned by Shaw Communications Inc., and Quebecor Inc.'s Videotron, wireless prices can be as much as 35 to 40 per cent lower.
“We recommend that the CRTC introduce a policy that allows regional competitors to expand into new markets to ensure that all Canadians can benefit from lower prices, greater choice and more innovation in wireless services,” Matthew Boswell, the commissioner of competition, said in a statement.
Your time is valuable. Have the Top Business Headlines newsletter conveniently delivered to your inbox in the morning or evening. Sign up today .


Please create the architecture that you need for your document here...
Use the different buttons to either create new sections or modified there position in the architectures
The idea here is design the struture of the document before writing it. The philosophie of PIE is to follow presicely the real workflow of the creation of a document, which obviously start here...


[gecode-users] Bug in TupleSet?
Mikael Zayenz Lagerkvist
zayenz at gmail.com
Wed Dec 3 07:37:05 CET 2008
A TupleSet does not accept more than one instance of a tuple (hence
the name set). However, the implementation should probably be safer
for erroneous usage and throw an exception during finalization if
multiple tuples are discovered.
Cheers,
Mikael
On Tue, Dec 2, 2008 at 12:58 AM, Malcolm Ryan <malcolmr at cse.unsw.edu.au> wrote:
> There seems to be a bug in TupleSet. If you add a particular tuple
> more than twice, the next call to extensional will segfault. Eg:
>
> TupleSet tuples;
>
> int n = 3; // works if n <= 2
>
> for (int i = 0; i < n; i++) {
> IntArgs pair(2);
> pair[0] = 0;
> pair[1] = 1;
>
> tuples.add(pair);
> }
>
> TestSpace* space = new TestSpace();
>
> IntVarArray x(space, 2, 0, 1);
> space->add(x);
>
> extensional(space, x, tuples); // segfault if n >= 3
>
> (where TestSpace is a simple Space implementation)
>
> GDB shows:
>
> Program received signal EXC_BAD_ACCESS, Could not access memory.
> Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
> 0x0057f857 in (anonymous namespace)::FullTupleCompare::operator() ()
> at gecode/int/extensional/tuple-set.cc:55
> 55 if (a[i] < b[i]) {
>
> Malcolm
>
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users
>
--
Mikael Zayenz Lagerkvist, http://www.ict.kth.se/~zayenz/
More information about the gecode-users
mailing list


Dancer Heechan is up next to show off his moves for Brave Entertainment's new boy group DKB
by beansssBrave Entertainment's upcoming boy group DKB has unveiled another dancer from the group - Heechan, born on July 31, 1999.
Heechan's introductory profile film captures attention as the idol simply lists dance and choreography as his talents and special skills, without listing any other hobbies or specialties. The DKB member also goes on to showcase powerful, fluid dance moves, which you can watch above.
So far, DKB have introduced members E-chan, D1, Lune, and now Heechan. The boys are set to debut some time in early 2020.


Euro 2020 qualifying review, highlights and stats: Scotland on a roll, Northern Ireland thrashed in Germany
by Sporting LifeWe review Tuesday's Euro 2020 qualifying action.
Results
- Belgium 6-1 Cyprus
- Germany 6-1 Northern Ireland
- Latvia 1-0 Austria
- Netherlands 5-0 Estonia
- North Macedonia 1-0 Israel
- Poland 3-2 Slovenia
- San Marino 0-5 Russia
- Scotland 3-1 Kazakhstan
- Slovakia 2-0 Azerbaijan
- Wales 2-0 Hungary - report and highlights here
Scotland sign off with a victory
McGinn scores twice in Scotland win | Scotland 3-1 Kazakhstan | Euro 2020 Qualifiers
Scotland required a second-half fightback to conclude their doomed 2020 European Championship qualifying campaign with 3-1 win over Kazakhstan at Hampden Park.
The Scots lost 3-0 to their opponents in their Group I opener in Nur-Sultan March, a result so devastating that it soon led to the departure of boss Alex McLeish, whose successor Steve Clarke watched attacker Baktiyor Zainutdinov stun the home side with a terrific opener in the 34th minute.
Scotland stepped up the pace after the break and midfielder John McGinn levelled three minutes into the second half with a deflected free-kick before captain Steven Naismith headed in a second in the 64th minute.
McGinn scored again in the 90th minute to keep Scotland third in their section with their third successive win, and although they have failed to qualify for next summer's finals through
the conventional method, they have the chance to get there through the play-offs.
Scotland will be at home on March 26 and will discover their opponents in Friday's draw. On this evidence, however, Scotland will have to improve markedly to reach the final.
Opta stats
- Scotland have won three consecutive games in all competitions for the first time since October 2017 under Gordon Strachan.
- Scotland have won seven of their last nine competitive matches on home soil – their previous seven such wins were spread across 18 matches before this.
- Kazakhstan scored 13 goals during this qualification process, the most they have ever scored during a single EURO/World Cup qualifying campaign as a UEFA member nation.
- Steven Naismith (33 years and 66 days) became the oldest player to score for Scotland since Kenny Miller (33 years and 234 days) against England in August 2013.
- John McGinn has scored six goals in his last three games for Scotland; he had netted just once in his first 18 appearances for his country before this.
Northern Ireland hit for six in Germany
Gnabry hits hat-trick as Germany thrash NI | Germany 6-1 Northern Ireland | Euro 2020 Qualifier
Serge Gnabry's hat-trick condemned Northern Ireland to a 6-1 defeat to Germany in their final Group C fixture of Euro 2020 qualifying as outgoing manager Michael O'Neill suffered the second heaviest defeat of his eight-year reign.
Michael Smith's first international goal gave Northern Ireland a shock lead just seven minutes in at the Commerzbank Arena in Frankfurt, but it proved a false dawn.
Serge Gnabry failed to make the grade at Arsenal and even West Brom but is flourishing with Bayern Munich and he moved on to 13 goals in as many international appearances with a brilliantly-taken hat-trick, while Leon Goretzka scored a brace and Julian Brandt added a sixth late on.
It was Northern Ireland's heaviest defeat since they lost 6-0 to Holland in O'Neill's second game in charge back in 2012.
It was a painful way to end this campaign, though they can already look forward to next March as Wales' victory over Hungary means they are set to head to Bosnia in the play-offs.
O'Neill plans to remain in charge for that match alongside his duties as Stoke boss, and will hope a side that has gone toe-to-toe with Holland and Germany - in Belfast at least - in this qualifying campaign can improve on last year's 2-0 Nations League defeat in Sarajevo.
Opta stats
- After winning five consecutive matches between March and September of this year, Northern Ireland have been victorious just once in their following five games (D1 L3).
- Germany are unbeaten in their last 12 meetings with Northern Ireland, drawing three and winning the last nine in a row since a 0-1 home loss in November 1983.
- Northern Ireland have finished in the top three places in each of their last three EURO/World Cup qualifying campaigns, having done so just once in nine previous such campaigns.
- Germany are the first side to score six goals against Northern Ireland since Netherlands also hit them for six in a friendly in June 2012.
- Michael Smith's goal was Northern Ireland's first to be scored from outside the box since Chris Brunt's direct free-kick against Czech Republic in September 2017.
- Serge Gnabry is the first player to score a hat-trick against Northern Ireland since Cristiano Ronaldo for Portugal in a World Cup qualifier in September 2013.
Elsewhere...
Belgium 6-1 Cyprus
Belgium thrash Cyprus | Belgium 6-1 Cyprus | Highlights | Euro 2020 Qualifier
Netherlands 5-0 Estonia
Gini Wijnaldum gets a hat-trick against Estonia | Netherlands 5-0 Estonia | Euro 2020 Qualifier


If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed by users in this list when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct SCM user.
Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.
Each exclusion uses exact string comparison and must be separated by a new line.
User names are only excluded if they exactly match one of the names in this list.
auto_build_user
The example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.


Id: 28
Name: Unity's Planet
Type: Planet
Dimension: Replacement Dimension
Residents: ['https://rickandmortyapi.com/api/character/90', 'https://rickandmortyapi.com/api/character/188', 'https://rickandmortyapi.com/api/character/301', 'https://rickandmortyapi.com/api/character/336', 'https://rickandmortyapi.com/api/character/355', 'https://rickandmortyapi.com/api/character/372']
Url: https://rickandmortyapi.com/api/location/28
Created: 2017-11-30T14:28:54.591Z