Type modifiers:
static type variable;
static
storage class. The value of variable
persists across executions of this scope and is guaranteed to be initialized before
the variable is used for the first time. When the program exits from the scope, the variable
keeps its value until the next time the program enters that scope. We'll see in
§13.4/244 that the meaning of static
varies with context.
Types: The built-in type void
can be used in a restricted number of ways, one of which is
to indicate that a function yields no return value. Such functions can be exited through a
return
; that has no value or by falling off the end of the function.
Iterator adaptors are functions that yield iterators. The most common are the adaptors
that generate insert_iterators
, which are iterators that grow the associated container
dynamically. Such iterators can be used safely as the destination of a copying algorithm.
They are defined in header <iterator>
:
back_inserter(c)
c
that appends elements to c
. The container must
support push_back
, which the list, vector
, and the string
types all do.
front_inserter(c)
back_inserter
, but inserts at the front of the container. The container must
support push_front
, which list
does, but string
and vector
do not.
inserter(c, it)
back_inserter
, but inserts elements before the iterator it
.
Algorithms: Unless otherwise indicated, <algorithm>
defines these algorithms:
accumulate(b, e, t)
t
(with the same type as t
, which
means that the type of t
is crucially important to the behavior of accumulate
), adds
each element in the range [b, e)
to the variable, and returns a copy of the variable as
its result. Defined in <numeric>
.
find(b, e, t)
find_if(b, e, p)
search(b, e, b2, e2)
[b, e)
. The find
algorithm
looks for the value t
; the find_if
algorithm tests each element against the predicate
p
; the search algorithm looks for the sequence denoted by [b2, e2)
.
copy(b, e, d)
remove_copy(b, e, d, t)
remove_copy_if(b, e, d, p)
[b, e)
to the destination denoted by d
. The
copy
algorithm copies the entire sequence; remove_copy
copies all elements not
equal to t
; and remove_copy_if
copies all elements for which the predicate p
fails.
remove_if(b, e, p)
[b, e)
for which the predicate
p
is false are at the front of the range. Returns an iterator denoting one past the
range of these "unremoved" elements.
remove(b, e, t)
remove_if
, but tests which elements to keep against the value t
.
transform(b, e, d, f)
f
on the elements in the range [b, e)
, storing the result of f
in d
.
partition(b, e, p)
stable_partition(b, e, p)
[b, e)
, based on the predicate p
, so that elements
for which the predicate is true
are at the front of the container. Returns an iterator to
the first element for which the predicate is false
, or e
if the predicate is true
for all
elements. The stable_partition
function maintains the input order among the elements in each partition.
6-0. Compile, execute, and test the programs in this chapter.
6-1. Reimplement the frame
and hcat
operations from §5.8.1/93 and §5.8.3/94 to use iterators.
6-2. Write a program to test the find_urls
function.
6-3. What does this program fragment do?
vector<int> u(10, 100); vector<int> v; copy(u.begin(), u.end(), v.begin());
Write a program that contains this fragment, and compile and execute it.
6-4. Correct the program you wrote in the previous exercise to copy from u
into v
. There are at
least two possible ways to correct the program. Implement both, and describe the relative
advantages and disadvantages of each approach.
6-5. Write an analysis function to call optimistic_median
.
6-6. Note that the function from the previous exercise and the functions from §6.2.2/113 and §6.2.3/115 do the same task. Merge these three analysis functions into a single function.
6-7. The portion of the grading analysis program from §6.2.1/110 that read and classified student
records depending on whether they did (or did not) do all the homework is similar to the
problem we solved in extract_fails
. Write a function to handle this subproblem.
6-8. Write a single function that can be used to classify students based on criteria of your choice.
Test this function by using it in place of the extract_fails
program, and use it in the program
to analyze student grades.
6-9. Use a library algorithm to concatenate all the elements of a vector<string>
.


This is a flight insurance App. The list below shows a list of flight you could choose from to get insurance. If the status of the flight is "true", it means it is eligble for insurance.
To buy Insurance, you need to have your ether address ready for input. You could use this address to buy insurance, check your balance and manage your outstanding credit all in one click.
Please note that for each purchase the insured amount should not be bigger than 1 ether.
**To start testing, please press the setup button at the bottom of the page to start. Once you see the notification. Refresh the page. You can start using the app when all the flight status becomes true
Buy Insurance
Check Insured Sum
Submit to Oracles
Check Balance
Withdraw
Testing Setup - please press this button to initialise the test


i am looking for an entry-level position as a computer science programmer.
troubleshooting hardware and software and configuring operating systems and managing networks services.
excellent communication skills and multi-tasking as well as great problem-solving skills and knowledge of computers and computer software.
providing superior customer services as well as leadership and communication skills.


Have been meditating using breath-counting for one year, following Lawrence Leshan's 'How to Meditate.' Some experiences had during this year:
For about a month, soon after picking up meditation, my hands would grow extremely hot while meditating.
Had finished a half-hour of meditation. Lay down with eyes closed, and realized I could make my field of vision grow white. Made vision go white...white... twice, then let the experience manifest itself fully. Simultaneously, felt an 'aliveness' manifest throughout my body, heard a high, rounded sound grow in volume like feedback from an amplifier, and had my field of vision go completely white. All this happened in a moment.
Was meditating in a sitting position, hands palm-up. Was feeling 'glassy', mentally, which is how I feel when my session seems to be especially effective. As I pushed forward into a new place, mentally, my hands contorted--I don't recall clearly, but I think the middle fingers on both hands curled back to touch the palms. The motion was easily resistable, but it felt better to let it happen.
Was feeling very relaxed, even elated, to begin with. Lay down to meditate, and the moment my body completed the motion, felt the earth 'shift,' and then return to place. The 'movement' was quick, and covered what felt like only an inch or so. Perhaps what I felt wasn't the earth move under me, but rather myself momentarily loosed from my body and then jerked back. I am almost certain it was not an actual earthquake. Afterward felt fearful of (imagined?) presences next to me in the dark.
Dreamed one morning of seeing myself in the mirror, only I saw myself distorted: The skin on my face was folded into an extreme grimace; there was a vertical, eye-shaped feature, framed by mounds of skin, between my eyes on my forehead; and I had wings. Later that morning, came across a pair of severed pigeon's wings, no body nearby, lying on a sidewalk. That afternoon, napped.  Still with eyes closed, felt my body gripped on either side of my upper arms, and my torso lifted forward into a sitting position. I did not feel myself using my own muscles to accomplish this. As my mind returned to regular consciousness, my torso eased back into the bed. Initially was unable to move my legs, but control gradually returned. Also, sensation of brain activity in an unfamiliar area toward the rear of my head--this feeling subsided as control over my body returned, and my mind came back to regular consciousness.
On several different occasions, have decided to purge particular negative feeling from myself. Once on marijuana--decided to do this, felt a shuddering in my body, and subsequently a lightening of mood, and a relaxation in my facial muscles. During meditation did this, felt shuddering, felt face briefly exhibit anger, then a lightening of mood, one that has persisted since that session. Both times, framed this decision as a will to purge myself of demons in a literal sense.
Levitated. Just kidding.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Pariticipant : public class
| Created: |
16/05/2018 12:55:09 |
| Modified: |
08/01/2019 13:47:24 |
|
| Project: |
|
| Author: |
alfiva |
| Version: |
1.0 |
| Phase: |
1.0 |
| Status: |
Proposed |
| Complexity: |
Easy |
| Advanced: |
|
| UUID: |
{9D6E8E28-688F-4c2c-BE1C-F8EEB9EF465A} |
| Appears In: |
DataModel |

Every dialogue consists of a set of two or more participants, with each participant being assigned to a role. The roles in a dialogue will vary depending on the precise specification, however in general every

dialogue game specified here will consist of a User and at least one Coach. Some specifications will further refine these roles (e.g. Game 1 (Goal-setting) provides for a special type of coach called the Lead

Coach). These will be described in the specifications themselves


Sun
Mon
Tue
Wed
Thu
Fri
Sat
{%for week in dates %}
{%for day in week %}
{{day}}
{%endfor%}
{%endfor%}


for 6 months
Save Money
These are some different terms and conditions
A fabulous collection
These are some terms and conditions


Featured cosplayers will be broadcasting their videos based on weekly topics!
News articles, columns and videos uploaded daily.
Send the power to your supporting cosplayers with "MOE!"s! Your supprot will be reflected to their ranking (maybe leading to them to further stage...?!)
Registration needed to start your support. It's absolutely free! Top-up available at user page to gain more "MOE!".
+81-03-1234-5678


Frequent Pattern Mining
Mining frequent items, itemsets, subsequences, or other substructures is usually among the first steps to analyze a large-scale dataset, which has been an active research topic in data mining for years. We refer users to Wikipedia’s association rule learning for more information.
Table of Contents
FP-Growth
The FP-growth algorithm is described in the paper
Han et al., Mining frequent patterns without candidate generation,
where “FP” stands for frequent pattern.
Given a dataset of transactions, the first step of FP-growth is to calculate item frequencies and identify frequent items.
Different from Apriori-like algorithms designed for the same purpose,
the second step of FP-growth uses a suffix tree (FP-tree) structure to encode transactions without generating candidate sets
explicitly, which are usually expensive to generate.
After the second step, the frequent itemsets can be extracted from the FP-tree.
In spark.mllib
, we implemented a parallel version of FP-growth called PFP,
as described in Li et al., PFP: Parallel FP-growth for query recommendation.
PFP distributes the work of growing FP-trees based on the suffixes of transactions,
and hence is more scalable than a single-machine implementation.
We refer users to the papers for more details.
FP-growth operates on itemsets. An itemset is an unordered collection of unique items. Spark does not have a set type, so itemsets are represented as arrays.
spark.ml
’s FP-growth implementation takes the following (hyper-)parameters:
minSupport
: the minimum support for an itemset to be identified as frequent. For example, if an item appears 3 out of 5 transactions, it has a support of 3/5=0.6.minConfidence
: minimum confidence for generating Association Rule. Confidence is an indication of how often an association rule has been found to be true. For example, if in the transactions itemsetX
appears 4 times,X
andY
co-occur only 2 times, the confidence for the ruleX => Y
is then 2/4 = 0.5. The parameter will not affect the mining for frequent itemsets, but specify the minimum confidence for generating association rules from frequent itemsets.numPartitions
: the number of partitions used to distribute the work. By default the param is not set, and number of partitions of the input dataset is used.
The FPGrowthModel
provides:
freqItemsets
: frequent itemsets in the format of a DataFrame with the following columns:items: array
: A given itemset.freq: long
: A count of how many times this itemset was seen, given the configured model parameters.
associationRules
: association rules generated with confidence aboveminConfidence
, in the format of a DataFrame with the following columns:antecedent: array
: The itemset that is the hypothesis of the association rule.consequent: array
: An itemset that always contains a single element representing the conclusion of the association rule.confidence: double
: Refer tominConfidence
above for a definition ofconfidence
.lift: double
: A measure of how well the antecedent predicts the consequent, calculated assupport(antecedent U consequent) / (support(antecedent) x support(consequent))
support: double
: Refer tominSupport
above for a definition ofsupport
.
transform
: For each transaction initemsCol
, thetransform
method will compare its items against the antecedents of each association rule. If the record contains all the antecedents of a specific association rule, the rule will be considered as applicable and its consequents will be added to the prediction result. The transform method will summarize the consequents from all the applicable rules as prediction. The prediction column has the same data type asitemsCol
and does not contain existing items in theitemsCol
.
Examples
Refer to the Scala API docs for more details.
import org.apache.spark.ml.fpm.FPGrowth
val dataset = spark.createDataset(Seq(
"1 2 5",
"1 2 3 5",
"1 2")
).map(t => t.split(" ")).toDF("items")
val fpgrowth = new FPGrowth().setItemsCol("items").setMinSupport(0.5).setMinConfidence(0.6)
val model = fpgrowth.fit(dataset)
// Display frequent itemsets.
model.freqItemsets.show()
// Display generated association rules.
model.associationRules.show()
// transform examines the input items against all the association rules and summarize the
// consequents as prediction
model.transform(dataset).show()
Refer to the Java API docs for more details.
import java.util.Arrays;
import java.util.List;
import org.apache.spark.ml.fpm.FPGrowth;
import org.apache.spark.ml.fpm.FPGrowthModel;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.RowFactory;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.types.*;
List<Row> data = Arrays.asList(
RowFactory.create(Arrays.asList("1 2 5".split(" "))),
RowFactory.create(Arrays.asList("1 2 3 5".split(" "))),
RowFactory.create(Arrays.asList("1 2".split(" ")))
);
StructType schema = new StructType(new StructField[]{ new StructField(
"items", new ArrayType(DataTypes.StringType, true), false, Metadata.empty())
});
Dataset<Row> itemsDF = spark.createDataFrame(data, schema);
FPGrowthModel model = new FPGrowth()
.setItemsCol("items")
.setMinSupport(0.5)
.setMinConfidence(0.6)
.fit(itemsDF);
// Display frequent itemsets.
model.freqItemsets().show();
// Display generated association rules.
model.associationRules().show();
// transform examines the input items against all the association rules and summarize the
// consequents as prediction
model.transform(itemsDF).show();
Refer to the Python API docs for more details.
from pyspark.ml.fpm import FPGrowth
df = spark.createDataFrame([
(0, [1, 2, 5]),
(1, [1, 2, 3, 5]),
(2, [1, 2])
], ["id", "items"])
fpGrowth = FPGrowth(itemsCol="items", minSupport=0.5, minConfidence=0.6)
model = fpGrowth.fit(df)
# Display frequent itemsets.
model.freqItemsets.show()
# Display generated association rules.
model.associationRules.show()
# transform examines the input items against all the association rules and summarize the
# consequents as prediction
model.transform(df).show()
Refer to the R API docs for more details.
# Load training data
df <- selectExpr(createDataFrame(data.frame(rawItems = c(
"1,2,5", "1,2,3,5", "1,2"
))), "split(rawItems, ',') AS items")
fpm <- spark.fpGrowth(df, itemsCol="items", minSupport=0.5, minConfidence=0.6)
# Extracting frequent itemsets
spark.freqItemsets(fpm)
# Extracting association rules
spark.associationRules(fpm)
# Predict uses association rules to and combines possible consequents
predict(fpm, df)
PrefixSpan
PrefixSpan is a sequential pattern mining algorithm described in Pei et al., Mining Sequential Patterns by Pattern-Growth: The PrefixSpan Approach. We refer the reader to the referenced paper for formalizing the sequential pattern mining problem.
spark.ml
’s PrefixSpan implementation takes the following parameters:
minSupport
: the minimum support required to be considered a frequent sequential pattern.maxPatternLength
: the maximum length of a frequent sequential pattern. Any frequent pattern exceeding this length will not be included in the results.maxLocalProjDBSize
: the maximum number of items allowed in a prefix-projected database before local iterative processing of the projected database begins. This parameter should be tuned with respect to the size of your executors.sequenceCol
: the name of the sequence column in dataset (default “sequence”), rows with nulls in this column are ignored.
Examples
Refer to the Scala API docs for more details.
import org.apache.spark.ml.fpm.PrefixSpan
val smallTestData = Seq(
Seq(Seq(1, 2), Seq(3)),
Seq(Seq(1), Seq(3, 2), Seq(1, 2)),
Seq(Seq(1, 2), Seq(5)),
Seq(Seq(6)))
val df = smallTestData.toDF("sequence")
val result = new PrefixSpan()
.setMinSupport(0.5)
.setMaxPatternLength(5)
.setMaxLocalProjDBSize(32000000)
.findFrequentSequentialPatterns(df)
.show()
Refer to the Java API docs for more details.
import java.util.Arrays;
import java.util.List;
import org.apache.spark.ml.fpm.PrefixSpan;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.RowFactory;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.types.*;
List<Row> data = Arrays.asList(
RowFactory.create(Arrays.asList(Arrays.asList(1, 2), Arrays.asList(3))),
RowFactory.create(Arrays.asList(Arrays.asList(1), Arrays.asList(3, 2), Arrays.asList(1,2))),
RowFactory.create(Arrays.asList(Arrays.asList(1, 2), Arrays.asList(5))),
RowFactory.create(Arrays.asList(Arrays.asList(6)))
);
StructType schema = new StructType(new StructField[]{ new StructField(
"sequence", new ArrayType(new ArrayType(DataTypes.IntegerType, true), true),
false, Metadata.empty())
});
Dataset<Row> sequenceDF = spark.createDataFrame(data, schema);
PrefixSpan prefixSpan = new PrefixSpan().setMinSupport(0.5).setMaxPatternLength(5);
// Finding frequent sequential patterns
prefixSpan.findFrequentSequentialPatterns(sequenceDF).show();
Refer to the Python API docs for more details.
from pyspark.ml.fpm import PrefixSpan
df = sc.parallelize([Row(sequence=[[1, 2], [3]]),
Row(sequence=[[1], [3, 2], [1, 2]]),
Row(sequence=[[1, 2], [5]]),
Row(sequence=[[6]])]).toDF()
prefixSpan = PrefixSpan(minSupport=0.5, maxPatternLength=5,
maxLocalProjDBSize=32000000)
# Find frequent sequential patterns.
prefixSpan.findFrequentSequentialPatterns(df).show()
Refer to the R API docs for more details.
# Load training data
df <- createDataFrame(list(list(list(list(1L, 2L), list(3L))),
list(list(list(1L), list(3L, 2L), list(1L, 2L))),
list(list(list(1L, 2L), list(5L))),
list(list(list(6L)))),
schema = c("sequence"))
# Finding frequent sequential patterns
frequency <- spark.findFrequentSequentialPatterns(df, minSupport = 0.5, maxPatternLength = 5L,
maxLocalProjDBSize = 32000000L)
showDF(frequency)


Documentation for release 2.5.2 (2009-09-12)
© 2001-2009 OFFIS, Tammo Freese, Henri Tremblay.
EasyMock 2 is a library that provides an easy way to use Mock Objects for given interfaces. EasyMock 2 is available under the terms of the Apache 2 license.
Mock Objects simulate parts of the behavior of domain code, and are able to check whether they are used as defined. Domain classes can be tested in isolation by simulating their collaborators with Mock Objects.
Writing and maintaining Mock Objects often is a tedious task that may introduce errors. EasyMock 2 generates Mock Objects dynamically - no need to write them, and no generated code!
EasyMock by default supports the generation of Mock Objects for interfaces only. For those who would like to generate Mock Objects for classes, there is an extension available at the EasyMock home page.
easymock2.5.2.zip
). It contains a directory
easymock2.5.2
. Add the EasyMock jar file (easymock.jar
) from this directory to your
classpath.
To execute the EasyMock tests, add tests.zip
and the JUnit 4.5 jar
to your class path and start
'java org.easymock.tests.AllTests'
.
The source code of EasyMock is stored in the zip file src.zip
.
Most parts of a software system do not work in isolation, but collaborate with other parts to get their job done. In a lot of cases, we do not care about using collaborators in unit testing, as we trust these collaborators. If we do care about it, Mock Objects help us to test the unit under test in isolation. Mock Objects replace collaborators of the unit under test.
The following examples use the interface Collaborator
:
package org.easymock.samples; public interface Collaborator { void documentAdded(String title); void documentChanged(String title); void documentRemoved(String title); byte voteForRemoval(String title); byte[] voteForRemovals(String[] title); }
Implementors of this interface are collaborators
(in this case listeners) of a class named ClassUnderTest
:
public class ClassUnderTest { // ... public void addListener(Collaborator listener) { // ... } public void addDocument(String title, byte[] document) { // ... } public boolean removeDocument(String title) { // ... } public boolean removeDocuments(String[] titles) { // ... } }
The code for both the class and the interface may be found
in the package
org.easymock.samples
in samples.zip
.
The following examples assume that you are familiar with the JUnit testing framework. Although the tests shown here use JUnit in version 3.8.1, you may as well use JUnit 4 or TestNG.
We will now build a test case and toy around with it to understand the
functionality of the EasyMock package. samples.zip
contains a modified version of this test. Our first test should check
whether the removal of a non-existing document does not lead to a notification
of the collaborator. Here is the test without the definition of the
Mock Object:
package org.easymock.samples; import junit.framework.TestCase; public class ExampleTest extends TestCase { private ClassUnderTest classUnderTest; private Collaborator mock; protected void setUp() { classUnderTest = new ClassUnderTest(); classUnderTest.addListener(mock); } public void testRemoveNonExistingDocument() { // This call should not lead to any notification // of the Mock Object: classUnderTest.removeDocument("Does not exist"); } }
For many tests using EasyMock 2,
we only need a static import of methods of org.easymock.EasyMock
.
This is the only non-internal, non-deprecated class of EasyMock 2.
import static org.easymock.EasyMock.*; import junit.framework.TestCase; public class ExampleTest extends TestCase { private ClassUnderTest classUnderTest; private Collaborator mock; }
To get a Mock Object, we need to
Here is a first example:
protected void setUp() { mock = createMock(Collaborator.class); // 1 classUnderTest = new ClassUnderTest(); classUnderTest.addListener(mock); } public void testRemoveNonExistingDocument() { // 2 (we do not expect anything) replay(mock); // 3 classUnderTest.removeDocument("Does not exist"); }
After activation in step 3, mock
is a Mock Object for the Collaborator
interface that expects no calls. This means that if we change
our ClassUnderTest
to call
any of the interface's methods, the Mock Object will throw
an AssertionError
:
java.lang.AssertionError: Unexpected method call documentRemoved("Does not exist"): at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:29) at org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:44) at $Proxy0.documentRemoved(Unknown Source) at org.easymock.samples.ClassUnderTest.notifyListenersDocumentRemoved(ClassUnderTest.java:74) at org.easymock.samples.ClassUnderTest.removeDocument(ClassUnderTest.java:33) at org.easymock.samples.ExampleTest.testRemoveNonExistingDocument(ExampleTest.java:24) ...
Let us write a second test. If a document
is added on the class under test, we expect a call to mock.documentAdded()
on the Mock Object with the title of the document as argument:
public void testAddDocument() { mock.documentAdded("New Document"); // 2 replay(mock); // 3 classUnderTest.addDocument("New Document", new byte[0]); }
So in the record state (before calling replay
),
the Mock Object does not behave like a Mock Object,
but it records method calls. After calling replay
,
it behaves like a Mock Object, checking whether the expected
method calls are really done.
If classUnderTest.addDocument("New Document", new byte[0])
calls the expected method with a wrong argument, the Mock Object will complain
with an AssertionError
:
java.lang.AssertionError: Unexpected method call documentAdded("Wrong title"): documentAdded("New Document"): expected: 1, actual: 0 at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:29) at org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:44) at $Proxy0.documentAdded(Unknown Source) at org.easymock.samples.ClassUnderTest.notifyListenersDocumentAdded(ClassUnderTest.java:61) at org.easymock.samples.ClassUnderTest.addDocument(ClassUnderTest.java:28) at org.easymock.samples.ExampleTest.testAddDocument(ExampleTest.java:30) ...
All missed expectations are shown, as well as all fulfilled expectations for the unexpected call (none in this case). If the method call is executed too often, the Mock Object complains, too:
java.lang.AssertionError: Unexpected method call documentAdded("New Document"): documentAdded("New Document"): expected: 1, actual: 2 at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:29) at org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:44) at $Proxy0.documentAdded(Unknown Source) at org.easymock.samples.ClassUnderTest.notifyListenersDocumentAdded(ClassUnderTest.java:62) at org.easymock.samples.ClassUnderTest.addDocument(ClassUnderTest.java:29) at org.easymock.samples.ExampleTest.testAddDocument(ExampleTest.java:30) ...
There is one error that we have not handled so far: If we specify
behavior, we would like to verify that it is actually used. The current
test would pass if no method on the Mock Object is called. To verify that the
specified behavior has been used, we have to call
verify(mock)
:
public void testAddDocument() { mock.documentAdded("New Document"); // 2 replay(mock); // 3 classUnderTest.addDocument("New Document", new byte[0]); verify(mock); }
If the method is not called on the Mock Object, we now get the following exception:
java.lang.AssertionError: Expectation failure on verify: documentAdded("New Document"): expected: 1, actual: 0 at org.easymock.internal.MocksControl.verify(MocksControl.java:70) at org.easymock.EasyMock.verify(EasyMock.java:536) at org.easymock.samples.ExampleTest.testAddDocument(ExampleTest.java:31) ...
The message of the exception lists all missed expectations.
Up to now, our test has only considered a single method call. The next
test should check whether the addition of an already existing
document leads to a call to mock.documentChanged()
with the appropriate argument. To be sure, we check this three
times (hey, it is an example ;-)):
public void testAddAndChangeDocument() { mock.documentAdded("Document"); mock.documentChanged("Document"); mock.documentChanged("Document"); mock.documentChanged("Document"); replay(mock); classUnderTest.addDocument("Document", new byte[0]); classUnderTest.addDocument("Document", new byte[0]); classUnderTest.addDocument("Document", new byte[0]); classUnderTest.addDocument("Document", new byte[0]); verify(mock); }
To avoid the repetition of mock.documentChanged("Document")
,
EasyMock provides a shortcut. We may specify the call count with the method
times(int times)
on the object returned by
expectLastCall()
. The code then looks like:
public void testAddAndChangeDocument() { mock.documentAdded("Document"); mock.documentChanged("Document"); expectLastCall().times(3); replay(mock); classUnderTest.addDocument("Document", new byte[0]); classUnderTest.addDocument("Document", new byte[0]); classUnderTest.addDocument("Document", new byte[0]); classUnderTest.addDocument("Document", new byte[0]); verify(mock); }
If the method is called too often, we get an exception that tells us that the method has been called too many times. The failure occurs immediately at the first method call exceeding the limit:
java.lang.AssertionError: Unexpected method call documentChanged("Document"): documentChanged("Document"): expected: 3, actual: 4 at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:29) at org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:44) at $Proxy0.documentChanged(Unknown Source) at org.easymock.samples.ClassUnderTest.notifyListenersDocumentChanged(ClassUnderTest.java:67) at org.easymock.samples.ClassUnderTest.addDocument(ClassUnderTest.java:26) at org.easymock.samples.ExampleTest.testAddAndChangeDocument(ExampleTest.java:43) ...
If there are too few calls, verify(mock)
throws an AssertionError
:
java.lang.AssertionError: Expectation failure on verify: documentChanged("Document"): expected: 3, actual: 2 at org.easymock.internal.MocksControl.verify(MocksControl.java:70) at org.easymock.EasyMock.verify(EasyMock.java:536) at org.easymock.samples.ExampleTest.testAddAndChangeDocument(ExampleTest.java:43) ...
For specifying return values,
we wrap the expected call in expect(T value)
and specify the return value
with the method andReturn(Object returnValue)
on the object returned by
expect(T value)
.
As an example, we check the workflow for document
removal. If ClassUnderTest
gets a call for document
removal, it asks all collaborators for their vote for removal
with calls to byte voteForRemoval(String title)
value.
Positive return values are a vote for
removal. If the sum of all values is positive, the document is removed
and documentRemoved(String title)
is called on
all collaborators:
public void testVoteForRemoval() { mock.documentAdded("Document"); // expect document addition // expect to be asked to vote for document removal, and vote for it expect(mock.voteForRemoval("Document")).andReturn((byte) 42); mock.documentRemoved("Document"); // expect document removal replay(mock); classUnderTest.addDocument("Document", new byte[0]); assertTrue(classUnderTest.removeDocument("Document")); verify(mock); } public void testVoteAgainstRemoval() { mock.documentAdded("Document"); // expect document addition // expect to be asked to vote for document removal, and vote against it expect(mock.voteForRemoval("Document")).andReturn((byte) -42); replay(mock); classUnderTest.addDocument("Document", new byte[0]); assertFalse(classUnderTest.removeDocument("Document")); verify(mock); }
The type of the returned value is checked at compile time. As an example, the following code will not compile, as the type of the provided return value does not match the method's return value:
expect(mock.voteForRemoval("Document")).andReturn("wrong type");
Instead of calling expect(T value)
to retrieve the object for setting the return value,
we may also use the object returned by expectLastCall()
.
Instead of
expect(mock.voteForRemoval("Document")).andReturn((byte) 42);
we may use
mock.voteForRemoval("Document"); expectLastCall().andReturn((byte) 42);
This type of specification should only be used if the line gets too long, as it does not support type checking at compile time.
For specifying exceptions (more exactly: Throwables) to be thrown, the object returned by
expectLastCall()
and expect(T value)
provides the method
andThrow(Throwable throwable)
.
The method has to be called in record state after the call to the Mock Object for
which it specifies the Throwable
to be thrown.
Unchecked exceptions (that is, RuntimeException
, Error
and all their subclasses) can be thrown from every method. Checked exceptions can only be
thrown from the methods that do actually throw them.
Sometimes we would like our mock object to return a value or throw an exception
that is created at the time of the actual call. Since EasyMock 2.2, the object returned by
expectLastCall()
and expect(T value)
provides the method
andAnswer(IAnswer answer)
which allows to specify an implementation of the
interface IAnswer
that is used to create the return value or exception.
Inside an IAnswer
callback, the arguments passed to the mock call
are available via EasyMock.getCurrentArguments()
.
If you use these, refactorings like reordering parameters may break your tests.
You have been warned.
An alternative to IAnswer
are the andDelegateTo
and
andStubsDelegateTo
methods. They allow to delegate the call to a
concrete implementation of the mocked interface that will then provide the answer.
The pros are that the arguments found in EasyMock.getCurrentArguments()
for IAnswer
are now passed to the method of the concrete implementation.
This is refactoring safe. The cons are that you have to provide an implementation
which is kind of doing a mock manually... Which is what you try to avoid by
using EasyMock. It can also be painful if the interface has many methods. Finally,
the type of the concrete class can't be checked statically against the mock type.
If for some reason, the concrete class isn't implementing the method that is
delegated, you will get an exception during the replay only. However, this
case should be quite rare.
To understand correctly the two options, here is an example:
List<String> l = createMock(List.class); // andAnswer style expect(l.remove(10)).andAnswer(new IAnswer<String>() { public String answer() throws Throwable { return getCurrentArguments()[0].toString(); } }); // andDelegateTo style expect(l.remove(10)).andDelegateTo(new ArrayList<String>() { @Override public String remove(int index) { return Integer.toString(index); } });
It is also possible to specify a changing behavior for a method.
The methods times
, andReturn
, and andThrow
may be chained. As an example, we define voteForRemoval("Document")
to
RuntimeException
for the next four calls,
expect(mock.voteForRemoval("Document")) .andReturn((byte) 42).times(3) .andThrow(new RuntimeException(), 4) .andReturn((byte) -42);
To relax the expected call counts, there are additional methods
that may be used instead of times(int count)
:
times(int min, int max)
min
and max
calls,atLeastOnce()
anyTimes()
If no call count is specified, one call is expected. If we would like to state this
explicitely, once()
or times(1)
may be used.
On a Mock Object returned by a EasyMock.createMock()
,
the order of method calls is not checked.
If you would like a strict Mock Object that checks the order of method calls,
use EasyMock.createStrictMock()
to create it.
If an unexpected method is called on a strict Mock Object,
the message of the exception will show the method calls
expected at this point followed by the first conflicting one.
verify(mock)
shows all missing method calls.
Sometimes, it is necessary to have a Mock Object that checks the order of only some calls.
In record phase, you may switch order checking on by calling checkOrder(mock, true)
and switch it off by calling checkOrder(mock, false)
.
There are two differences between a strict Mock Object and a normal Mock Object:
To match an actual method call on the Mock Object with an
expectation, Object
arguments are by default compared with
equals()
. This may lead to problems. As an example,
we consider the following expectation:
String[] documents = new String[] { "Document 1", "Document 2" }; expect(mock.voteForRemovals(documents)).andReturn(42);
If the method is called with another array with the same contents,
we get an exception, as equals()
compares object
identity for arrays:
java.lang.AssertionError: Unexpected method call voteForRemovals([Ljava.lang.String;@9a029e): voteForRemovals([Ljava.lang.String;@2db19d): expected: 1, actual: 0 documentRemoved("Document 1"): expected: 1, actual: 0 documentRemoved("Document 2"): expected: 1, actual: 0 at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:29) at org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:44) at $Proxy0.voteForRemovals(Unknown Source) at org.easymock.samples.ClassUnderTest.listenersAllowRemovals(ClassUnderTest.java:88) at org.easymock.samples.ClassUnderTest.removeDocuments(ClassUnderTest.java:48) at org.easymock.samples.ExampleTest.testVoteForRemovals(ExampleTest.java:83) ...
To specify that only array equality is needed for this call, we may use the method
aryEq
that is statically imported from the EasyMock
class:
String[] documents = new String[] { "Document 1", "Document 2" }; expect(mock.voteForRemovals(aryEq(documents))).andReturn(42);
If you would like to use matchers in a call, you have to specify matchers for all arguments of the method call.
There are a couple of predefined argument matchers available.
eq(X value)
anyBoolean()
, anyByte()
, anyChar()
, anyDouble()
, anyFloat()
, anyInt()
, anyLong()
, anyObject()
, anyShort()
eq(X value, X delta)
float
and double
.aryEq(X value)
Arrays.equals()
. Available for primitive and object arrays.isNull()
notNull()
same(X value)
isA(Class clazz)
lt(X value)
, leq(X value)
, geq(X value)
, gt(X value)
Comparable
.startsWith(String prefix), contains(String substring), endsWith(String suffix)
String
s.matches(String regex), find(String regex)
String
s.and(X first, X second)
first
and second
both match. Available for all primitive types and for objects.or(X first, X second)
first
and second
match. Available for all primitive types and for objects.not(X value)
value
does not match.cmpEq(X value)
Comparable.compareTo(X o)
. Available for all numeric primitive types and Comparable
.cmp(X value, Comparator<X> comparator, LogicalOperator operator)
comparator.compare(actual, value) operator 0
where the operator is <,<=,>,>= or ==. Available for objects.capture(Capture<T> capture)
Capture
parameter for later access. You can do and(someMatcher(...), capture(c))
to
capture a parameter from a specific call to the method. You can also specify a CaptureType
telling that a given Capture
should keep
the first, the last, all or no captured values.Sometimes it is desirable to define own argument matchers. Let's say that an argument matcher is needed that matches an exception if the given exception has the same type and an equal message. It should be used this way:
IllegalStateException e = new IllegalStateException("Operation not allowed.") expect(mock.logThrowable(eqException(e))).andReturn(true);
Two steps are necessary to achieve this: The new argument matcher has to be defined,
and the static method eqException
has to be declared.
To define the new argument matcher, we implement the interface org.easymock.IArgumentMatcher
.
This interface contains two methods: matches(Object actual)
checks whether the actual argument
matches the given argument, and appendTo(StringBuffer buffer)
appends a string representation
of the argument matcher to the given string buffer. The implementation is straightforward:
import org.easymock.IArgumentMatcher; public class ThrowableEquals implements IArgumentMatcher { private Throwable expected; public ThrowableEquals(Throwable expected) { this.expected = expected; } public boolean matches(Object actual) { if (!(actual instanceof Throwable)) { return false; } String actualMessage = ((Throwable) actual).getMessage(); return expected.getClass().equals(actual.getClass()) && expected.getMessage().equals(actualMessage); } public void appendTo(StringBuffer buffer) { buffer.append("eqException("); buffer.append(expected.getClass().getName()); buffer.append(" with message \""); buffer.append(expected.getMessage()); buffer.append("\"")"); } }
The method eqException
must create the argument matcher with the given Throwable,
report it to EasyMock via the static method reportMatcher(IArgumentMatcher matcher)
,
and return a value so that it may be used inside the call
(typically 0
, null
or false
). A first attempt may look like:
public static Throwable eqException(Throwable in) { EasyMock.reportMatcher(new ThrowableEquals(in)); return null; }
However, this only works if the method logThrowable
in the example usage accepts
Throwable
s, and does not require something more specific like a RuntimeException
.
In the latter case, our code sample would not compile:
IllegalStateException e = new IllegalStateException("Operation not allowed.") expect(mock.logThrowable(eqException(e))).andReturn(true);
Java 5.0 to the rescue: Instead of defining eqException
with a Throwable
as
parameter and return value, we use a generic type that extends Throwable
:
public static <T extends Throwable> T eqException(T in) { reportMatcher(new ThrowableEquals(in)); return null; }
Mock Objects may be reset by reset(mock)
.
If needed, a mock can also be converted from one type to another by calling resetToNice(mock)
,
resetToDefault(mock)
ou resetToStrict(mock)
.
Sometimes, we would like our Mock Object to respond to some method calls, but we do not want to
check how often they are called, when they are called, or even if they are called at all.
This stub behavoir may be defined by using the methods andStubReturn(Object value)
,
andStubThrow(Throwable throwable)
, andStubAnswer(IAnswer<Tgt; answer)
and asStub()
. The following code
configures the MockObject to answer 42 to voteForRemoval("Document")
once
and -1 for all other arguments:
expect(mock.voteForRemoval("Document")).andReturn(42); expect(mock.voteForRemoval(not(eq("Document")))).andStubReturn(-1);
On a Mock Object returned by createMock()
the default behavior for all methods is to throw an
AssertionError
for all unexpected method calls.
If you would like a "nice" Mock Object that by default allows all method calls and returns
appropriate empty values (0
, null
or false
), use createNiceMock()
instead.
The behavior for the three object methods equals()
,
hashCode()
and toString()
cannot be changed for Mock Objects created with EasyMock,
even if they are part of the interface for which the
Mock Object is created.
Up to this point, we have seen a mock object as a single object that is configured by static methods
on the class EasyMock
. But many of these static methods just identify the hidden control of the Mock Object
and delegate to it. A Mock Control is an object implementing the IMocksControl
interface.
So instead of
IMyInterface mock = createStrictMock(IMyInterface.class); replay(mock); verify(mock); reset(mock);
we may use the equivalent code:
IMocksControl ctrl = createStrictControl(); IMyInterface mock = ctrl.createMock(IMyInterface.class); ctrl.replay(); ctrl.verify(); ctrl.reset();
The IMocksControl allows to create more than one Mock Object, and so it is possible to check the order of method calls
between mocks. As an example, we set up two mock objects for the interface IMyInterface
, and we expect the calls
mock1.a()
and mock2.a()
ordered, then an open number of calls to mock1.c()
and mock2.c()
, and finally mock2.b()
and mock1.b()
, in this order:
IMocksControl ctrl = createStrictControl(); IMyInterface mock1 = ctrl.createMock(IMyInterface.class); IMyInterface mock2 = ctrl.createMock(IMyInterface.class); mock1.a(); mock2.a(); ctrl.checkOrder(false); mock1.c(); expectLastCall().anyTimes(); mock2.c(); expectLastCall().anyTimes(); ctrl.checkOrder(true); mock2.b(); mock1.b(); ctrl.replay();
Mock Objects can be named at creation using
createMock(String name, Class<T> toMock)
,
createStrictMock(String name, Class<T> toMock)
or
createNiceMock(String name, Class<T> toMock)
.
The names will be shown in exception failures.
Mocks can be serialized at any time during their life. However, there are some obvious contraints:
During recording, a mock is not thread-safe. So a giving mock (or mocks linked to the same MockControl
)
can only be recorded from a single thread. However, different mocks can be recorded simultaneously in different threads.
During the replay phase, mocks are by default thread-safe. This can be change for a given mock if makeThreadSafe(mock, false)
is called during the recording phase. This can prevent deadlocks in some rare situations.
Finally, calling checkIsUsedInOneThread(mock, true)
on a mock will make sure the mock is used in only one thread and
throw an exception otherwise. This can be handy to make sure a thread-unsafe mocked object is used correctly.
EasyMockSupport
is a class that meant to be used as a helper or base class to your test cases. It will automatically registers all
created mocks (or in fact all created controls) and to replay, reset or verify them in batch instead of explicitly. Here's a JUnit example:
public class SupportTest extends EasyMockSupport { private Collaborator firstCollaborator; private Collaborator secondCollaborator; private ClassTested classUnderTest; @Before public void setup() { classUnderTest = new ClassTested(); } @Test public void addDocument() { // creation phase firstCollaborator = createMock(Collaborator.class); secondCollaborator = createMock(Collaborator.class); classUnderTest.addListener(firstCollaborator); classUnderTest.addListener(secondCollaborator); // recording phase firstCollaborator.documentAdded("New Document"); secondCollaborator.documentAdded("New Document"); replayAll(); // test classUnderTest.addDocument("New Document", new byte[0]); verifyAll(); } }
EasyMock provides a property mecanisim allowing to alter its behavior. It mainly aims at allowing to use a legacy behavior on a new version. Currently supported properties are:
easymock.notThreadSafeByDefault
easymock.enableThreadSafetyCheckByDefault
Properties can be set in three ways. Each step in the list can overwrite previous ones.
easymock.properties
file set in the classpath default package
EasyMock.setEasyMockProperty
. Constants are available
in the EasyMock
class
EasyMock 2 contains a compatibility layer so that tests using EasyMock 1.2 for Java 1.5
should work without any modification. The only known differences are visible when
failures occur: there are small changes in the failure messages and stack traces,
and failures are now reported using Java's AssertionError
instead of
JUnit's AssertionFailedError
.
EasyMock 2.1 introduced a callback feature that has been removed in EasyMock 2.2,
as it was too complex. Since EasyMock 2.2, the IAnswer
interface
provides the functionality for callbacks.
EasyMock jar can be used as an OSGi bundle. It exports org.easymock
,
org.easymock.internal
and org.easymock.internal.matchers
packages. However, to import the two latter, you need to specify the poweruser
attribute at true (poweruser=true
). These packages are meant to be
used to extend EasyMock so they usually don't need to be imported.
EasyMock 1.0 has been developed by Tammo Freese at OFFIS. It is maintained by Henri Tremblay since 2007. The development of EasyMock is hosted on SourceForge to allow other developers and companies to contribute.
Thanks to the people who gave feedback or provided patches, including Nascif Abousalh-Neto, Dave Astels, Francois Beausoleil, George Dinwiddie, Shane Duan, Wolfgang Frech, Steve Freeman, Oren Gross, John D. Heintz, Dale King, Brian Knorr, Dierk Koenig, Chris Kreussling, Robert Leftwich, Patrick Lightbody, Johannes Link, Rex Madden, David McIntosh, Karsten Menne, Bill Michell, Stephan Mikaty, Ivan Moore, Ilja Preuss, Justin Sampson, Markus Schmidlin, Richard Scott, Joel Shellman, Jiří Mareš, Alexandre de Pellegrin Shaun Smith, Marco Struck, Ralf Stuckert, Victor Szathmary, Bill Uetrecht, Frank Westphal, Chad Woolley, Bernd Worsch, and numerous others.
Please check the EasyMock home page for new versions, and send bug reports and suggestions to the EasyMock Yahoo!Group. If you would like to subscribe to the EasyMock Yahoo!Group, send a message to<EMAIL_ADDRESS>New in version 2.5.2:
New in version 2.5.1:
New in version 2.5:
easymock.notThreadSafeByDefault
and easymock.enableThreadSafetyCheckByDefault
properties provide backward compatibility (2169027)
fillInStackTrace
when exception thrown by IAnswer or a delegated answer to help debugging tests (2771518)
New in version 2.4:
New in version 2.3:
New in version 2.2:
andAnswer(IAnswer answer)
and andStubAnswer(IAnswer answer)
callback(Runnable runnable)
has been removed, for callbacks, please
switch to
andAnswer(IAnswer answer)
and andStubAnswer(IAnswer answer)
replay()
, verify()
and reset()
now accept
multiple mock objects as arguments
New in version 2.1:
EasyMock.getCurrentArguments()
New in version 2.0:
java.lang.AssertionError
instead of junit.framework.AssertionFailedError
so that it is now independent from the testing framework, you may use it with JUnit 3.8.x, JUnit 4 and TestNG


|
TicTacToe
|
Namespaces | |
| namespace | IA |
| namespace | IO |
Classes | |
| class | BetweenSceneData |
| Data between scenes More... | |
| class | Bootstrap |
| Bootstrap. Starts the application More... | |
| class | Cpu |
| CPU class. Handles how IA is playing the game. More... | |
| class | GameData |
| Game data of history or current game save state More... | |
| class | GameHistory |
| History of game plays More... | |
| class | GameManager |
| Game manager More... | |
| class | GameSnapshot |
| Snapshot of a play More... | |
| class | GridSlot |
| Slot of the tic tac toe grid. More... | |
| class | HistoryEntry |
| History entry More... | |
| class | HistoryScreen |
| History screen More... | |
| class | Hud |
| Human user display More... | |
| class | KeepAlive |
| Keep gameObject alive between scenes More... | |
| class | ListExtensions |
| Extensions for List More... | |
| class | MainMenu |
| Main menu of the game More... | |
| class | MusicManager |
| Music manager More... | |
| class | OptionsScreen |
| Options screen More... | |
| class | PostProcessSetup |
| Post processing setup More... | |
| class | PseudoPanel |
| Pseudo panel. Ask a pseudo to the player. More... | |
| class | Symbol |
| Symbol that you can put on a slot. More... | |
| class | TicTacToeGrid |
| Tic Tac Toe grid More... | |
| class | UnitySingleton |
| Unity singleton template More... | |
Enumerations | |
| enum | PlayerType { PlayerType.Human, PlayerType.Cpu } |
| Different kinds of player More... | |
| enum | WinnerType { WinnerType.Human, WinnerType.Cpu, WinnerType.Draw } |
| Winner type (human, cpu, draw) More... | |
|
strong |
|
strong |


This is not a real banking service. Use for testing purposes only. No money will be moved.
Add a new recipient
Pay a person
Name of recipient:
Sort code:
-
-
Account number:
Reference:
Optional
(e.g. Air tickets)
Amount:
(e.g. £12.99 or £2000)
£
Date
As soon as possible
Leave my account on
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
January
February
March
April
May
June
July
August
September
October
November
December
2015
2016
2017
2018
2019
2020
(up to 31 days from now)
Want to make a regular payment?
> Set up a standing order
Continue


template<typename T>
static std::vector<typename I>
gen_datetime_index(const char *start_datetime, const char *end_datetime, time_frequency t_freq, long increment = 1, DT_TIME_ZONE tz = DT_TIME_ZONE::LOCAL);
|
This static method generates a date/time-based index vector that could be fed
directly to one of the load methods. Depending on the specified frequency,
it generates specific timestamps (see below).
It returns a vector of I timestamps.
Currently I could be any built-in numeric type or DateTime
NOTE: It is the responsibility of the programmer to make sure I type
is big enough to contain the frequency.
|
start_datetime, end_datetime: They are the start/end date/times of requested timestamps.
They must be in the following format:
MM/DD/YYYY [HH[:MM[:SS[.MMM]]]]
t_freq: Specifies the timestamp frequency. Depending on the frequency,
and I type specific timestamps are generated as follows:
- I type of DateTime always generates timestamps of DateTime.
- Annual, monthly, weekly, and daily frequencies generates YYYYMMDD timestamps.
- Hourly, minutely, and secondly frequencies generates epoch timestamps (64 bit).
- Millisecondly frequency generates nano-second since epoch timestamps (128 bit).
increment: Increment in the units of the frequency
tz: Time-zone of generated timestamps
|


Delinzima Objectives
Our Mission
We are commited to providing the highest quality services available by exceeding the expectations of our clients, as well as their employees, patients, students, and other visitors to their premises or facilities.
Our Vision
We are constantly working to establish ourselves as the most respected, reliable and sought after contract cleaning and facilities support service in South Africa. We seek to build a partnership philosophy based on solid and trusting relationships with our key stakeholders.
Our Values
•
- Respet: Respect shall always be used as a guideline to success. Respecting one another creates a good working relationship and condition.
- Responsibility: acting with integrity towards our staff, customers, patients and the enviroment
- Caring:a duty of care for our staff, customers, patients and the environment
- Excellence:To always look to provide the best quality experience with regards to our cleaning, construction, pottering services and our customer service.
- Integrity: to act with honesty, openness and do what we say we will do
- Innovation: to be industry leaders.
Welcome To Our Legacy
Read MoreService
WHAT TYPES OF CLEANING SERVICES WE OFFER
Support
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Well Documented
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Design UI/UX
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Web Security
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
FEATURED PROJECTS
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-
Wall street
Lorem Ipsum is simply dummy text of the printing and typesetting ndustry.
-
Wall street
Lorem Ipsum is simply dummy text of the printing and typesetting ndustry.
-
Wall street
Lorem Ipsum is simply dummy text of the printing and typesetting ndustry.
-
Wall street
Lorem Ipsum is simply dummy text of the printing and typesetting ndustry.
-
Wall street
Lorem Ipsum is simply dummy text of the printing and typesetting ndustry.
-
Wall street
Lorem Ipsum is simply dummy text of the printing and typesetting ndustry.
Price
Our price for your company
month
- General Cleaning
- Industrial Cleaning Service
- Customised Industrial Cleaning Service
- Hygiene Services
- see more
month
- Our After Construction Specialised Cleaning
- After Major Construction or minor renovations
- Ceiling & Walls
- Cupboards
- see more
month
- Our porters daily tasks can include:
- Giving meals to patients
- Moving hospital furniture and electrical equipment
- Transportint clinical waste and dangerous materials
- see more
Contact
Leave a Message
Contact Us
DELANZIMA LEGACY.FLAT 131, KENTON FLATS Dr Pixley Kaseme Durban, 4001
Phone:<PHONE_NUMBER>9
<EMAIL_ADDRESS>FOLLOW US
Beautifully simple follow buttons to help you get followers on


#JavaScript
30
A 30 day JavaScript challenge by
@wesbos
.
Drum-Kit
CSS-Clock
CSS-Variables
Array-Cardio
Flex-Gallery
Type-Ahead


AR in Education Field
on Oct 04 2020
Objective : As we all belong to IT streams we know that most of the concepts are virtual its not easy for a newcomer to adopt and understand those concept right away thats why we proposed a augmented reality system to overcome those limitations of traditional systems and teach in a fun and efficient way
Solution: Our system was a augmented reality based app where students can interact and learn about the subject by photorealistic 3D models and augmented reality projections right on their books
Also there were test series included as a performance metrics in the app itself


Chemical Reaction Dynamics as a Model for Technology Platform Competition
In various corporate meeting rooms at Samsung, Microsoft, HP, RIM and Google eager teams of engineers, marketing folks and freshly minted MBAs are trying to figure out the magic formula which will deliver a product to compete with Apple’s iPad. Hopefully they were all paying attention in high-school because the first steps to understanding the dynamics of this type of platform competition were almost certainly covered in chemistry class.
It turns out that the field of chemical reaction dynamics provides a rather neat model which explains why Apple’s competitors are finding it so hard to gain traction against the iPad. Indeed this abstract model is generally applicable to all situations where an existing product is being challenged by new entrants.
Chemical Reaction Dynamics
The progress of many chemical reactions can be illustrated by a potential energy diagram such as the one shown below.
In chemistry terms X&Y represent states of equilibrium. X is the starting point and Y is the end of a chemical reaction pathway. The interesting part of this model is the peak in the middle which can be viewed as an “Activation Barrier” which needs to be overcome to move from one state to the next i. e for the chemical reaction to proceed. The height of this barrier defines the amount of “Activation Energy” required to initiate the chemical reaction.
A common example would be the striking of a match. The un-struck match sitting in its matchbox is represented by state X in the diagram. However, when you draw a - non-safety - match across a rough surface the heat from friction provides enough activation energy to initiate the chemical combustion of the phosphorous in the match head. Resulting in a transition from state X - un-combusted phosphorous - to state Y: the burnt match and the by-products of phosphorus combustion.
The model also illustrates the role of catalysts in promoting chemical reactions. Catalysts act to reduce the amount of “Activation Energy” required for the reaction to proceed i.e. they lower the “Activation Barrier”. How they do this is irrelevant for this discussion but the concept and role of a “Catalyst” is critical to the model when applied to the economics of platform competition as will be shown below.
Applying The Model to The Economics of Platform Competition
The chemical reaction dynamics model can be applied to the economics of platform competition. In this case state X represents the iPads current dominant position in the market for tablet devices. State Y represents a future market state that could take many forms. State Y might represent and situation where the market has both grown in size but where Apple’s competitors have also established defensible and sustainable positions. Another state Y’ might see the iPad being overthrown completely and some other vendor’s product establishing its own dominant position. In yet another state Y’’ tablets themselves may - as some have predicted - become irrelevant with consumers preferring a different form factor or device configuration altogether.
Each of the potential future states of the market for tablets requires a transition from state X - the reality of today - to some future state Y. What is clear is that in each case the “Activation Energy” required to initiate each of the transitions outlined above would be different. The transition from X->Y will require less “Activation Energy” than a transition from X->Y’ or even X->Y’’. In chemistry the height of the “Activation Barrier” is determined by a a few well defined factors; most notably the strength of the chemical bonds which need to be broken in order for the reaction to proceed.
When applying the model to the economics of platform competition there are a more complex series of factors which affect the height of this potential barrier. Incumbents who are trying to maintain the current state must act to increase the size of the “Activation Barrier” i.e. to ensure that competitors must expend more “Energy” - marketing, R&D, sales effort etc. — to climb accomplish their goals. Competitors on the other hand must be able to provide the “Activation Energy” required to overcome the incumbents established position. Alternatively - and most importantly - competitors must try to find a “Catalyst” which dramatically lowers the “Activation Barrier” and provides the opportunity for a state transition to take place.
A Real World Example: The Tech World vs. Apple
Applying the model specifically to the iPad scenario the various factors at play to both maintain - or increase the “Activation Barrier” or to lower it can be summarized as follows.
Incumbent: Apple - Raising “Activation Barrier”
- Delivering Ease of use
- Touch technology*
- Consistent quality of end-user experience*
- Integrated end-to-end services (iTunes)
- Depth and breadth of application ecosystem
- Seamless integration with iCloud
- Retail experience
- Purchasing preference inertia
Competitors: Samsung, HP, Microsoft, Google, RIM - Overcoming the “Activation Barrier”
- Investing in broad-reach marketing (Samsung)
- Multi-channel distribution (All)
- User device choice and multi-OEM distribution (Microsoft)
- Operating System Innovation (HP & Microsoft & RIM)
- Enhanced usability - User Interface Innovation (Microsoft & HP)
- Free (Google)*
- Open Ecosystem (Google)*
- “Catalytic”
For Apple the set of actions embodied in items 1-6 above have placed them in an enviable - and dominant - market position. The combined effect of these actions together with this market position lead to item 7 on the list - purchasing preference inertia. Word of mouth and customer satisfaction make the iPad the device to buy.  Its is perhaps this factor that has the greatest long-term influence on the height of the “Activation Barrier” surrounding Apple’s iPad.
As mentioned above, catalysts play a critical role in promoting many important chemical reactions. The same is true in the economics of platform competition. The iPad is a derivative of the original iPhone and that device overcame an established market state to achieve its current position. Before the launch of iPhone, Apple was playing the role of competitor trying to find ways to lower the “Activation Barrier” raised by Nokia, RIM, and Microsoft in the smartphone market. For Apple, new “Touch Screen” technology combined with an integrated end-user experience was the “Catalyst” which effectively lowered the “Activation Barrier” maintained by these incumbents. The obvious effectiveness of that “Catalyst” is seen in Apple’s market position today. Apple competitors must now find a new “Catalyst” which will enable them to accomplish the same feat.
From the list of competitor actions outlined above very few of them are likely to be “Catalytic”. The one exception is Google’s decision to use an open development model for its Android operating system and then to make that free to the mobile device OEMs and carriers. “Free” and “Open” are well established “Catalysts” that have proven effective in reducing the “Activation Barrier” across sectors of the technology market. The only problem with this approach is then being able to build a sustainable “Equilibrium” business model once the transition from one market state to the other has taken place. In Google’s situation they are able to do this because the “Free” offer is underwritten by their very profitable digital advertising business. Clearly not all of Apple’s competitors can afford to implement that strategy.
Implications for Microsoft’s Tablet and Smartphone Strategies
Its is difficult to imagine that any of the other items in the list of competitor actions (1-5) can be seen as “Catalytic”. Microsoft is clearly hoping that items 4 & 5 will act as “Catalysts”. However, the lack of market traction for Windows Phone 7 and its new “Metro” user interface - and underlying operating system - has clearly not had a “Catalytic” effect in the smartphone market. For this reason it is difficult to see why the result will be any different when the company introduces its tablet optimized version of Windows 8 along with its brand new touch interface.
The market has already been pretty clear that shiny new interfaces are not enough - on their own - to overcome the “Activation Barrier” Apple has erected around the iPad and iPhone. Of course the combined effect of items 1-5 when implemented and supported by Microsoft’s vast resources will almost certainly help it establish a defensible position for Windows 8 tablets. The Windows franchise is one of the three money making engines for the company so Microsoft can afford to put a lot more “Energy” into overcoming any obstacles in its way. However, without a “Catalyst” it is hard to see how Microsoft will achieve the level competitive success it is clearly hoping for. Microsoft should be focused on finding that “Catalyst”
One common category of “Catalyst” is a step change - or breakthrough - in some core technology. As outlined above Apple leveraged the recent availability of “Capacitive Touch” technology to “Catalyze” the success of the iPhone, iPod Touch and then iPad. In the same market Nokia used the change from analog to digital mobile communications as a “Catalyst” and was highly effective at reducing the “Activation Barrier” around companies like Motorola and Ericsson.
Microsoft already has a highly “Catalytic” technology breakthrough in its hands. The introduction of Kinect for XBox - which enables gesture based remote interaction with games - has revolutionized the gaming market. Kinect quickly became one of the fastest and best selling pieces of technology of all time. Bringing Kinect to the PC would render current touch technology redundant very quickly. If Microsoft integrates Kinect technology as a standard platform feature of Windows 8 PCs and tablets then they may very well have found the “Catalyst” needed to overcome iPads dominant and seemingly insurmountable “Activation Barrier”.


Im curious, easily 1500BTC worth i think
CryptoNinjaa17-Oct-18 11:20 AM
Its alot to want to Hodl tho isnt it. I mean even if oyu are loaded and want to speculate why so much? surley they realise upon Kmd going to the moon how they gonna get out?
hyperDEX17-Oct-18 11:21 AM
If it moons they can easily get out
If it doesnt moon that is another issue
Yassin17-Oct-18 11:21 AM
@hyperDEX i am lazy!!
hyperDEX17-Oct-18 11:21 AM
I know Yassin i know haha
1
CryptoNinjaa17-Oct-18 11:22 AM
i understand that but lets say we moon and the volume isnt there at $100 kmd what he do then ?
hyperDEX17-Oct-18 11:23 AM
They have 7.2M already, Add another 900k, 8,1 maybe they want 10
@CryptoNinjaa Who says he needs $100
snowdamn17-Oct-18 11:23 AM
my numbers were off
hyperDEX17-Oct-18 11:23 AM
He might want $20
snowdamn17-Oct-18 11:23 AM
it's better
hyperDEX17-Oct-18 11:24 AM
10M = 500k a year in rewards
snowdamn17-Oct-18 11:24 AM
1M KMD will be making $1M a year just off the 5% @ $20
hyperDEX17-Oct-18 11:24 AM
But he doesnt seem to care about rewards, he hasnt claimed any
jorian17-Oct-18 11:24 AM
what do you need with even more money when you already have so much
Yassin17-Oct-18 11:24 AM
capital venture?
hyperDEX17-Oct-18 11:24 AM
@jorian more money
jorian17-Oct-18 11:25 AM
hyperDEX17-Oct-18 11:25 AM
@Yassin VC fund taking a chunk may explain it
But they would be claiming the reward i recon
Yassin17-Oct-18 11:26 AM
true
CryptoNinjaa17-Oct-18 11:26 AM
@hyperDEX I hope he needs more than $100 tbh or we gonna struggle getting us minows loaded
Yassin17-Oct-18 11:26 AM
wait december
hyperDEX17-Oct-18 11:28 AM
@CryptoNinjaa HAHA true, i need at least $10 to be able to see my inlaws....they are in deep doodoo right now haha
CryptoNinjaa17-Oct-18 11:29 AM
im sorta here waiting on eth level prices
snowdamn17-Oct-18 11:29 AM
i can't get enough of the $100 posts
keep posting, please!
CryptoNinjaa17-Oct-18 11:29 AM
i can wait tho, if it takes a while i dont mind lambo will = badass mobillity scooter instead
@snowdamn just for you - kmd will be $1500 on xxx date 20xx
2
2
2
hyperDEX17-Oct-18 11:32 AM
If it gets to $50 i will buy hollowman a 2nd hand ford shitbox
CryptoNinjaa17-Oct-18 11:33 AM
Thats about 1 kmd then
Cryptoon17-Oct-18 11:33 AM
The fact that they dont claim, makes me think 50% chance its binance
"How you guys feels about somebody owning 10%"
if it's a fund, i feel very comfortable
if it's one entity for 5% HODL, i feel comfortable
if it's speculative ,
hyperDEX17-Oct-18 11:39 AM
I feel excited.....because they want to make money
Who would buy 1500-2000 worth of a coin to lose money...
People are selling into the 20k wall, will see what happens now
Yassin17-Oct-18 11:41 AM
not count me for sell for this whale
Hold!!
hyperDEX17-Oct-18 11:41 AM
i lost all mine.....
in a boating accident
Yassin17-Oct-18 11:41 AM
snowdamn17-Oct-18 11:41 AM
wait, lost what?
hyperDEX17-Oct-18 11:43 AM
My ledger
with all the coins in it
Yassin17-Oct-18 11:43 AM
hoooo!!!
snowdamn17-Oct-18 11:44 AM
Yassin17-Oct-18 11:44 AM
but you have 24 word?
hyperDEX17-Oct-18 11:44 AM
It is a joke lol
Yassin17-Oct-18 11:44 AM
hahahahaha
very suspect lol
1
snowdamn17-Oct-18 11:45 AM
2
hyperDEX17-Oct-18 11:45 AM
People that buy gold and silver always have boating accidents when asked LOL


We were unable to log you in to your account.
Thank you for signing into the Innovation Funding Service.
Please choose the role you are signing in as today
Continue


@Suspendable protected abstract fun checkTransaction(stx: SignedTransaction): Unit
The checkTransaction method allows the caller of this flow to provide some additional checks over the proposed transaction received from the counterparty. For example:
WARNING: If appropriate checks, such as the ones listed above, are not defined then it is likely that your node will sign any transaction if it conforms to the contract code in the transaction's referenced contracts.
IllegalArgumentException, IllegalStateException and AssertionError will be caught and rethrown as flow exceptions i.e. the other side will be given information about what exact check failed.
stx
- a partially signed transaction received from your counterparty.
FlowException
- if the proposed transaction fails the checks.


An angular image gallery module that simplifies the process of creating beautiful image galleries for the web and mobile devices.
Features:
- Thumbnails
- Dots (bullets)
- Text (image description)
- Navigation
- Slide show
- Custom loader
- Lazy load
- Auto detect images
- Responsive layout
- Modal (lightbox)
- Gestures support
Issues
If you identify any errors in this module, or have an idea for an improvement, please open an issue. I am excited to see what the community thinks of this project, and I would love your input!


{% extends "base.html" %} {% block title %}Events Calendar{% endblock %} {% block description %}Events happening across the Code for America Brigade Network{% endblock %} {% block subhero_title %}Events{% endblock %} {% block subhero_description %}
Events happening across the Code for America Brigade Network
{% endblock %} {% block page_id %}events{% endblock %} {% block in_page_nav %} {% endblock %} {% block hero_right %} {% endblock %} {% block content %}Brigades have an opportunity to participate in days of action and to come together at shared events. Check out the upcoming events and mark your calendar!


| DOSE: |
15 mg |
smoked |
5-MeO-DMT |
(powder / crystals) |
I recieved my first 100mg of 5-meO-dmt from good chem lab today. I had never tried 5-meo or dmt before but used to trip alot on lsd with the dead back in the 80's & have taken large doses of ecstasy. Nothing could have prepared me for this though.
I attempted to cut 100mg 5 ways & futher eyeball to strong enough dose(15-20mg) which may have proved my end.
[Erowid Note: A volume amount of one powder doesn't necessarily weigh the same as the same volume of another powder. For substances active at such a small dose, eyeballing is particularly unwise. See related article]
First time was good.I smoked over a tiny bit of weed in a small pipe.Rush was instant at exhale, I put the pipe on the floor & had the feeling of 'oh no what did you just do'. I was looking at pictures on the wall of a trance festival I attended in morocco years ago with my wife.The pictures came to life.I dont mean just moving around or melting like acid but they played as if they were movies.Then I noticed my cat(& this is trippy)is staring me down & looking freaked.I have to try not to see him as a demon.He starts running around & trying to attack me, senses the energy & is afraid.Was proof to me that I was really in another dimension. Anyway I try to calm him down & this eats up most of my trip(30minutes), unfortunately.
So # 2- hour after first, cat in the other room.Approx same dose, not exact but couldn't have been more than 15mg. I have music(1200 mics)perfect to bring me in.This time same intense rush, moment of regret & instant hallucinations. I concentrate directly at these same photos as they come to life again.I am struck with a remarkable feeling that I am reliving the experience & embrace it. Somehow through the music I am feeling connected to a cosmic energy & I see people at this festival dancing.I feel connected to them,like taking acid with alot of people at a concert.All of a sudden I have the feeling that I am there, It is real & I get scared a little.Start to think I went to far, but I am able to tell myself to just go with it,even say this out loud, I think.
I had a profound feeling of taping into a never ending, always present world of trips & music.I am convinced now the this place is real & exists for sure.I was not always sure on acid & that was more of an internal thing for me.This was in your face different dimension.
LAST ONE> came down & waited another hour.For my next experiment I decided to take a hit(larger dose maybe 20mg)& go outside to sit on the porch.I took a huge hit, all I could take & went out sat down & exhaled.INSTANTLY as before I launched.I noticed right away everything changed.Everything alive like acid,geometric patterns.Very strong.I feel my body change as if transforming into this 'new' world & things got BAD.First I noticed the sky change,everything around me is swirling & shifting & becomes uncomfortable.I hear strange noises & one becomes louder & louder as if coming closer>it was a 'large' mechanical sound& humming.
I really feel like I am coming fully into this other dimension,It gets weird.I hear music in the distance, though I'm not playing any now.I look down at my arms & have the sensation I'm being pulled in to it.I get up & go inside & right away I know somethings really wrong.All of a sudden I am sure I went to far & I'm not going to come back.My computers on & it starts going crazy & flashing through my files as if deleting them.I look at some photos on the wall & they seem to be erasing.I look at a clock & it's racing backwards out of control & it hits me like a ton of bricks I'm DYING.
I have the unmistakable feeling that I'm dying & my life is being erased.I'm going no,no this can't be happening, yet I'm convinced it is.I feel like I've reached a purgatory,gone insane& It's going to be my fate to wander the house in panic.I think about my wife & family & how they will react to my death.I completely lost it. I grabbed the phone to call 911 but didn't.Still had the Idea of being gone & stuck in the void,felt really evil.At this point I'm down on my knees pleading to be taken back.It gets more intense & I'm sure I'm done for,I was terrified...completely.
I pleaded & begged God to take me back.That I had to go back, please,please.Then just at it's most intense, it starts to leave, slowly at first & it takes awhile before I'm certain, I may be coming out of it.I'm totally shattered,laying on the floor saying THANK YOU GOD over&over.Now, I'm not that religious but I felt a power different than the void & I could feel it helping me back to sanity.This was not a good trip & I have decided to flush the rest & stick to weed for now.
To anyone planning to use this drug at any dose,should use extreme caution.5-meO-dmt can bring me to a place I don't want to be in.As far as I'm concerned these other places are very real,they exist in the universe & I can be trapped & not return.........
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


{% extends "site-base.html" %} {% load static %} {% load i18n %} {% block extrahead %} {% endblock extrahead%} {% block page_content %}
{% blocktrans %}
It appears that something went wrong.
Try to this refresh this page or feel free to contact us if the problem persists.
{% endblocktrans %}


This is a paragraph.
This is second paragraph.
This is third paragraph.
This is 4 paragraph.
This is 5 paragraph.
This is 6 paragraph.
This is 7 paragraph.


Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Alberta Tubular Products Ltd.
Legal/Operating Name:
Alberta Tubular Products Ltd.
Mailing Address:
1100-500 4th Ave SWCALGARY, Alberta
T2P 2V6
Location Address:
1100-500 4th Ave SWCALGARY, Alberta
T2P 2V6
Tel.:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
Logo
Company Profile
Alberta Tubular is a privately held company, founded in 1989, which supplies premium quality oil country tubular goods (OCTG), line pipe, polyethylene pipe and float equipment primarily to the oil and gas industry. As the largest, independent supplier of OCTG in Western Canada we are able to procure goods on the open market from our well-established supply network. Our manufacturing suppliers are strategically located across Canada and south of the border in Oklahoma providing us the depth required to compete internationally on price, volume and geographic location.
We are customer focused - customer driven to supply quality tubular products and services. Our customers have come to rely on our people and their extensive experience in the tubular industry. In working with each of our customers we are able to recommend and supply the appropriate products and services - whether for a major project or an ongoing supply of tubular products and our industry connections allow us to provide our customers with materials beyond those we normally stock.
Our stocking points are strategically located throughout Alberta, British Columbia and Saskatchewan, Canada. Our shipping infrastructure provides quick, easy access to product and safe, expedient transport to any region in Canada and the US.
Alberta Tubular consistently delivers premium products and exceptional service to the oil & gas industry. We supply a full range of corrosion, insulation and mechanical coatings for line pipe and internal corrosion protective coatings for tubing. All our products are known in the industry for their high quality and consistent performance in the field and each is backed by our suppliers full guarantee and technical support.
Full profile
Full profile
Contact information
Company description
Product / Service / Licensing
Bayou Perma-Pipe Canada
- Coating facilities in Camrose, Alberta, CANADA
- ISO 9000:2000 certification
- Ultrabond RA (UBRA) - extruded polyethylene external coating
- Ultrabond III SE (UBIIISE) - three layer external coating
- Ultrafoam TA, Ultrafoam III SE or Ultrafoam FBE - polyurethane foam insulation
- Ultra FBE - fusion bonded epoxy external coating
- Ultra FBE Abrasion - FBE /w abrasion resistant overcoat
- NapGard Gold (NGG) - dual layer, fusion bonded epoxy external coating
- Website: http://www.bayoucompanies.com/
ShawCor Ltd.
- Coating facilities in Edmonton, Alberta and Camrose, Alberta CANADA
- ISO 9000:2000 certification
- Yellow Jacket (YJ) - extruded polyethylene external coating
- YJ 2K - three layer external coating
- Insul-8 Systems A, B & C - polyurethane foam insulation
- FBE – Fusion Bonded Epoxy external coating
- Dual Powder Abrasion Resistant Coatings (DPA) - FBE /w abrasion resistant overcoat
- NapGard Gold (NGG) - dual layer, Fusion Bonded Epoxy external coating
- Concrete Weight Coating (CWC)
- Rock Jacket (RJ)
- Cement Mortar Lining (CML)
- Flow Efficiency Coating (FEC) - thin film epoxy internal coating
- High Performance Composite Coating (HPCC) - triple layer external coating for larger OD
- Website: http://www.shawpipe.ca/spp/main/home.html
Tuboscope A Varco Company (National Oilwell Varco)
- Coating facilities in Nisku, Alberta, CANADA
- ISO 9001:2000 certification
- Internal Plastic Coatings - phenolic, epoxy, urethane, modified movolac and nylon
- Product names: TK-2, TK-7, TK-15, TK-33, TK-34, TK-69 & TK-99
- Thru-Kote welded connections
- ILC - In-line Connectors
- Flanges, elbows, tees and pups
- Website: https://www.nov.com/Segments/Wellbore_Technologies/Tuboscope.aspx
ShawCor CSI
- Coating facilities in Nisku, Alberta, CANADA
- ISO 9003 certification/NACE Certified Coating Inspectors
- Various - internal/external liquid, powder and urethane coatings (info on request)
- CCB In-Line Connectors
- Coating of fittings and spool pieces
- Smaller, time-sensitive projects requiring specialized coatings for more aggressive internal and external environments.
- Website: http://www.shawcorcsi.com/CSI/main/home.html
Magnum Energy Services
- Coating facilities in Nisku, Alberta, CANADA
- ISO 9003 certification/NACE Certified Coating Inspectors
- Various - internal/external liquid, powder and urethane coatings (info on request)
- CCB In-Line Connectors
- Coating of fittings and spool pieces
- Smaller, time-sensitive projects requiring specialized coatings for more aggressive internal and external environments.
- Website: http://mesgroup.ca/
EnerClear Services
- In situ coating of oil, gas, potable water, freshwater injection, co-mingled water injection and aviation fuel lines – new or refurbishing
- 2 part epoxy coating
- Can coat up to 20-25 Kms in one section
- Website: http://enerclear.ca/
Corrosionpedia.com
- Corrosion questions? Visit http://www.corrosionpedia.com/
- Tubular Sleeves
- Wrapid / Wrap-Around Sleeves
- High Temp Sleeves
- Multi-layer Sleeve System - for 3 layer coatings
- Directional Drilling Kits - for road / river bores
- Heat Shrink Tape
Market profile
Industry sector market interests:
- Mining/Petroleum/Gas
- Service Industry
Sector information
Total plant size:
Alberta:
Blackfalds: TMS Trucking
Brooks: Enviroex & PeBen Oilfield Services
Clover Bar: CN Oil & Gas
Edmonton: Withers LP & Guardian Inspection
Grande Prairie: Withers LP
Lloydminster: Flint Transportation Services
Manning: Total Oilfield Rentals
Nisku: Tuboscope Canada
Provost: Withers LP
Red Earth Creek: Red Planet Trucking Ltd.
British Columbia:
Fort Nelson: PeBen Oilfield Services & Oculus
Fort St. John: Oculus
Saskatchewan:
Estevan: L & C Trucking
Kindersley: Inter Provincial Transfer Ltd.
Swift Current: South West Pipe (aka Flint)
Manitoba:
Virden: Fontana’s Trucking
Line Pipe Stocking and Manufacturing Locations:
Bayou Perma-Pipe Canada - Camrose, AB
ShawCor Ltd. - Edmonton, AB & Camrose, AB
Evraz Camrose Works - Camrose, AB
Evraz North America - Rd Red Deer, AB & Regina, AB
HDPE Pipe Stock & Manufacturing Locations:
Polytubes 2009 Inc. - Edmonton, AB
Global Polytubes Inc. - Edmonton, AB
WL Plastics - Crossfield, AB
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
Products, services and licensing
Product / Service / Licensing
Bayou Perma-Pipe Canada
- Coating facilities in Camrose, Alberta, CANADA
- ISO 9000:2000 certification
- Ultrabond RA (UBRA) - extruded polyethylene external coating
- Ultrabond III SE (UBIIISE) - three layer external coating
- Ultrafoam TA, Ultrafoam III SE or Ultrafoam FBE - polyurethane foam insulation
- Ultra FBE - fusion bonded epoxy external coating
- Ultra FBE Abrasion - FBE /w abrasion resistant overcoat
- NapGard Gold (NGG) - dual layer, fusion bonded epoxy external coating
- Website: http://www.bayoucompanies.com/
ShawCor Ltd.
- Coating facilities in Edmonton, Alberta and Camrose, Alberta CANADA
- ISO 9000:2000 certification
- Yellow Jacket (YJ) - extruded polyethylene external coating
- YJ 2K - three layer external coating
- Insul-8 Systems A, B & C - polyurethane foam insulation
- FBE – Fusion Bonded Epoxy external coating
- Dual Powder Abrasion Resistant Coatings (DPA) - FBE /w abrasion resistant overcoat
- NapGard Gold (NGG) - dual layer, Fusion Bonded Epoxy external coating
- Concrete Weight Coating (CWC)
- Rock Jacket (RJ)
- Cement Mortar Lining (CML)
- Flow Efficiency Coating (FEC) - thin film epoxy internal coating
- High Performance Composite Coating (HPCC) - triple layer external coating for larger OD
- Website: http://www.shawpipe.ca/spp/main/home.html
Tuboscope A Varco Company (National Oilwell Varco)
- Coating facilities in Nisku, Alberta, CANADA
- ISO 9001:2000 certification
- Internal Plastic Coatings - phenolic, epoxy, urethane, modified movolac and nylon
- Product names: TK-2, TK-7, TK-15, TK-33, TK-34, TK-69 & TK-99
- Thru-Kote welded connections
- ILC - In-line Connectors
- Flanges, elbows, tees and pups
- Website: https://www.nov.com/Segments/Wellbore_Technologies/Tuboscope.aspx
ShawCor CSI
- Coating facilities in Nisku, Alberta, CANADA
- ISO 9003 certification/NACE Certified Coating Inspectors
- Various - internal/external liquid, powder and urethane coatings (info on request)
- CCB In-Line Connectors
- Coating of fittings and spool pieces
- Smaller, time-sensitive projects requiring specialized coatings for more aggressive internal and external environments.
- Website: http://www.shawcorcsi.com/CSI/main/home.html
Magnum Energy Services
- Coating facilities in Nisku, Alberta, CANADA
- ISO 9003 certification/NACE Certified Coating Inspectors
- Various - internal/external liquid, powder and urethane coatings (info on request)
- CCB In-Line Connectors
- Coating of fittings and spool pieces
- Smaller, time-sensitive projects requiring specialized coatings for more aggressive internal and external environments.
- Website: http://mesgroup.ca/
EnerClear Services
- In situ coating of oil, gas, potable water, freshwater injection, co-mingled water injection and aviation fuel lines – new or refurbishing
- 2 part epoxy coating
- Can coat up to 20-25 Kms in one section
- Website: http://enerclear.ca/
Corrosionpedia.com
- Corrosion questions? Visit http://www.corrosionpedia.com/
- Tubular Sleeves
- Wrapid / Wrap-Around Sleeves
- High Temp Sleeves
- Multi-layer Sleeve System - for 3 layer coatings
- Directional Drilling Kits - for road / river bores
- Heat Shrink Tape
Market
Market profile
Industry sector market interests:
- Mining/Petroleum/Gas
- Service Industry
Sector
Sector information
Total plant size:
Alberta:
Blackfalds: TMS Trucking
Brooks: Enviroex & PeBen Oilfield Services
Clover Bar: CN Oil & Gas
Edmonton: Withers LP & Guardian Inspection
Grande Prairie: Withers LP
Lloydminster: Flint Transportation Services
Manning: Total Oilfield Rentals
Nisku: Tuboscope Canada
Provost: Withers LP
Red Earth Creek: Red Planet Trucking Ltd.
British Columbia:
Fort Nelson: PeBen Oilfield Services & Oculus
Fort St. John: Oculus
Saskatchewan:
Estevan: L & C Trucking
Kindersley: Inter Provincial Transfer Ltd.
Swift Current: South West Pipe (aka Flint)
Manitoba:
Virden: Fontana’s Trucking
Line Pipe Stocking and Manufacturing Locations:
Bayou Perma-Pipe Canada - Camrose, AB
ShawCor Ltd. - Edmonton, AB & Camrose, AB
Evraz Camrose Works - Camrose, AB
Evraz North America - Rd Red Deer, AB & Regina, AB
HDPE Pipe Stock & Manufacturing Locations:
Polytubes 2009 Inc. - Edmonton, AB
Global Polytubes Inc. - Edmonton, AB
WL Plastics - Crossfield, AB


Why Coding?
If anyone came up and told me that I would love coding as a teenager I would have laughed at them. My original foray into coding was an outdated and interestless html course in my highschool. Since then I have found that coding has an infinitly reaching base that offers ingenuity and fascinating turns.


A set of class that extends the functionality of FuelPHP without affecting the standard workflow when the application doesn't actually utilize Hybrid feature.
Learn how to install Hybrid for FuelPHP, we have provided a refine php oil refine autho:install
Create sexy code
If you value your time and want to get things up and running in seconds instead of minutes you can use Fuel Oil package quick installer.
<?php return array( /** * sources - The name of the main bootstrap file. * * Set this to false or remove if you using mod_rewrite. */ 'sources' => array( 'github.com/fuel-packages', 'github.com/codenitive', ), );
$ php oil package install hybrid --direct Warning - fopen(http://github.com/fuel-packages/fuel-hybrid/zipball/master): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in PKGPATH/oil/classes/package.php on line 53 Downloading package: http://github.com/codenitive/fuel-hybrid/zipball/master ... ...


Customize your quiz
Category
Computers
General Knowledge
Science & Nature
Mathematics
Sports
Vechiles
Books
Film
Music
Difficulty
Easy
Medium
Hard
Number
5
10


This is a demonstration of how to plot a SVG map of the 50 Chicago wards.
Code is available at Github. Questions, comments, or bug reports? File them at Github.
This project was inspired by Scott Robbin's wonderful Open Chicago application. This implementation relies heavily on the jQuery, RaphaelJS, and Kartograph.js libraries. The site style and tooltips are powered by Twitter's Bootstrap library.


Schmt.
Home
About
Services
Experiences
Works
Blog
Contact
UI/UX Designer & Developer
I'm John Schmidt
More About Me
Hire Me
Copyright © All rights reserved | This template is made with
by
Colorlib


@* * This template takes a single argument, a String containing a * message to display. *@ @* * Call the `main` template with two arguments. The first * argument is a `String` with the title of the page, the second * argument is an `Html` object containing the body of the page. *@
@* Here's where we render the page title `String`. *@


Our recipes
Some Recipe
Show
Edit
Delete
Another Recipe
Show
Edit
Delete
And a third one
Show
Edit
Delete
Create New Recipe


|
QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.30
|
Atomic credit-event type. More...
#include <ql/experimental/credit/defaulttype.hpp>
Public Member Functions | |
| DefaultType (AtomicDefault::Type defType=AtomicDefault::Bankruptcy, Restructuring::Type restType=Restructuring::XR) | |
| virtual | ~DefaultType ()=default |
| AtomicDefault::Type | defaultType () const |
| Restructuring::Type | restructuringType () const |
| bool | isRestructuring () const |
| bool | containsDefaultType (AtomicDefault::Type defType) const |
| bool | containsRestructuringType (Restructuring::Type resType) const |
Protected Attributes | |
| AtomicDefault::Type | defTypes_ |
| Restructuring::Type | restrType_ |
Atomic credit-event type.
This class encapsulates the ISDA default contractual types and their combinations. Non-atomicity works only at the atomic type level, obviating the specific event characteristics which it is accounted for only in derived classes.
Definition at line 106 of file defaulttype.hpp.
|
explicit |
Definition at line 26 of file defaulttype.cpp.
|
virtualdefault |
| AtomicDefault::Type defaultType | ( | ) | const |
| Restructuring::Type restructuringType | ( | ) | const |
| bool isRestructuring | ( | ) | const |
| bool containsDefaultType | ( | AtomicDefault::Type | defType | ) | const |
Returns true if one or a set of event types is within this one and as such will be recognised as a trigger. Not the same as equality.
Notice that these methods do not include any event logical hierarchy. The match is in a strict sense. If event B is contained in (implied by) event A this would not send a match. This policies should be implemented at the CreditEvent class, which is polymorphic.
Definition at line 134 of file defaulttype.hpp.
| bool containsRestructuringType | ( | Restructuring::Type | resType | ) | const |
Definition at line 138 of file defaulttype.hpp.
|
protected |
Definition at line 144 of file defaulttype.hpp.
|
protected |
Definition at line 145 of file defaulttype.hpp.