4.3 Data Attributes Assessment
After a brief assessment on the data quantity, we know that the both datasets are not too big in terms of both number records (891 and 418) and number of attributes (12 and 11). We also have an intuitive understand about the attributes, some obvious names like Name, Sex and Age; and some not so obvious names like SibSp and Parch.
4.3.1 General Attributes Description
Before we looking into individual attributes (single variate analysis) in our datasets, let us get some general sense of all attributes and make sure we understand each of them.
We knew that dataset test
has 11 attributes and train
has 12 attributes. The one attribute short is the Survived. The rest are the same. Let us look into those attributes, the following is from the Kaggel web site:
attribute Notes
*Pclass*: A proxy for socio-economic status (SES)
1st = Upper
2nd = Middle
3rd = Lower
*Age*: Age is fractional if less than 1. If the age is estimated, is it in the form of xx.5
*Sibsp*: The dataset defines family relations in this way...
*Sibling* = brother, sister, stepbrother, stepsister
*Spouse* = husband, wife (mistresses and fiancés were ignored)
*Parch*: The dataset defines family relations in this way...
Parent = mother, father
Child = daughter, son, stepdaughter, stepson
Some children travelled only with a nanny, therefore parch=0 for them.
Just looking into these attributes’ description, a few thoughts are occurred:
- Attribute types
There are attributes should be categorical types. The values of those attributes can be any types but the importance is that they can classify the records into sets of similar groups and this grouping make sense to the problem to be solved. In Titanic datasets, attributes should have categorical type are: Survived, Sex, Embarked, and Pclass.
Other attribute perhaps should have numerical type. Thsi is because these attributes values change from record to record. They can be the values of discrete, continuous, or timeseries. One thing in common is that these values can be manipulated and applied with many math functions and plotting tools for visualization. In Titanic datasets, attributes should have numerical type are: Age, Fare, SibSp, Parch.
- Contribution to Survive
The final goal is to predict passenger’s survived or not. It makes sense to assess the prediction power of each attribute. which is the contribution of an attribute to attrribute Survived. In other words, the potential relationships among these attributes and with the attribute Survived need to be assessed. Here are some thoughts:
Pclass should somehow linked with Fare and Cabin. Generally, the higher the class is and the more expensive of the fare will be and the better cabin locations are. So those should have some sort of correlations among them. they together should have some affect on survive. You would think that the expensive ticket, means better cabin location and has privilege to escape first in the disaster.
What is the ticket number to do with survive? Is it just a random number? Or is associated with cabin? Or anything else like Port of embarkation? ticket number in some other systems could have more information rather than just an unique number.
Is the Fair in someways associated with journey length, which means the Port of embarkation and the port of disembarkation? Or cabin location and condition?
You can have other thoughts too. To prove or disprove these assumptions and thoughts, we need to look into the actual datasets at least to see:
- What are the data types for various attributes?
- Which attributes are available in the dataset?
- Which attributes are categorical?
- Which attributes are numerical?
- Which attributes are mixed data types?
- Any errors in the attributes values?
- Which features may contain errors or typos?
- Which features contain blank, null or empty values?
These questions will be answered in the following two sections.
4.3.2 Actual Attributes Types Examination
From figure 4.4, We can see that all the attributes have only three types, int
, Factor
, num
.
Attributes have int
types are: PassengerId, Survived, SibSp, Parch.
Attributes has Factor
types are: Name, Sex, Ticket, Cabin and Embarked.
Attributes has num
types are: Age and Fare.
We know that, the type int
is for attribute that has an integer value; and num
is for an numeric attribute, which has the values of real numbers.
Type Factor
is R language’s way to say category type. It is a attribute that can take on one of a limited, and usually fixed, number of possible values, such as blood type.
Attributes types affect the operations we can apply on that attributes. In other words inappropriate types can prevent us to do proper analysis on that attribute. For example, it doe’s not make sense to calculate average on sex, so it is better to be with a type of Category, in R is a Factor
. Similarly, Survived will have only two values 0 or 1, to represent death or live. It makes sense to be an factor
too. Being a int
type, it will prevent us to apply many methods that only works for a Factor
type attribute.
So, looking into data attributes types, compare with the original meaning of each attributes can help us to spot any inappropriate types or wrong types.
Thinking:
Is Servived typed int
approriate?
4.3.3 Actual Data Attributes Value Examination
To understand given datasets needs to carefully examine the values of each data attributes to:
- find any errors and missing values
- find value distribution
- find potential relation with the attribute to be predicted (also called dependent variable)
Finding errors, typos and missing values can set up the goals for data prepsocess.
Since the examine covers both datesets train
and test
, it make sense to combine the two datasets into one big dataset, so it can save us to run the same code twice on the different datasets.
Copy the following code into your script,
# Add a "Survived" attribute to the test dataset to allow for combining with train dataset
test <- data.frame(test[1], Survived = rep("NA", nrow(test)), test[ ,2:ncol(test)])
# Combine data sets. Append test.survived to train
data <- rbind(train, test)
Now we have a dataset data
, which combines both datasets train
and test
datasets. We assigned the value of attribute Survived in the original dataset test
as “NA”. You can check them in the WorkSpace pane by click variable data.
Thinking:
- Can we combine
train
andtest
without add Survived attribute to the test? Like,
data <- rbind(train, test)
- Why add attibute Survived as the second attribute? Can we add it as the first one? Like,
test <- data.frame(Survived = rep("NA", nrow(test)), test[,])
It is good idea to have bird eye’s view on our combined dataset.
## PassengerId Survived Pclass
## Min. : 1 Length:1309 Min. :1.000
## 1st Qu.: 328 Class :character 1st Qu.:2.000
## Median : 655 Mode :character Median :3.000
## Mean : 655 Mean :2.295
## 3rd Qu.: 982 3rd Qu.:3.000
## Max. :1309 Max. :3.000
##
## Name Sex Age
## Connolly, Miss. Kate : 2 female:466 Min. : 0.17
## Kelly, Mr. James : 2 male :843 1st Qu.:21.00
## Abbing, Mr. Anthony : 1 Median :28.00
## Abbott, Mr. Rossmore Edward : 1 Mean :29.88
## Abbott, Mrs. Stanton (Rosa Hunt): 1 3rd Qu.:39.00
## Abelson, Mr. Samuel : 1 Max. :80.00
## (Other) :1301 NA's :263
## SibSp Parch Ticket Fare
## Min. :0.0000 Min. :0.000 CA. 2343: 11 Min. : 0.000
## 1st Qu.:0.0000 1st Qu.:0.000 1601 : 8 1st Qu.: 7.896
## Median :0.0000 Median :0.000 CA 2144 : 8 Median : 14.454
## Mean :0.4989 Mean :0.385 3101295 : 7 Mean : 33.295
## 3rd Qu.:1.0000 3rd Qu.:0.000 347077 : 7 3rd Qu.: 31.275
## Max. :8.0000 Max. :9.000 347082 : 7 Max. :512.329
## (Other) :1261 NA's :1
## Cabin Embarked
## :1014 : 2
## C23 C25 C27 : 6 C:270
## B57 B59 B63 B66: 5 Q:123
## G6 : 5 S:914
## B96 B98 : 4
## C22 C26 : 4
## (Other) : 271
This summary tell us a lot of information. Most obvious are:
- PassengerID is useless in terms of predicting survived or not. in addition, it is not much help that provide a statistical summary on it.
- Survived and Pclass numbers are useful and interesting.
- Name is mostly unique, which comes a surprise that only 2 names are repeated twice.
- Gender distribution among passenger is unbalanced that male overweight female.
- Age is interesting that minimum age 0.17 is alarming and there is 263 missing values.
- SibSp tells us the largest relatives travel together is 8.
- ParCh tells us the largest family travel together is 9.
- There are large number of ticket has the same number. The most repeat number is CA. 2343, which has 11 duplicates.
- Ticket Fare shows the minimum is 0, which is interesting that someone take a free ride. The maximum is over 512, which is far too expensive when the mean value is only about 33.
- Both Cabin and Embarked have values which can be identified and need more investigation.
You can see now one function can provide so much information. Quantitative summary is a great tool for a data scientist.
Now, Let us exam each attribute,
- PassengerID. PassengerId is an identifier, So only its uniqueness and missing value are considered.
There are many ways you can use to find out. I simply check its total number and its unique number. If the both equal to the number of records in the dataset, it shows that there is no duplication and no missing values in the attribute.
So we do,
## [1] 1309
## [1] 1309
The results shows the both number 1309, which is equal to the total number of records in the dataset. It proves the PassengerID has not missing value and duplication.
- Survived. Survived is the attribute that its value will be produced by a model for the dataset
test
. It is called Consequencer in modeling contrast with other attributes. which are used to produce a prediction, are called Predictor. So, our exam will be conducted only on datasettrain
. Again we can check the numbers whether they can add up or not. As we already mentioned that it makes sense to change the Servived from typechr
intoFactor
. We do,
##
## 0 1 NA
## 549 342 418
The results proved that the Survived value has the correct numbers:
- 418 ‘NA’ values are the Survived’s value in the dataset
test
, and - the 549 death and 342 survived, together maded up the total number of dataset
train
, which is 891.
So we know the value of Survived in the dataset train
are correct and has no missing values. It is interesting here to think about the survive rate. How to calculate?
I will do this,
# Calculate the survive rate in train data is 38% and the death rate is 61.61%
prop.table(table(as.factor(train$Survived)))
##
## 0 1
## 0.6161616 0.3838384
So we know the survive rate in the dataset train
is about 61%. This is interesting because it reflects the overall survival rate.
- Pclass. Pclass is the feature which splits the passengers into three division namely class-1, class-2, class-3. As we understood it should be in type of
Factor
rather thanint
. We shall change its type first and then to see if there missing value or errors. It is also good to know the survival rate in each class. So. we can compare with the overall survival rate in the datasettrain
.
Copy the following code into your script.
# Examine Pclass value,
# Look into Kaggle's explanation about Pclass: it is a proxy for social class i.e. rich or poor
# It should be factor and it does not make sense to stay in int.
data$Pclass <- as.factor(data$Pclass)
test$Pclass <- as.factor(test$Pclass)
train$Pclass <- as.factor(train$Pclass)
# Distribution across classes
table(data$Pclass)
##
## 1 2 3
## 323 277 709
If you want, you can check the total of the three classes which is 1309. It equals to the total number of records in the data
(total number fo passenger). And there is no other numbers than 1,2 and 3. So we can conclude that there is no missing value and no errors in Pcalss.
It will be interesting to see the survival rate for each class,
##
## 0 1 NA
## 1 80 136 107
## 2 97 87 93
## 3 372 119 218
These numbers tell us many things:
The death distribution. Among the three classes from class-1 to class-3 is: 80, 97 and 379. It confirms that the passenger in Class-3 has largest number of death (372);
The survival distribution. Among the three classes, class-1 has the highest number of survival (136);
The passengers distribution. Among the three classes, class-3 has the largest passenger numbers (372+119+218) in total, and overtaking other two classes together for both datasets
train
andtest
(372+119) > ((80+97) + (136+87)).The last column is the pasenger distribution among the three glasses for dataset
test
. This is because its Survived value is “NA” (not defined).
We can calculate distributions among the three classes in terms of percentage.
- The overall passenger’s distribution among the three classes:
# Calculate the distribution on Pclass
# Overall passenger distribution on classes.
prop.table(table(as.factor(data$Pclass)))
##
## 1 2 3
## 0.2467532 0.2116119 0.5416348
That is 24.67% passenger in Class-1, 21.16% passenger is class-2 and 54.16% of passenger in class-3.
- The passenger’s distribution among the three classes given by dataset
train
:
##
## 1 2 3
## 0.2424242 0.2065095 0.5510662
The number tells us the distribution of passengers from dataset train
is: class-1, 24.24%; class-2, 20.65% and class-3 has 55.1%.
- The passenger’s distribution among the three classes given by dataset
test
:
##
## 1 2 3
## 0.2559809 0.2224880 0.5215311
Lastly, the passenger distribution from dataset test
are: 25.6% in class-1, 22.24% in class-2 and 52.15% percent in class-3.
We can see that the distribution of passengers, in terms of percentage, among the three classes are almost identical both in order and in proportion. That is the most passenger are in class-3, then class-1 and finally class-2.
Let us look into death and survive distribution among the three classes2,
# Calculate death distribution across classes with Train data
SurviveOverClass <- table(train$Pclass, train$Survived)
# Convert SurviveOverClass into data frame
SoC.data.fram <- data.frame(SurviveOverClass)
# Retrieve death distribution in classes
Death.distribution.on.class <- SoC.data.fram$Freq[SoC.data.fram$Var2==0]
prop.table(Death.distribution.on.class)
## [1] 0.1457195 0.1766849 0.6775956
These numbers tell us the distribution of death among the three classes are: 14.57% death from class-1, 17.66% from class-2 and 67.75% death from class-3.
Similarly, we can calculate survive distribution among the three classes,
# calculate survive distribution among the three classes
Survive.distribution.on.class <- SoC.data.fram$Freq[SoC.data.fram$Var2==1]
prop.table(Survive.distribution.on.class)
## [1] 0.3976608 0.2543860 0.3479532
The results tell us that 39.76% of survived passenger are from class-1, and 25.43% from class-2, and 34.79% from class-3.
Let us thinking about this numbers. Class-3 has 55.1% of passenger distribution but has 34.79% passenger survival distribution. Clearly, the survive rate in class-3 is lower than other two classes. It is equivalent to say, the survival chances of a passenger who is in class-1 are higher than who is a class-2 and class-3.
Do it yourself:
Calculate the Survival rate among the three classes. What conclusion you have by compare them?Numbers are good to provide summary and test some assumptions. Analyzing given data by means of statistical summary and other numbering methods is called Descriptive analysis. See section ?? .
Perhaps, it is a good time to introduce Exploratory analysis, on the contrast with the Descriptive analysis, it uses graphical tools to explore the inside of given datasets.
To do so, we need to import some useful graphical tools provided by R community. We can then use them to plot Survived as an factor on Pclass numbers.
## Warning: package 'ggplot2' was built under R version 3.6.3
ggplot(train, aes(x = Pclass, fill = factor(Survived))) +
geom_bar(width = 0.5) +
xlab("Pclass") +
ylab("Total Count") +
labs(fill = "Survived")
Graph is better, isn’t it? It is very intuative.
Let’s briefly interpret this graph. The graph shown 4.5 tells us that the survive rate in Class-3 is the worst, and followed by class-2 and lastly, class-1. More people perished in the class-3 than any other two classes. It provides an important point that the chance of survive is associated with the social glass, if we can prove the Class-3 ticket is cheaper.
To sum up the analysis with Pclass, We have used both Descriptive analysis and Exploratory analysis. The results suggested that the Pclass has a strong relation with death rate. That is passengers in Class-3 have a higher chance of death. The correlation with social class (richer or poor) is waiting to be proved if the class-3 ticket is cheaper than others.
- Name. Name attribute by definition shows peoples’ name. It should not have any impact on passengers’ live and death. Never heard of someone was survived because one’s name! However we still need to asess its quality. Fir
Firstly, you may notice that the type of Name is a Factor
, which is contradicted with the conventional understanding that name is a string or a list characters. Type chr
would be more appropriate. Change its type to chr
will help us to apply character functions to it and get it contents easily. Factor shows the uniqueness. it could help us to assess if there is missing value or duplicated values.
Notice that attribute Name only has 1307 levels (can be observed from the data
structure on the WorkSpace pane). In addition, the data
summary, see Figure ??, not only confirmed this but also identified the two shorts because of the value “Connolly, Miss. Kate” and “Kelly, Mr. James” have been repeated twice each.
Let us explore Name values in details.
Firstly, let us convert Name type into chr
. Then we can check duplicated names using which
function in R to get the duplicate names and store them into a vector dup.names
. And echo them out.
# Convert Name type
data$Name <- as.character(data$Name)
# Find the two duplicate names
# First used which function to get the duplicate names and store them as a vector dup.names
# check it up ?which.
dup.names <- data[which(duplicated(data$Name)), "Name"]
# Echo out
dup.names
## [1] "Kelly, Mr. James" "Connolly, Miss. Kate"
Our code confirmed that the two duplicated names are indeed "“Kelly, Mr. James” and “Connolly, Miss. Kate”. It comes no surprise that the both names are pretty common in UK and USA.
One discovery though is that the names appeared has a title in it! Mr. is used in Kelly James and Miss. is used in Connolly Kate. This could be interesting. We can leave this for Preprocess to explore more. For the quality assessment it is mission accomplished.
- Sex. Sex attribute value aseessment is simple. It only has two values “male” and “female”. We could easily check if there are missing values and any errors.
# Retrial male and females. then check their numbers.
males <- data[which(data$Sex == "male"), ]
females <- data[which(data$Sex == "female"), ]
nrow(males)
## [1] 843
## [1] 466
## [1] 1309
It is obvious that there is no error and missing values.
It is also simple to explore the relationship between gender and the survival rate. We had an assumption that the male passengers have a high death rate. We plot tools in our disposal, let’s make use of it.
# plot death over sex
ggplot(data[1:891,], aes(x = Sex, fill = Survived)) +
geom_bar() +
xlab("Sex") +
ylab("Total Count") +
labs(fill = "Survived")
The graph shows that the male death rate is much higher than female passengers.
- Age. To examine attribute Age, we do this,
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.17 21.00 28.00 29.88 39.00 80.00 263
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.42 20.12 28.00 29.70 38.00 80.00 177
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.17 21.00 27.00 30.27 39.00 76.00 86
It is obvious that Age has many problems:
1. Age has decimal point. It is a surprise. not sure it is a mistake.
2. there are large number of missing values: 177 missing value in dataset train
and 86 missing value in dataset test
, in total of 263, which count as 263/1309 = 20%.
However, we still could have a brief assessment on its impact on survive rate, despict the 177 missing values.
ggplot(data[1:891,], aes(x = Age, fill = Survived)) +
geom_histogram(binwidth = 10) +
xlab("Age") +
ylab("Total Count")
## Warning: Removed 177 rows containing non-finite values (stat_bin).
The graph shows the relationship between Age and survival rate. It becomes apparent that age group between 15 and 25 has the worst survival rate. It is also interesting to know that there are some age has values less than 0!
Therefore, we could conclude that.
The attribute Age has a serious quality problem: some age values are negtive and large number 177 values are missing. If it is to be used as a predictor in our model for prediction, it needs a lot of work in the stage of preprocess.
- SibSp and ParCh. To examine attribute Age, we do this,
#plot the 3-way relationship of sex, pclass, and survival ggplot(data[1:891,], aes(x = Sex, fill = Survived)) + geom_bar() + facet_wrap(~Pclass) + ggtitle(“Pclass”) + xlab(“Sex”) + ylab(“Total Count”) + labs(fill = “Survived”)
This code is not brilliant. It used many intermediate variables, you can check their structure and contents from WorkSpace pane. You can come up with a better code.↩


Press F12 to see the result. I really hope that 'span == 2' and 'h2 == 2', etc...
Instead of using the cat and the hat, we will be using the two book images: MWG and Casella-Berger.


{% extends "application_projects/project_detail.html" %}
{% load i18n %}
{% block notifications %}
{% if not object.editable %}
{% trans "Your project is not editable at this point." %}
{% if not object.lead %}
{% trans "We are awaiting a lead to be assigned." %}
{% else %}
{% trans "It is currently under review by a staff member." %}
{% endif %}


To obtain general information about the cminor program, use the following command:
To obtain help about the build command, use the following command:
To obtain help about the clean command, use the following command:
To obtain help about the run command, use the following command:
To obtain help about the debug command, use the following command:
To obtain help about the dump command, use the following command:
To enable verbose output for a Cminor command, use the verbose option:


|
MOTS Finder
Find non-star-shaped MOTSs
|
Base class for curves that can calculate their expansion in the slice. More...
Classes | |
| class | _IntersectionDetectionError |
| Raised when self-intersection cannot be located. More... | |
| class | DistanceSearchError |
| Raised when the closest distance between curves could not be found. More... | |
| class | ExpansionCurve |
| Base class for curves that can calculate their expansion. More... | |
| class | IntegrationError |
| Raised for non-converging integrals or if accuracy cannot be reached. More... | |
| class | SignatureQuantities |
Functions | |
| def | _golden_section_search (f, a, b, tol, use_mp=False) |
| Trivial golden section search for locating a local minimum. More... | |
| def | _discrete_local_minima (values, max_count=1) |
| Find the indices of N non-consecutive smallest values. More... | |
| def | _search_local_minimum (func, a, b, use_mp=False, full_output=False, xatol=1e-12) |
Search for a local minimum of func between a and b . | |
Base class for curves that can calculate their expansion in the slice.
Examples
See the implemented subclasses starshapedcurve.StarShapedCurve and refparamcurve.RefParamCurve for examples.
|
private |
Find the indices of N non-consecutive smallest values.
Examples
|
private |
Trivial golden section search for locating a local minimum.
The function f
should have a local minimum between a
and b
.


(wait) {{vm.status}}
This button lets you reload the in-memory cache, by entirely reloading it from the database cache (but it does not rebuild that database cache). This is relatively fast. Use it when you think that the memory cache has not been properly refreshed, after some events triggered—which would indicate a minor Umbraco issue. (note: triggers the reload on all servers in an LB environment).
This button lets you rebuild the database cache, ie the content of the cmsContentNu table. Rebuilding can be expensive. Use it when reloading is not enough, and you think that the database cache has not been properly generated—which would indicate some critical Umbraco issue.
This button lets you trigger a NuCache snapshots collection (after running a fullCLR GC). Unless you know what that means, you probably do not need to use it.


Configurable Chart Collection (C3)
The Configurable Chart Collection is a JavaScript library for data visualization in HTML5 built using D3.
Notable visulizations include:
- Line / Area Graphs
- Bar Charts
- Stacked Graphs
- Pie / Donut Charts
- Scatter Plots
- Swimlanes
- Sunburst
- Flamechart
- Legends
- Data Tables
Notable features include:
- Declarative style API.
- Flexibility with dataset organization. Use your own structures and describe their shape via accessor functions.
- Layering mechanism for composability of different data in the same chart.
- Compatible with animation for linked and dynamic datasets.
- Lots of styling options by exposing CSS directly.
- Extensible for custom user interaction by exposing DOM events.
- Extensible with custom functionality.
- Compatible with Crossfilter
Examples
View example charts and visualizations with complete annotated sources.


|
YAX.Math
1.0
The standalone version of YAX's (and by extension XNA's) math utility classes.
|
Public Member Functions | |
| Vector4 (float val) | |
| Vector4 (float x, float y, float z, float w) | |
| Vector4 (Vector2 xy, float z, float w) | |
| Vector4 (Vector3 xyz, float w) | |
| void | Normalize () |
| Normalizes the vector, maintaining direction but reducing its length to 1. | |
| float | Length () |
| Gets the length of the vector. | |
| float | LengthSquared () |
| Gets the squared length of the vector. | |
| Vector4 & | operator+= (const Vector4 &) |
| Vector4 & | operator-= (const Vector4 &) |
| Vector4 & | operator*= (const Vector4 &) |
| Vector4 & | operator*= (float) |
| Vector4 & | operator/= (const Vector4 &) |
| Vector4 & | operator/= (float) |
Static Public Member Functions | |
| static Vector4 | Barycentric (const Vector4 &p1, const Vector4 &p2, const Vector4 &p3, float b2, float b3) |
| Performs a barycentric interpolation over a triangle defined by three Vector4s. More... | |
| static Vector4 | CatmullRom (const Vector4 &p1, const Vector4 &p2, const Vector4 &p3, const Vector4 &p4, float t) |
| Performs a Catmull-Rom interpolation between the second and third points of a spline. More... | |
| static Vector4 | Clamp (const Vector4 &point, const Vector4 &min, const Vector4 &max) |
| Clamps a Vector4's components between a min and max value. More... | |
| static float | Distance (const Vector4 &p1, const Vector4 &p2) |
| Calculates the signed distance between two points represented by Vector4s. | |
| static float | DistanceSquared (const Vector4 &p1, const Vector4 &p2) |
| Calculates the squared distance between two points represented by Vector4s. | |
| static float | Dot (const Vector4 &v1, const Vector4 &v2) |
| Calculates the dot product between two Vector4s. | |
| static Vector4 | Hermite (const Vector4 &p1, const Vector4 &t1, const Vector4 &p2, const Vector4 &t2, float w) |
| Performs a Hermite Spline interpolation between two points. More... | |
| static Vector4 | Lerp (const Vector4 &p1, const Vector4 &p2, float t) |
| Performs a linear interpolation between two points. More... | |
| static Vector4 | Max (const Vector4 &v1, const Vector4 &v2) |
| Finds the maximum of each component between two Vector4s. More... | |
| static Vector4 | Min (const Vector4 &v1, const Vector4 &v2) |
| Finds the minimum of each component between two Vector4s. More... | |
| static Vector4 | Normalize (Vector4 v) |
| Normalizes a given vector. More... | |
| static Vector4 | SmoothStep (const Vector4 &v1, const Vector4 &v2, float t) |
| Performs a Cubic Hermite interpolation between two Vector4s. More... | |
| static Vector4 | Transform (const Vector4 &v, const Matrix &m) |
| Transforms a Vector4 by a matrix. More... | |
| static Vector4 | Transform (const Vector4 &v, const Quaternion &q) |
| Rotates a Vector4 by a quaternion. More... | |
| static void | Transform (const std::vector< Vector4 > &source, ui32 sourceIdx, const Matrix &mat, std::vector< Vector4 > &dest, ui32 destIdx, ui32 count) |
| Transforms a list of Vector4s by a matrix and stores them in another list. More... | |
| static void | Transform (const std::vector< Vector4 > &source, ui32 sourceIdx, const Quaternion &q, std::vector< Vector4 > &dest, ui32 destIdx, ui32 count) |
| Rotates a list of Vector4s by a quaternion and stores them in another list. More... | |
| static void | Transform (const std::vector< Vector4 > &source, const Matrix &mat, std::vector< Vector4 > &dest) |
| Transforms all of the Vector4s in a list by a matrix. More... | |
| static void | Transform (const std::vector< Vector4 > &source, const Quaternion &q, std::vector< Vector4 > &dest) |
| Rotates all of the Vector4s in a list by a quaternion and stores them in another list. More... | |
| static Vector4 | TransformNormal (const Vector4 &normal, const Matrix &mat) |
| Transforms a normal vector by a matrix without applying translation. More... | |
| static void | TransformNormal (const std::vector< Vector4 > &source, ui32 sourceIdx, const Matrix &mat, std::vector< Vector4 > &dest, ui32 destIdx, ui32 count) |
| Transforms a list of normals by a matrix without applying translation. More... | |
| static void | TransformNormal (const std::vector< Vector4 > &source, const Matrix &mat, std::vector< Vector4 > &dest) |
| Transforms all of the normals in a list by a matrix. More... | |
Public Attributes | |
| float | X |
| float | Y |
| float | Z |
| float | W |
Static Public Attributes | |
| static const Vector4 | One |
| static const Vector4 | UnitX |
| static const Vector4 | UnitY |
| static const Vector4 | UnitZ |
| static const Vector4 | UnitW |
| static const Vector4 | Zero |
|
static |
Performs a barycentric interpolation over a triangle defined by three Vector4s.
| p1 | The first point of the triangle |
| p2 | The second point of the triangle |
| p3 | The third point of the triangle |
| b2 | The weight factor of the second point |
| b3 | The weight factor of the third point |
Definition at line 53 of file Vector4.cpp.
|
static |
Performs a Catmull-Rom interpolation between the second and third points of a spline.
| p1 | The first point of the spline |
| p2 | The second point of the spline |
| p3 | The third point of the spline |
| p4 | The fourth point of the spline |
| t | The interpolation weight |
Definition at line 58 of file Vector4.cpp.
|
static |
Clamps a Vector4's components between a min and max value.
| point | The Vector4 to clamp |
| min | The minimum values for each coordinate |
| max | The maximum values for each coordinate |
Definition at line 66 of file Vector4.cpp.
|
static |
Performs a Hermite Spline interpolation between two points.
| p1 | The first point of the spline |
| t1 | The slope of the spline at the first point |
| p2 | The second point of the spline |
| t2 | The slope of the spline at the second point |
| w | The interpolation weight |
Definition at line 89 of file Vector4.cpp.
Performs a linear interpolation between two points.
| p1 | The first point |
| p2 | The second point |
| t | The interpolation weight |
Definition at line 97 of file Vector4.cpp.
Finds the maximum of each component between two Vector4s.
Definition at line 105 of file Vector4.cpp.
Finds the minimum of each component between two Vector4s.
Definition at line 113 of file Vector4.cpp.
Performs a Cubic Hermite interpolation between two Vector4s.
Definition at line 127 of file Vector4.cpp.
Transforms a Vector4 by a matrix.
| v | The vector to transform |
| m | The transformation matrix |
Definition at line 135 of file Vector4.cpp.
|
static |
Rotates a Vector4 by a quaternion.
| v | The Vector4 to rotate |
| q | The quaternion to apply |
Definition at line 145 of file Vector4.cpp.
|
static |
Transforms a list of Vector4s by a matrix and stores them in another list.
| source | The list of Vector4s to transform |
| sourceIdx | The index of the first Vector4 in source to transform |
| mat | The transformation matrix |
| dest | The list to insert the transformed Vector4s into |
| destIdx | The index of the first Vector4 in dest to replace |
| count | The number of Vector4s to transform |
Definition at line 153 of file Vector4.cpp.
|
static |
Rotates a list of Vector4s by a quaternion and stores them in another list.
| source | The list of Vector4s to rotate |
| sourceIdx | The index of the first Vector4 in source to rotate |
| q | The quaternion to apply |
| dest | The list to insert the rotated Vector4s into |
| destIdx | The index of the first Vector4 in dest to replace |
| count | The number of Vector4s to transform |
Definition at line 161 of file Vector4.cpp.
|
static |
Transforms all of the Vector4s in a list by a matrix.
| source | The list of Vector4s to transform |
| mat | The transformation matrix |
| dest | The list to insert the transformed Vector4s into |
Definition at line 169 of file Vector4.cpp.
|
static |
Rotates all of the Vector4s in a list by a quaternion and stores them in another list.
| source | The list of Vector4s to rotate |
| q | The quaternion to apply |
| dest | The list to insert the rotated Vector4s into |
Definition at line 174 of file Vector4.cpp.
Transforms a normal vector by a matrix without applying translation.
| normal | The Vector4 to transform |
| mat | The transformation matrix |
Definition at line 179 of file Vector4.cpp.
|
static |
Transforms a list of normals by a matrix without applying translation.
| source | The list of Vector4s to transform |
| sourceIdx | The index of the first Vector4 to transform |
| mat | The transformation matrix |
| dest | The list to insert the transformed Vector4s into |
| destIdx | The index of the first Vector4 in dest to replace |
| count | The number of Vector4s to transform |
Definition at line 188 of file Vector4.cpp.
|
static |
Transforms all of the normals in a list by a matrix.
| source | The list of Vector4s to transform |
| mat | The transformation matrix |
| dest | The list to insert the transformed Vector4s into |
Definition at line 196 of file Vector4.cpp.


Research
My research is primarily concerned with the development of scalable, high performance algorithms for applications in data mining and machine learning. Irregular applications are of particular interest to me, such as those that operate on sparse graphs, matrices, and tensors.
My thesis work is focused on large-scale sparse tensor factorization and is culminated in SPLATT, an open source software toolkit for tensor factorization and related kernels. SPLATT has been scaled to over 16,000 cores and is actively used by academic, industry, and government researchers.
Awards & Honors
- ACM/IEEE-CS George Michael Memorial HPC Fellowship, 2017
- Euro-Par ‘17 Distinguished Paper, “Accelerating the Tucker Decomposition with Compressed Sparse Tensors”.
- HPEC ‘17 GraphChallenge Finalist, “Truss Decompositions on Shared-Memory Parallel Systems”
- HPEC ‘17 GraphChallenge Finalist, “Exploring Optimizations on Shared-memory Platforms for Parallel Triangle Counting Algorithms”
- SC ‘16 Best Student Paper Finalist “An Exploration of Optimization Algorithms for High Performance Tensor Completion”
- Doctoral Dissertation Fellowship, University of Minnesota, 2016-2017
- Outstanding Graduating Senior Award, University of Kentucky, 2012
- Student Internship Symposium Top Prize, Lexmark International, 2011
Software Contributions
Publications
Book Chapters
- [1]David C. Anastasiu, Jeremy Iverson, Shaden Smith, and George Karypis. 2014. Big Data Frequent Pattern Mining. In Frequent Pattern Mining. Springer International Publishing, Switzerland, 225–260.
[paper] [bib]
Journals
- [1]Shaden Smith Jongsoo and George Karypis. 2017. HPC formulations of optimization algorithms for tensor completion. Parallel Computing (2017).
[paper] [bib] - [2]David C. Anastasiu, Evangelia Christakopoulou, Shaden Smith, Mohit Sharma, and George Karypis. 2016. Big Data and Recommender Systems. Novática: Journal of the Spanish Computer Scientist Association 240 (October 2016).
[paper] [bib]
Conferences & Refereed Workshops
- [1]Jee W. Choi, Xing Liu, Shaden Smith, and Tyler Simon. 2018. Blocking Optimization Techniques for Sparse Tensor Computation. 32nd IEEE International Parallel & Distributed Processing Symposium (IPDPS’18) (2018).
- [2]Shaden Smith, Kejun Huang, Nicholas D Sidiropoulos, and George Karypis. 2018. Streaming Tensor Factorization for Infinite Data Sources. Proceedings of the 2018 SIAM International Conference on Data Mining (SDM’18) (2018).
[paper] [slides] [bib] - [3]Shaden Smith, Xing Liu, Nesreen K. Ahmed, Ancy Sarah Tom, Fabrizio Petrini, and George Karypis. 2017. Truss Decompositions on Shared-Memory Parallel Systems. In IEEE High Performance Extreme Computing Conference (HPEC), GraphChallenge Finalist.
[paper] [slides] [bib] - [4]Ancy Sarah Tom, Narayanan Sundaram, Nesreen K. Ahmed, Shaden Smith, Stijn Eyerman, Midhunchandra Kodiyath, Ibrahim Hur, Fabrizio Petrini, and George Karypis. 2017. Exploring Optimizations on Shared-memory Platforms for Parallel Triangle Counting Algorithms. In IEEE High Performance Extreme Computing Conference (HPEC), GraphChallenge Finalist.
[paper] [bib] - [5]Shaden Smith and George Karypis. 2017. Accelerating the Tucker Decomposition with Compressed Sparse Tensors. In European Conference on Parallel Processing (Euro-Par ’17) Distinguished Paper Award.
[paper] [slides] [bib] - [6]Michael Anderson, Shaden Smith, Narayanan Sundaram, Mihai Capotă, Zheguang Zhao, Subramanya Dulloor, Nadathur Satish, and Theodore L. Willke. 2017. Bridging the Gap Between HPC and Big Data Frameworks. Proceedings of the VLDB Endowment (PVLDB ’17) (2017).
[paper] [bib] - [7]Shaden Smith, Alec Beri, and George Karypis. 2017. Constrained Tensor Factorization with Accelerated AO-ADMM. In 46th International Conference on Parallel Processing (ICPP ’17).
[paper] [slides] [bib] - [8]Shaden Smith, Jongsoo Park, and George Karypis. 2017. Sparse Tensor Factorization on Many-Core Processors with High-Bandwidth Memory. In 31st IEEE International Parallel & Distributed Processing Symposium (IPDPS’17).
[paper] [slides] [bib] - [9]Shaden Smith, Jongsoo Park, and George Karypis. 2016. An Exploration of Optimization Algorithms for High Performance Tensor Completion. Proceedings of the 2016 ACM/IEEE Conference on Supercomputing (SC’16) Finalist, Best Student Paper (2016).
[paper] [slides] [bib] - [10]Shaden Smith and George Karypis. 2016. A Medium-Grained Algorithm for Distributed Sparse Tensor Factorization. In 30th IEEE International Parallel & Distributed Processing Symposium (IPDPS’16).
[paper] [slides] [bib] - [11]Shaden Smith, Niranjay Ravindran, Nicholas D Sidiropoulos, and George Karypis. 2015. SPLATT: Efficient and parallel sparse tensor-matrix multiplication. In 29th IEEE International Parallel & Distributed Processing Symposium (IPDPS’15).
[paper] [slides] [bib] - [12]Shaden Smith and George Karypis. 2015. Tensor-Matrix Products with a Compressed Sparse Tensor. Proceedings of the 5th Workshop on Irregular Applications: Architectures and Algorithms (IA3’15) (2015), 7.
[paper] [slides] [bib] - [13]Niranjay Ravindran, Nicholas D Sidiropoulos, Shaden Smith, and George Karypis. 2014. Memory-efficient parallel computation of tensor and matrix products for big tensor decomposition. Proceedings of the Asilomar Conference on Signals, Systems, and Computers (2014).
[paper] [slides] [bib] - [14]Yuliya Lierler, Shaden Smith, Miroslaw Truszczynski, and Alex Westlund. 2012. Weighted-sequence problem: ASP vs CASP and declarative vs problem-oriented solving. Practical Aspects of Declarative Languages (PADL’12) (2012), 63–77.
[paper] [slides] [bib]
Invited Talks & Posters
- [1]Shaden Smith and George Karypis. 2018. Accelerating the Tucker Decomposition with Compressed Sparse Tensors. SIAM Conference on Parallel Processing for Scientific Computing (PP’18),
Minisymposium: Tensor Decomposition for High Performance Data Analytics (2018).
- [2]Ancy Sarah Tom, Shaden Smith, and George Karypis. 2018. Triangle Counting and Truss Decomposition on Modern Parallel Architectures. SIAM Conference on Parallel Processing for Scientific Computing (PP’18),
Minisymposium: Architecture-Aware Graph Analytics (2018).
- [3]Shaden Smith, Jongsoo Park, and George Karypis. 2017. An Exploration of Optimization Algorithms for High Performance Tensor Completion. SIAM Conference on Computational Science and Engineering
(CSE’17),
Minisymposium: Tensor Decompositions: Applications and Efficient Algorithms (2017).
- [4]Shaden Smith and George Karypis. 2016. High Performance Sparse Tensor Factorization. Intel Research, invited talk (2016).
[slides] - [5]Shaden Smith, Jongsoo Park, and George Karypis. 2016. An Exploration of Optimization Algorithms for High Performance Tensor Completion. The 9th International Workshop on Parallel Matrix Algorithms and Applications (PMAA’16),
Minisymposium: Sparse Matrix and Tensor Computations (2016).
[slides] - [6]Shaden Smith and George Karypis. 2016. Efficient Factorization with Compressed Sparse Tensors. SIAM Conference on Parallel Processing for Scientific Computing (PP’16),
Minisymposium: Parallel Algorithms for Tensor Computations (2016).
[slides] - [7]Shaden Smith and George Karypis. 2016. SPLATT: Enabling Large-Scale Sparse Tensor Analysis.
[paper] - [8]Shaden Smith and Peter Robinson. 2013. LULESH and OpenACC: To Exascale and Beyond!!! PGI OpenACC Workshop (2013).
[slides] - [9]Shaden Smith and Jerry Fish. 2012. 2010: A GPU Odyssey. Lexmark Celebrate Success Seminar (2012).
- [10]Shaden Smith and Jerry Fish. 2011. Particle Flow Modeling or: How I Learned to Stop Worrying and
Love DEM. Lexmark Student Symposium (2011).


If you are like me and you have to work in many different projects you probably will end up with a bloated eclipse… which is bad. This is Eclipse sluggishness is extremely obvious when you do Android development.
So, what have I done to minimise the impact of working in multiple projects at the same time?
Easy, I have two Eclipses: One for Java apps, and one for Android (I know, I know, there’s a new Android Studio coming, but let’s face it, in Ubuntu it doesn’t work… so until mighty Google sorts this out, I’ll stick to Eclipse).
Now, the problem of having different eclipses is that… the icon is the same and trust me, you will click the wrong one many times… and Eclipse is not the fastest app to load up.
Anyway, I found here a nice image to use as an Icon, however, the white background screamed quiet a lot once dropped in my lovely black gnome-shell.
I don’t think I’m a good graphic designer, but it seems to work quiet well


This following examples are forks of Google's samples to test WebRTC with the few changes needed so they would work on IE and Safari using the plugin provided by Temasys
All of the samples use adapter.js, a shim to insulate apps from spec changes and prefix differences. In fact, the standards and protocols used for WebRTC implementations are highly stable, and there are only a few prefixed names.


Blood and Dust is a collaboration of two dark queerdos inspired by
horror cinema and occultism. Part horror drone, part spookfolk, part
post-rock, they blend synth and cello into nightmarish auditory rituals.
It is the music you hear while wandering a cursed manor at night,
calling you to the basement where dreadful things happen. Bring your
salt, keep your lantern lit, and stay safe while communing with the dead.


Britain’s pioneering homosexual fathers split after one starts dating their daughter’s ‘ex-boyfriend’
The daughter of one of Britain’s “first gay dads” has spoken out about why she is happy that her father has found love with her “ex-boyfriend”.
Saffron Drewitt-Barlow, 19, is totally fine with her dad, Barrie Drewitt-Barlow, taking up with 25-year-old Scott Hutchison, who she used to be linked to, she wrote in an Instagram post.
“Scott is one of my best mates and I am happy that he and daddy can finally feel comfortable enough to talk about their relationship,” Saffron wrote in a post shared by Barrie.
The New York Post reports that the teenager revealed that things were never romantic with Hutchison, and that she was only pretending to date him to keep his sexuality secret after he came out to her years ago.
“It is time you all knew there was NEVER any more than a friendship between us…,” she wrote. “Scott had told me he was gay years ago and I agreed to help him keep his secret by pretending to be his girlfriend. That, I’m happy to say, was it!”
Barrie, 50, shared his daughter’s post from her private account on his own, with the caption: “Love my baby girl so much x this should shut a few of those tw*ts up!”
Barrie said that while Tony is his “true love,” they grew apart in recent years and were sleeping in separate bedrooms. That fact, together with Tony’s deteriorating health following a 2006 cancer diagnosis, led them to drift “into a platonic relationship.”
Saffron said she and her siblings are totally accepting of their dad’s new relationship with Scott, who helps to care for ailing Tony.
“My parents are my best friends and although ‘officially’ they are not together like that any more they remain the best of friends and care for each other better than any other parents I know,” she wrote.
“My brothers, dad and I are extremely happy for Scott and daddy who cares day and night for my sick dad.”
Tony and Barrie Drewitt-Barlow were England’s first same-sex couple to be named on a birth certificate as parents.
Barrie opened up about their new unconventional living arrangement to The Sun on Saturday.
“I’ve fallen in love with Scott and he has done the same,” Barrie, 50, said.
 But when you know something is right, it’s right. We have not made definite plans but I would like to marry Scott.”
Scott, 25, and Barrie are continuing to live in the family’s $US7.5 million (A$11.02 million) Florida mansion, along with Tony and Saffron and the rest of the family.
Barrie told the paper that his estranged husband and Saffron are accepting of the relationship.
“I’m not having a midlife crisis — if I was having one I’d buy myself a Porsche 911,” Barrie said.
“This is the real deal. But not everyone will get it, as our living arrangements are unorthodox — I feel like I’m living in a commune, we are all still living together.”
Barrie and Tony in 1999 welcomed twins born to a surrogate and declared themselves “Britain’s first gay dads,” The Sun said.
The couple became civil partners in 2006 and married in 2014 once it became legal to do so in the UK, the report said. They have five children.
MORE NEWS
Prince Andrew caught in N-word row
North Korea ‘not interested’ in more US summits
Scott Hutchison first appeared as Barrie’s personal assistant in TV show The Parent Makers in 2014.
This story first appeared in the New York Post and is republished with permission.


Welcome to SEER, USERNAME
Available questions...
QUESTIONS
Your groups
GROUPS
Create Question
Create Group
FOOTER
User
Find User
Group
Find Group
Question
Find Question


Fully color space aware
Each color belongs to a color space; operations are color space agnostic. Modules for a wide variety of color spaces, including Lab/LCH, sRGB and friends (HSL/HSV/HWB), Display P3, Jzazbz, REC.2100 and more.
@@include('_head.html')
Each color belongs to a color space; operations are color space agnostic. Modules for a wide variety of color spaces, including Lab/LCH, sRGB and friends (HSL/HSV/HWB), Display P3, Jzazbz, REC.2100 and more.
Actual gamut mapping instead of naïve clipping, multiple DeltaE methods (76, CMC, 2000, Jz), multiple chromatic adaptation methods (von Kries, Bradford, CAT02, CAT16), all with sensible defaults
Every CSS Color 4 format & color space supported for both input and output, whether your browser supports it or not.
Color objects for multiple operations on the same color, and static Color.something() functions for one-off calculations
Use only what you need, or a bundle. Client-side or Node. Deep extensibility with hooks.
Color.js is currently an unreleased work in progress. Here be dragons. If you found this website somehow, feel free to try it out and give us feedback, but sshhhh! 🤫 There are more bugs in the live code snippets ("Color Notebook") in the docs than the actual Color.js library, so before reporting a bug, please try to reproduce it outside Color Notebook.
Any color from CSS Color Level 4 should work:
let color = new Color("slategray");
let color2 = new Color("hwb(60 30% 40%)");
let color3 = new Color("color(display-p3 0 1 0)");
let color4 = new Color("lch(50% 80 30)");
// CSS variables work too!
let colorjsBlue = new Color("--color-blue");
You can use properties to modify coordinates of any color space and convert back
let color = new Color("slategray");
color.lightness = 80; // LCH coords available directly on colors
color.chroma *= 1.2; // saturate 20%
color.hwb.whiteness += 10; // any other color space also available
Chaining-style modifications are also supported:
let color = new Color("lch(50% 50 10)");
color = color.set({
hue: h => h + 180,
chroma: 60
}).lighten();
Output in any color space
let color = new Color("slategray");
color + ""; // default stringification
color.to("p3").toString({precision: 3});
Clip to gamut or don't
let color = new Color("p3", [0, 1, 0]);
color.to("srgb").toString({inGamut: false})
Change color space:
let color = new Color("slategray");
color.space = "srgb"; // Convert to sRGB
color.spaceId = "srgb"; // Same
color.space = "sRGB"; // Capitalization doesn't matter
color.space = Color.spaces.srgb; // Same
color.spaceId = Color.spaces.srgb; // Same
Get a function that accepts a percentage:
let color = new Color("p3", [0, 1, 0]);
let redgreen = color.range("red", {
space: "lch", // interpolation space
outputSpace: "srgb"
});
redgreen(.5); // midpoint
Interpolation by discrete steps:
let color = new Color("p3", [0, 1, 0]);
color.steps("red", {
space: "lch",
outputSpace: "srgb",
maxDeltaE: 3, // max deltaE between consecutive steps
steps: 10 // min number of steps
});
Shortcut for specific points in the range:
let color = new Color("p3", [0, 1, 0]);
let redgreen = color.mix("red", .5, {space: "lch", outputSpace: "srgb"});
let reddishGreen = color.mix("red", .25, {space: "lch", outputSpace: "srgb"});
Static syntax (every color method has a static one too):
Color.mix("color(display-p3 0 1 0)", "red", .5);


Status: Passed (as amended) Jan 89 X3J13Issue: DEFSTRUCT-REDEFINITION
References: DEFSTRUCT (CLtL pp 305-320)
Related-issues: DEFSTRUCT-ACCESS-FUNCTIONS-INLINE
Category: CLARIFICATION
Edit history: Version 1 by Skona Brittain 07/26/88
Version 2 by Larry Masinter 7-Jan-89
Version 3 by Masinter 6-Feb-89 as per Jan 89 X3J13 amendment
Problem Description:
The case of a structure type being redefined is not discussed in CLtL. Is
it legal to redefine a DEFSTRUCT? What happens to DEFSTRUCTS that :INCLUDE
the one defined. What things might be "wired in" in compiled code that
refered to the previous DEFSTRUCT?
Proposal: (DEFSTRUCT-REDEFINITION:ERROR):
The results of redefining a DEFSTRUCT structure are undefined.
Rationale:
DEFSTRUCT is intended as "the most efficient" structure class. DEFCLASS
allows much more flexible structures to be defined. Thus, implementations
should be free to "wire in" much of the behavior of a DEFSTRUCT into
compiled code.
The issue of redefinition should be addressed since there are always
consequences that affect use of the structures.
Current Practice:
None of KCL, Lucid, & Symbolics detect a redefinition.
Envos Medley goes to some effort to detect if a new structure is
"compatible" with the old -- e.g., slots might change names, initial
values, but, since the space allocated in an instance is determined by the
:TYPE, an incompatible set of :TYPE forms would cause old instances to be
marked "obsolete". (The TYPE-OF an old instance changes to **OBSOLETE**,
for example.)
Cost to Implementors:
This proposal attempts to be consistent with current practice.
Cost to Users:
It is doubtful that any current programs actually define structures more
than once. Thus, constraints on DEFSTRUCT redefinition primarily affect the
debugging environment.
Cost of Non-Adoption:
Confusion.
Benefits:
Clarity.
Aethetics:
Something that is not well-defined and leads to erratic behavior should be
explicitly considered an error.
Discussion:
Common implementation techniques may cause the following behavior if a
DEFSTRUCT is redefined:
If the new DEFSTRUCT is identical to the old DEFSTRUCT except for the
initialization forms for slots, previous structure objects probably can
continue to be accessed with previously compiled slot accessors. DEFSTRUCT
constructor, test functions are proclaimed INLINE, and if these have
changed, previously compiled occurrences of them may behave unpredictably.
If any change is made to the definiton of the slots (either in number,
name, or :TYPE), attempting to execute a slot accessor of the old
definition may behave unpredictably: if a slot name of the old definition
also names a slot of the new definition, any "compiled" code might use the
old definition instead.
DEFSTRUCT constructor, test functions may also be proclaimed INLINE, and
may behave unpredictably if previously compiled. In particular, a compiled
occurance of a constructor might have the previously slot initial values
"wired in".
If the new DEFSTRUCT differs from the old in any aspect other than the
initialization forms for slots, the results of attempting to access any old
instance might result in unspecified behavior. For example, if the size of
the structure became considerably shorter, an old accessor might "access
off the end" of an instance of a new object; it might signal an error or
have other unpredictable results.
Masinter supports this proposal. If users want more flexibility than
DEFSTRUCT allows, they should use DEFCLASS.
Some felt strongly that just saying it's an error to redefine a structure
but not requiring the error to be signalled will cause users to be confused
by the differing seemingly erratic behavior and code.
Programming environments are allowed, encouraged, etc. to allow such
redefinition, perhaps with warning messages. It is beyond the scope of the
language standard to define those interactions, except to note that they
are not portable.
Here's an example where reexecuting an EQUAL DEFSTRUCT might result in
different behavior:
(defvar *token-counter* 0)
(defstruct token (cookie '("unique-string")) (counter (incf
*token-counter*)))
(defvar *first-token* (make-token))
(eql (token-cookie *first-token*) (token-cookie (make-token))) => true
(defstruct token (cookie '("unique-string")) (counter (incf
*token-counter*)))
(eql (token-cookie *first-token*) (token-cookie (make-token))) => false
I.e., even though the second DEFSTRUCT is EQUAL to the first, the
structures are not EQL.
This is related to the compiler issue QUOTE-MAY-COPY, but is not the same
issue, since that proposal isn't proposing that QUOTE might copy its value
*every time* it is executed.


Pirate (ARRR) is a cryptocurrency that solves the issue of financial privacy on the blockchain through forced anonymous transactions. Protect your wallet and transactions with Pirate’s completely anonymous network. With forced private transactions, your privacy cannot be compromised by another users’ activity on the network. If you wish to learn more, please join the official Pirate Discord at https://pirate.black/discord/ or message FishyGuts#5085, who will be happy to help out.
100 messages
Before 05-Dec-19 12:00 AM
mrlynch07-Nov-18 07:09 AM
Getting close to 1 BTC volume in BTC/ARRR
Dumpers be dumpin' though
FishyGuts07-Nov-18 07:10 AM
30 people.
30 people is how many contributors to the pirate project I count including the 9 internation translators.
Wow.
21 developers of different skill sets and levels.
With at least SOME input to the creation growth or continuance.
So when someone asks how many contributors... "The Pirateecosystem has had 30 devs and contributors with eyes and hands on the project."
8
1
ph03nix07-Nov-18 07:14 AM
and consider that kmd ecosystem is greater than pirate ecosystem
CiPhEr07-Nov-18 07:16 AM
pretty impressive guys, wish i started mining this a couple months ago
i learned more about pirate from watching a voskshill vid
seems like zksnarks is superior to the ringtransaction tech that xmr uses. I also like that pirate forces shielded tx's, seems it would produce more anonymity for entire blockchain rather than just a few % being shielded
1
1
1
1
mrlynch07-Nov-18 07:24 AM
@FishyGuts is there an aff link for crex? Or not just yet?!
For once I thought I got blacklisted or banned or something
CiPhEr07-Nov-18 07:49 AM
getting too scammy in their i believe now just using dp (when i say dp i always think something else from a completely different industry)
2
1
passcombo.com 🏴☠🏴07-Nov-18 07:49 AM
yes grewal not enough input to the projects and you were banned
2
grewalsatinder07-Nov-18 07:50 AM
Dirty fellas
passcombo.com 🏴☠🏴07-Nov-18 07:50 AM
it's not good we dont have daily Arrr production sold - it means it is stashed and gonna be dumped if price move little up (unless there are really strong hands) but each hands are strong untill need to pay bills you know
grewalsatinder07-Nov-18 07:51 AM
Hope to see those cheering here then
passcombo.com 🏴☠🏴07-Nov-18 07:51 AM
we need to get daily 30 new buyers to sustain the price and avoid sudden dump
CiPhEr07-Nov-18 07:51 AM
after seeing what ravencoin has done i'm definitely thinking this is my second chance to actually hold something
passcombo.com 🏴☠🏴07-Nov-18 07:52 AM
@CiPhEr not it's not - if yo uthink like all the people - buy, hodl, do nothing it wont.
grewalsatinder07-Nov-18 07:52 AM
What is the price these days?
Flexatron07-Nov-18 07:52 AM
0.12ish
passcombo.com 🏴☠🏴07-Nov-18 07:52 AM
price is floor about 0.11-12
Flexatron07-Nov-18 07:52 AM
Dumpydidump
CiPhEr07-Nov-18 07:52 AM
the intrinsic value of a super secure and always private coin that rivals monero, yeah this is going places. i'm sure pirate will be on one of the top 3 exchanges within a year
would be cool for pirate to be used also as an attractant to the kmd platform for similar would-be developers to get new projects off the ground & make already flying ones much more secure.
perhaps this is the coin that could get the hyperdex into warp drive popularity if in the future it was compatible with shielded tx's
Flexatron07-Nov-18 09:27 AM
Any celebrations at block 100K?
4
V__C07-Nov-18 09:48 AM
Hello tharrr - who wants to meet on the digipirate shores - I have the corn waiting
DM offers
Oszy07-Nov-18 10:38 AM
anybody wants KMD on DigiPrice @ GA price? I need some BTC on there and dont want to withdraw > exchange > deposit takes ages.
Not that it matters to most people, but DP seems to have a market calculation/GUI err where that shows as a sell (dump) rather than a buy
Oszy07-Nov-18 12:11 PM
I noticed that
ComputerGenie 👴👴👴07-Nov-18 12:11 PM
Placed a day before the trade happened, it should be "green" and not "red"
Flexatron07-Nov-18 12:12 PM
Dipped below 200M diff for the first time in a while
ComputerGenie 👴👴👴07-Nov-18 12:12 PM
yeah
dumpers be dumpin'
acidus07-Nov-18 12:13 PM
Dumpers dumpin, pirates pumpin
ComputerGenie 👴👴👴07-Nov-18 12:13 PM
thinks he might try for his CCNA after all he's went through and learned in the last 3 days, though
Oszy07-Nov-18 12:13 PM
setting up a pool?
ComputerGenie 👴👴👴07-Nov-18 12:14 PM
no, that's easy because those servers are virtual, so it's already done there
finally setting up home/work networks the way I should have 2 years ago
2 ISPs, 3 vlans, and ~150 devices
Oszy07-Nov-18 12:15 PM
Ohhhhhh, are you using meraki?
ComputerGenie 👴👴👴07-Nov-18 12:16 PM
no, all pure interface
P3L307-Nov-18 12:16 PM
vendor?
Oszy07-Nov-18 12:16 PM
noice
ComputerGenie 👴👴👴07-Nov-18 12:16 PM
@P3L3 about 6 different ones
P3L307-Nov-18 12:17 PM
nice.. you be ready then..
ComputerGenie 👴👴👴07-Nov-18 12:18 PM
at one point yesterday I was contemplating binning every piece and spending a bajillion dollars to buy all cisco products, because every anything that tells how I need to do what I need done is only shown with cisco shit and only cli
if I had all cisco products, I could have had it done in like 10 minutes
jansako07-Nov-18 12:23 PM
Hi folks, anyone knows who is running piratepool.io?
P3L307-Nov-18 12:23 PM
but then again you would have spent a ton..
we do MikroTik and you can go both cli and gui..
a lot mor echeaper equipment and you get the same results
jansako07-Nov-18 12:23 PM
trying to figure out if I can set the difficulty on the pool config on the rig side. Well, Mining Rig Rental side, to be sure...
I rented several A9's, and some of them are complaining about diff being too low
ComputerGenie 👴👴👴07-Nov-18 12:24 PM
@jansako no, you can't port diffs are set in pool config
P3L307-Nov-18 12:24 PM
i think its webworker01
jansako07-Nov-18 12:24 PM
right, thx!
 Oh wait, dumpers
Oszy07-Nov-18 02:21 PM
well on the bright side they dump to BUYERS
passcombo.com 🏴☠🏴07-Nov-18 02:45 PM
we need more contests and lotteries, from what I know the lottery bot (my idea! not my implementation) is almost done hope it will do some nice attraction(edited)
FishyGuts07-Nov-18 02:56 PM
Yall are funny.
We just ended a lottery contest with a $1250 value like... 5 days ago.
If you wanna donate items and currecy for said lotteries and contests.. be my guest.
I said Buy pressure will drop the price... at LEAST for two months.
It's unlrealistic to assume we're gonna get 30+ new buyers a day at this phase.
Just FYI :)
Patience padawans. I know you're exciterd @passcombo.com 🏴☠🏴 but we cannot force this
3
1
scubapanda07-Nov-18 03:18 PM
I’m guessing the price will level very close to mining cost when there is nothing major happening. World is full of miners that are happy with 5-10% profit on their daily mining rewards.
BlockTech07-Nov-18 03:29 PM
Exactly, well not as long as Jl777 has his buy order at 0,1 KMD, two scenario are possible, hashrate increasing to 200Msol/s and more or price dumping to 0,06 0,07 ...(edited)
passcombo.com 🏴☠🏴07-Nov-18 03:32 PM
ok
jl777c07-Nov-18 04:24 PM
pirate pool hash 10% more than zen now
3
Oszy07-Nov-18 04:25 PM
wow really? that's great.
FishyGuts07-Nov-18 04:26 PM
Oszy07-Nov-18 04:27 PM
!kmdtip @FishyGuts 1.5
KMD TipBotBOT07-Nov-18 04:27 PM
TipBot
@Oszy (Oszy#5734)
You tipped @FishyGuts1.5 KMD
Oszy07-Nov-18 04:27 PM
This is what i got from referrals on DigiPri so far. Wanted to give it to the shared funds.


{{ "" | safeHTML }} {{ "" | safeHTML }} {{ "" | safeHTML }} Toggle navigation {{ with .Site.Params.navigation.brand }}{{ . | markdownify }}{{ end }} {{ "" | safeHTML }} {{ with .Site.Params.navigation.links.about }}{{ . }}{{ end }} {{ with .Site.Params.navigation.links.blog }}{{ . }}{{ end }} {{ with .Site.Params.navigation.links.contact }}{{ . }}{{ end }} {{ with .Site.Params.navigation.links.preorder }}{{ . }}{{ end }} {{ "" | safeHTML }} {{ "" | safeHTML }} Thank You! Thanks so much for your interest in the MailHaven smart mailbox pilot program. We have a limited number of pilot program units available. If you're selected for the program we'll contact you in early 2017. {{partial "mh-social.html" .}} {{partial "footer.html" .}}


Version 0.11.0 LATEST VERSION KAD IN HERE Liberty 4 All at the airport, March 23, 2018
A simple stateless JEE app served up with the WebSphere Liberty Profile.
v 0.11.0
Pod:
.
Log It!


UNRAR(1) RAR archiver UNRAR(1) NAME unrar - extract files from rar archives SYNOPSIS unrar <command> [-<switch 1> -<switch N>] archive [files...] [path...] DESCRIPTION This manual page documents briefly the unrar command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. Commands and options described here are as of unrar 2.02. OPTIONS After the program name comes a command and then optional switches with dashes before them. A summary of commands is included below. For a com‐ plete description, run unrar without options. e Extract files to current directory. l List archive content. p Print file to stdout. t Test archive files. v Verbosely list archive. x Extract files with full path. SWITCHES NOTE: Every switch must be separated by a whitespace. You cannot put them together. -av- Disable Authenticity Verification check. -c- Disable comments show. -f Freshen files. -kb Keep broken extracted files. -ierr Send all messages to stderr. -inul Disable all messages. -o+ Overwrite existing files. -o- Do not overwrite existing files. -p<password> Set password. -p- Do not query password. -r Recurse subdirectories. -u Update files. -v List all volumes. -x<file> Exclude specified file. -x@<list> Exclude files in specified list file. -x@ Read file names to exclude from stdin. -y Assume Yes on all queries. AUTHOR This manual page was written by Petr Cech<EMAIL_ADDRESS>according to "unrar -h" for the Debian GNU/Linux system (but may be used by others). 02.11.1999 UNRAR(1)


Use this command to replay the last macro recorded with the Record command.
If an error occurs while the macro is playing the macro stops, this helps prevent unintentional changes to the file. You can set the severity of the error that causes the macro to stop playing in the Macro page of the Options dialog. You can also use this page to set when and how often the display is refreshed during macro playback.
Note that during playback user-interaction is not usually required but may be necessary at times. For example, if you attempt to insert or delete bytes in a window that is in overtype mode HexEdit will prompt you (as the user of the macro) if you want to turn off overtype mode. If you elect not to turn off overtype mode an error is generated and the macro stops playing.
To play a macro multiple times or play a macro from disk use the Play command.
To record a macro see the Record command.
Shortcuts
Toolbar:
Keys: F8


Notebook for
Harry Potter and the Half-Blood Prince
J.K. Rowling
Citation (APA): Rowling, J.K. (2018). Harry Potter and the Half-Blood Prince [Kindle Android version]. Retrieved from Amazon.com
Chapter 3 - Will and Won't
Highlight (yellow) - Location 807
‘And now, Harry, let us step out into the night and pursue that flighty temptress, adventure.’
Chapter 5 - An Excess of Phlegm
Highlight (yellow) - Location 1348
‘Dumbledore says people find it far easier to forgive others for being wrong than being right,’ said Hermione.
Chapter 20 - Lord Voldemort's Request
Highlight (yellow) - Location 5997
Voldemort’s expression remained impassive as he said, ‘Greatness inspires envy, envy engenders spite, spite spawns lies. You must know this, Dumbledore.’ ‘You call it “greatness”, what you have been doing, do you?’ asked Dumbledore delicately.
Chapter 23 - Horcruxes
Highlight (yellow) - Location 6732
– I mean, would one Horcrux be much use? Can you only split your soul once? Wouldn’t it be better, make you stronger, to have your soul in more pieces? I mean, for instance, isn’t seven the most powerfully magical number, wouldn’t seven
Highlight (yellow) - Location 6923
But he understood at last what Dumbledore had been trying to tell him. It was, he thought, the difference between being dragged into the arena to face a battle to the death and walking into the arena with your head held high. Some people, perhaps, would say that there was little to choose between the two ways, but Dumbledore knew– and so do I, thought Harry, with a rush of fierce pride, and so did my parents– that there was all the difference in the world.
Chapter 26 - The Cave
Highlight (yellow) - Location 7624
… age is foolish and forgetful when it underestimates youth…
Highlight (yellow) - Location 7644
It is the unknown we fear when we look upon death and darkness, nothing more.’
Chapter 30 - The White Tomb
Highlight (yellow) - Location 8752
‘We’ll be there, Harry,’ said Ron. ‘What?’‘At your aunt and uncle’s house,’ said Ron. ‘And then we’ll go with you, wherever you’re going.’‘No –’ said Harry quickly; he had not counted on this, he had meant them to understand that he was undertaking this most dangerous journey alone. ‘You said to us once before,’ said Hermione quietly, ‘that there was time to turn back if we wanted to. We’ve had time, haven’t we?’
Highlight (pink) - Location 8756
‘We’re with you whatever happens,’ said Ron.
Highlight (pink) - Location 8761
His hand closed automatically around the fake Horcrux, but in spite of everything, in spite of the dark and twisting path he saw stretching ahead for himself, in spite of the final meeting with Voldemort he knew must come, whether in a month, in a year, or in ten, he felt his heart lift at the thought that there was still one last golden day of peace left to enjoy with Ron and Hermione.


This app provides you a real-time data tracker of Southern Vietam climate properties
Data included: temperature, humid, rain, sea level


This is the information you will need to know to pay for your spot at TEDxSVSU
SATURDAY, AUGUST 1, 2015
Tickets!Benjamin Champagne
Benjamin Champagne is co-owner of Counter Culture in Saginaw, MI. Educated at Saginaw Valley State University, he writes monthly reviews for Newpages.com. Counter Culture is an Arts Collective with a focus on art, music and any aspect of the humanities. Ben himself, writes, sings, paints, plays music, directs crowds and dabbles with yoga along with any other pursuit that tickles his fancy at the time. He isn't great at any, but nothing stops him from trying.
Brian Thomas
Dr. Brian Thomas is an Associate Professor of Sociology at Saginaw Valley State University where he teaches and does research on global cultures and food. Dr. Thomas has been running ultramarathons for over a decade. He has successfully completed over a dozen ultramarathons including three 100 mile runs and a solo, unsupported 50k run on the Great Wall of China. He is currently training to run the Hallucination 100 mile trail run on September 9th in honor of his late wife, Holli Wallace. Through his running, he has also raised almost $20,000 in donations to various charities including, most recently, the Children's Grief Center of the Great Lakes Bay Region. Dr. Thomas has two sons, Oliver age 5 and Elliott, age 10.
Marlin M. Jenkins
Marlin M. Jenkins was born and raised in Detroit. A graduate of SVSU, he's currently a poetry student in University of Michigan's MFA program where he writes about faith, pop culture, race, and mental health. He competes in poetry slams and has had writing published by a variety of publications, including The Collagist, The Journal, Word Riot, and The Offing. A former college Writing Center tutor, he's recently worked with students in Detroit Public Schools through a program called Inside Out.
Glenn Daniels
Glenn Daniels has over 25 years experience in working with thousands of individuals and organizations to help set strategies that create powerful changes from within. His clients are spread across a variety of industries including the United States Military, Communications, Insurance, Health Care, Funeral and Network Marketing.
His goal is to improve the life's of individuals by sharing skills that motivate people to learn and be able to quickly apply their new found skills, creating the life that they desire. He does this through entertaining and informative lectures and workshops that unleash the potential of each person, and connect work life and personal life to create powerful and joyful people. The end result is the creation of compelling personal goals that align with one's desires and passion.
Darnell Jackson
As human beings we all create a carbon footprint based upon the activities that we are involved in, which contribute carbon dioxide to the environment and have an impact on the earth. Just as our actions have an impact on the earth in terms of our carbon footprint, so too do our activities have an impact upon those people that we come into contact with. We all get a chance to shape our legacy, and there are certain steps that we can take to make sure that ours is a positive one.
Darnell Jackson is a Circuit Court Judge, informational speaker and nationwide presenter for the National Judicial Institute on Domestic Violence. He is the author of the acclaimed book "The Steps of A Good Man," which provides practical and proven methods for dealing with the challenges and setbacks of life. This presentation will focus on those things that each of us can do in order to create a legacy that we can be proud of.
Elad Inbar
Elad Inbar is the founder and CEO of both www.RobotLAB.com, a multi award-winning company focused on teaching STEM subjects using robotics platforms in order to engage students; and www.RobotAppStore.com the first marketplace for apps for robots.
Passionate about robotics, Elad has shared his expertise with thousands of high schools, science museums, and research groups at prominent schools and universities around the world. He share his experience as a speaker in many events such as SxSW, TCEA, ACTE, FETC and many others. With parallel careers in academia and technology, Elad is uniquely qualified to bridge the cutting-edge robotics industry and the educational market.
Based in San Francisco, Elad has lived on three continents and recruited teams speaking more than 10 languages. He managed Israel's largest internet portal's R&D team back in 1999, managed the internet department of Orange Israel and founded massiveImpact and Affilimob, the first global mobile marketing network utilizing artificial intelligence, with offices in Taiwan, China, Thailand, Singapore, Israel and Italy. He is also the co-founder of the IROB Israel's Robot Association. His current ventures in robotics and education received wide publication and recognition in the Time Magazine, The New Yorker, Tech Crunch, IEEE, NBC, Financial Times, Fast Company, CNET, San Francisco Chronicle and many other media outlets.
Glenn Daniels
Glenn Daniels has over 25 years experience in working with thousands of individuals and organizations to help set strategies that create powerful changes from within. His clients are spread across a variety of industries including the United States Military, Communications, Insurance, Health Care, Funeral and Network Marketing.
His goal is to improve the life's of individuals by sharing skills that motivate people to learn and be able to quickly apply their new found skills, creating the life that they desire. He does this through entertaining and informative lectures and workshops that unleash the potential of each person, and connect work life and personal life to create powerful and joyful people. The end result is the creation of compelling personal goals that align with one's desires and passion.


WITNESS LIST Public Health Committee July 10, 2003-8:00A HB 50 For: Hoffman, Courtney (CAMP Camping Association for Mutual Progress) Against: Morton III, Robert (Self) Morton Jr, Robert (Naturist Action Committee) Registering, but not testifying: On: Briseno, Elias (Texas Dept of Health) HB 89 For: Berry, Jorey (Self and March of Dimes, Texas Chapter) Boom MD, Julie (Texas Childrens Hospital) Buck MD, Ernest (Self and Texas Pediatric Society) Camacho, Jose (Tx Assn of Community Health Centers) Flores, Vivian (San Antonio Metropolitan Health district) Smith, Cheryl (Self and Texas Childrens Hospital) Waldrop, Bobby (Self) Against: Bost, Collin (American Civil Liberties Union of Texas) Kerr Young, Virginia (Self) Rex, Rebecca (Self) Richardson, Dawn (Parents Requesting Open Vaccine Education) Singleton, Cynthia (Self) Ward, Matthew (Self) Young, Clayton (Self) On: Stanley MD, Sharilyn (Tx Dept of Health) HB 96 For: Bright, Mike (The Arc of Texas) Camacho, Jose (Tx Assn of Community Health Centers) Evans, David (Austin County MHMR Center) Garnett, Richard (the ARC of Texas) Graves, Sandra (Self) McDermott, Jim (Self and MHMR of Tarrant) Rushing, Susan (Burke Center) Travis, Jamie (Self) Against: Beal, Shannon (Bethesda Lutheran Homes and Services) Guthrie, Snadra (Self) Harness, Linda (Self) Hernandez, Richard (Self) Rogers, Elena (Self and Hill Country Support Services) Smith, Carol (Private Providers Association of Texas) Thompson, John (Self) On: Horton, Colleen (Tx Center for Disability Studies) Murphree, Susan (Advocacy Inc) HB 96 Committee Substitute (McReynolds) Against: Hooser, Greg (Private Providers Association of Texas)


This information will help you with the application process to become a research student.
Application Deadlines
The admission points for research degree applicants are October and February of each academic session. Please note that the application deadline for February 2017 entry has now passed. If you select the February option on either application or submission, the system will default your application to 1 February 2018 entry. The next entry points are:
If you wish to be considered for October 2017 entry, you must submit a complete application by 31 May 2017.
If you wish to be considered for February 2018 entry, you must submit a complete application by 31 October 2017.
Please ensure that you meet our minimum English language requirements prior to applying. Information on our English language requirements
Doctorate Routes Available
Masters degree (MSc/MRes):
Full time research
Normally 12 months full-time or 24 months part-time
Doctor of Philosophy (PhD)
Full time research
Normally 36 months full-time or 60 months part-time
Professional Doctorate (PD)
Combination of taught modules and research project
Normally 36 months full-time or 60 months part-time


Importance
Porcine brucellosis, caused by the bacterium Brucella suis, is an economically important cause of reproductive loses in pigs. This organism can be maintained in wild and feral swine, complicating eradication efforts in domesticated pigs. One variant, found only in Europe, is also maintained in hares. Some variants of B. suis mainly affect caribou, reindeer or rodents, and are not important in pigs.
Species Affected
Most species of Brucella are primarily associated with certain hosts; however, infections can also occur in other species, particularly when they are kept in close contact. B. suis biovars 1, 2 and 3 affect swine. Biovars 1 and 3 are found in both domesticated pigs.
B. suis biovars have been reported occasionally in cattle, small ruminants, horses, dogs and other spillover hosts.
Diseases brought about by bacteria’s
in the animals body have been rampantly spreading.
Diseases brought about by bacteria’s
in the animals body have been rampantly spreading.


Note
Please note that all functionalities associated with the features allowing users to add multiple contributors details at once has been disabled. If these features are important to you, you can reach out on Github or WikiContrib talk page
Usage¶
As specified, WikiContrib is used in visualizing the contributions of Wikimedians in the form of graphs and user contribution calendar. Let’s start the discussion with how to use the tool first.
Intro to Queries¶
A Query is initiated whenever a user searches for the contributions of a single or a group of Wikimedians. Each query is uniquely identified by a user-friendly hash. Each query has a group of filters associated with it. There are two filters in a query:
From time.
Time Range.
From time: The user can get all the commits from a specified time (i.e month and year).
- Time Range: From the specified From time, the user needs to give a range
of time to which he/she want to fetch the details with the maximum being one year (i.e last one year, last one month or last 6 months, etc).
Query Creation¶
To create a query, the user needs to add the data (contributors full name, usernames of Gerrit, Phabricator, and Github) to the query. The user can add the data in two different ways:
Entering usernames manually.
Adding usernames in bulk.
Entering usernames manually:
Home page
Whenever the user goes to the home page, the above page will be displayed. In the above, the table has four columns. They are:
Fullname
Gerrit Username
Phabricator Username
Github Username
The user needs to fill the above four details of the corresponding Wikimedian whom the user wants to view the contributions of. Gerrit Username
is used to fetch the data from Gerrit APIs, same with Phabricator
and Github
usernames.
The details fetched from the APIs are associated with a common name i.e Fullname
of the user.
Fullname is also used in searching the users, we will discuss the searching in the later part of the doc.
There is an option provided to add usernames of multiple Wikimedians. By clicking on Add Row button, another empty row is added to the DOM. Similarly, the user can add any number of rows and fill the usernames into them. One of the cool things about the tool is the usernames the user entered will be cached in the user device cache. So, even if the user refreshes or closes the page, the details will not be lost! the user can fill a few usernames at some time, close the page and re-open it at some other time and add few other usernames. The user can also clear the cached data. Clicking the Reset button clears all the data he/she entered into the tool.
Adding Usernames in Bulk:
Entering usernames of tens of users is easy. But what if the user wants to know the contributions of hundreds of Wikimedians? It will take a lot of time and work to fill them manually to the tool. So, there is also an option to upload all the usernames in a CSV file. On clicking the toggle bar with text “Bulk Add”, the user will be provided with an option to upload a CSV file. If the user is uploading a CSV file, he/she needs to fill the data in the file in a particular format.
The CSV format is:
Once the data is provided, (either entered manually or using a CSV file),
The user can click the search button and this initiates a request to the server. The tool first verifies that the usernames provided belong to the same user and if not, warns the user of the mismatch. The user can decide whether to proceed or to crosscheck the provided usernames. If the usernames match or if the user decides to proceed, the tool then makes API requests to Gerrit, Phabricator, Github APIs.
Once all the required details are fetched, it redirects to a URL /<query_hash_code>
.
Now the user can see the graphs of user contributions vs time along with a calendar
that displays the contributions.
Note: query_hash_code
is the hash-code generated by the query, the query
can be accessed at any point in time using the hash-code.
User contribution calendar looks like:
If the user clicks on a specific date in the above calendar, all the commits made
by the Wikimedian along with the platform
will be displayed.
Hovering on the info button gives a popup with an intro paragraph about the tool.
Viewing / Updating filters¶
The user can view the results by following the above process of creating a query, there are also few filters displayed along with the result. The filters can be updated. Updating the current filters performs an API request and fetches the contributions of the Wikimedian according to the filters the user provided.
There is also an option to reset the filters to the default ones. Filters are associated with the Query. The contributions of all the Wikimedians are fetched according to the filters the user changed!
Note: Presently, the user can see all the contributions of any Wikimedian for the past one year (at maximum).
Viewing results¶
- Once the contributions of the user are fetched, these things are displayed:
Graph of user contributions in Gerrit.
Graph of user contributions in Phabricator.
Graph of user contributions in Github.
A simple calendar that displays all the user contributions for the period you provide (similar to Github green squires).
At a time, the contributions of a single user are displayed. There are arrows
provided to get the details of the next and previous user to the current user.
There is also an input box provided. If you want to get the contributions of a
specific user, you can search the fullname
of the user in the search box.
It displays the recommendations of the top 50 matching users.
Updating Queries¶
Once a user creates a query with the usernames of a set of Wikimedians and at a later point of time, if he/she wants to know the contributions of another Wikimedian, instead of creating a new query for a single Wikimedian, he/she can update the query and add the corresponding usernames.
There are four main different types of updates possible:
Initially a CSV file can be provided, another CSV file can be provided while updating the query.
Initially a CSV file can be provided, a set of usernames of Wikimedians can be provided manually while updating the query.
Initially a set of usernames of Wikimedians are provided manually, a CSV file can be provided while updating the query.
Initially a set of usernames of Wikimedians are provided manually, another set of usernames of Wikimedians are provided manually while updating the query.


| Number of Classes | Line Coverage | Mutation Coverage |
|---|---|---|
| 10 | 59% | 34% |
| Name | Line Coverage | Mutation Coverage |
|---|---|---|
| CompositeTitle.java | 57% |
57% |
| DateTitle.java | 80% |
0% |
| ImageTitle.java | 17% |
11% |
| LegendGraphic.java | 80% |
58% |
| LegendItemBlockContainer.java | 93% |
38% |
| LegendTitle.java | 82% |
46% |
| PaintScaleLegend.java | 41% |
20% |
| ShortTextTitle.java | 5% |
0% |
| TextTitle.java | 57% |
31% |
| Title.java | 82% |
65% |


Motto of my life- "Success is not the key to happiness. Happiness is the key to success. If you love what you are doing, you will be successful."
Single point of contact for all things in Tech in EY FinTech India team.
Worked for a big UK based client operating in banking domain. Worked on thier mobile banking Android application.
The mobile banking application had 5 million+ downloads. It had various features such as personal and business account management, transfer funds between accounts, see recent transactions, upload sort and store your important documents, find nearest branch/cash machine, customer helpline, live chat etc.
I was entitled as Software Developer on 19th Oct 2015. I was trained on .Net Technology for next 45 days and various tests were conducted. Later few months i was shifted to a new CoolGen development Project. I again went through CoolGen training and worked on CoolGen for HPE.
Hewlett Packed Enterprise (HPE) & Computer Science Corporations (CSC) merged together to create a brand new entity, which today is known as "DXC Technology".
My activities & daily tasks remains same, it feels so great to experience this kind of huge enterprise level change which happens very rarely sometimes even once in your whole IT life.
Societies: Member of CSI(Computer Society of India), ACES(Association of Computer Engineering student). Activities: Co-ordinator for various technical and non-technical college events and workshops like C-Quiz and Game Development Workshop
Dissertation titled “Super Resolution Based Image In-painting”, 1996. Published in International Journal of Current Engineering and Technology, Dec 2014.
Participated in various college events like Gaming and C-Programming.
Played Fencing at State Level, participated in various school events like sports and quiz competitions. Held Class-Representative responsibility for 4 continuous years (7th thru 10th).
Worked on HTML and PHP to create responsive, easy-to-interact website along with user queries and subscription logic along with hosting and maintaining the website. Also created android app for the same, which has register, login, send queries, and give test etc. modules. Used JSON parsing to fetch questions with RESTful services.
View ProjectThe project aims at removing the unwanted objects from already existing digital image, increasing the resolution and repairing of images. The project uses in-painting and super resolution algorithms to accomplish the above mentioned objective.


Cardona lab
Bentley et al. (2016). The Multilayer Connectome of Caenorhabditis elegans
Berck et al. (2016) The wiring diagram of a glomerular olfactory system
Acknowledgements
Cardona lab
Scientific software and Ilastik developers
Janelia/ Cambridge graduate programs


A domain for some friends, some projects, some sites.
Things you can find here:
If you can think of something that should be on this list, please contact me. You can also make a pull request, if you'd like.


All travellers other than Australian and New Zealand citizens need a valid visa or authority to enter Australia (including electronic visas).
Please contact us if you need a letter of participation for your visa application. For some nationalities, processing and issuance of visas can take several weeks/months, so apply well before your planned travel.
For more information please visit the Department of Immigration and Border Protection website.
The Canberra Airport accommodates flights from most of the major cities in Australia by Virgin and Qantas, as well as direct from Wellington NZ by Singapore Airlines. Methods to get to and from the airport include car rental, taxi, Uber and public transport ACTION buses.
Murray's Buses make 10+ trips between Sydney and Canberra a day. Greyhound Buses also offers services from Sydney to Canberra, as well as between Melbourne and Canberra. Both these bus services arrive and depart at the Jolimont Centre. The Jolimont Centre is located a short 10 min walk from the ANU campus.
Climate
Canberra is a rare treat among Australian cities, providing a kaleidoscope of colour, activity and experiences based around our four distinct seasons.
The weather does change markedly from season to season. In December it will be summer in Australia, and temperatures in Canberra will be on average 27ºC (80.6ºF).
Canberra generally has low humidity, with dry heat in summer and cool winters. Given the city’s average elevation of 570m (1870 feet), frosts are common in winter and UV radiation can be high.
Time Zone
In December, Canberra will be on Australian Eastern Daylight Time (AEDT), which is 11 hours ahead of GMT.
What to do in Canberra
The Australian National University is located in the heart of the Canberra, with the city centre being within a 15-minute walk from the ANU. The main shopping complex contains plenty of shops and cafés, and there are no shortage of bars and clubs. On campus, there are numerous cafés and restaurants. Close to the conference venue is Ivy & The Fox, and Boffins Restaurants near University House. There are many restaurants in the city centre as well.
For all attractions, events and information about Canberra, check Visit Canberra website.


Why not buy a new awesome theme?
admin name / admin title admin info
others don't know
New Messages
Devices Online
callender
Charts


Naver Post
The
gap
option lets you set the interval between panels.
The
bound
option allows you to place panels of
various sizes
without spaces.


|
Class Summary |
| AbstractIdentityObject |
Abstract base object that provides equivalence testing for database persisted
domain objects. |
| AbstractTarget |
Base Target object to capture the common behaviour between groups and
targets. |
| AbstractTarget.AccessZone |
The access zone of the target |
| AbstractTargetGroupTypeView |
View of AbstractTarget returning the group type if a group. |
| Annotation |
An audited note attached to an object. |
| ArcHarvestFile |
This class stores information about an ARC file that forms part of a
harvest. |
| ArcHarvestFileDTO |
A data transfer object for passing Arc Harvest file data between the
components of the Web Curator Tool. |
| ArcHarvestResource |
|
| ArcHarvestResourceDTO |
A Data Transfer Oject for ArcHarvestResorce data. |
| ArcHarvestResult |
An ARC Harvest Result is the content harvested by a Target Instance, or an
altered version of that content created through something like the copy
and prune use case. |
| ArcHarvestResultDTO |
The Object for transfering harvest result objects between the Asset store and the
other web curator components |
| AuthorisingAgent |
Represents an Agent responsible for granting permission to harvest a site and
provide permission for access. |
| AuthorisingAgent.AuthorisingAgentComparator |
This is a comparator to compare two authorisng agents. |
| BandwidthRestriction |
The hibernate object for persisting bandwidth restrictions for the WCT. |
| BusinessObjectFactory |
The BusinessObjectFactory is responsible for instantiating objects and giving
them unique identifiers. |
| CustomDepositFormCriteriaDTO |
The data transfer object class used to provide required information to
WCT DAS to determine whether or not a custom deposit form is required for
the specific submission module. |
| CustomDepositFormResultDTO |
The data transfer object class used to receive required information from
WCT DAS to determine whether or not a custom deposit form is required for
the specific submission module. |
| DublinCore |
The DublinCore class contains the basic meta data description fields to be associated with an
object. |
| GroupMember |
Represents a child/parent relationship between an AbstractTarget and a
TargetGroup. |
| HarvesterStatus |
The status of a harvest. |
| HarvestResource |
A HarvestResource is a resource that has been harvested. |
| HarvestResourceDTO |
The Object for transfering Harvest Resources between the web curator components. |
| HarvestResult |
The HarvestResult class describes the result of a harvest. |
| HarvestResultDTO |
The Object for transfering Harvest Results between the web curator components. |
| LockSubject |
Class to create a pessimistic lock on an object. |
| LogFilePropertiesDTO |
The Object for transferring Log File Properties between the Asset store and the
other web curator components |
| Notification |
represents the Notification details in the system. |
| Permission |
Represents a Permission. |
| PermissionExclusion |
Represents a URL excluded from a permission. |
| PermissionTemplate |
Models the permission request template used to generate
letters and emails to Authorisation Agents. |
| Profile |
The Profile object contains information that enables the user
to control how a profile takes place. |
| ProfileBasicCredentials |
Profile override credentials for HTTP BASIC authentication. |
| ProfileCredentials |
|
| ProfileFormCredentials |
Represents Heritrix form-based credentials. |
| ProfileOverrides |
Represents a set of overrides that can be applied to a Heritrix profile. |
| RejReason |
A Rejection Reason represents the justification a user specified when setting a Target's
status to 'Rejected' or when rejecting a harvested Target Instance. |
| Schedule |
A schedule determines how often a Target or TargetGroup will be harvested. |
| SchedulePattern |
A SchedulePattern defines a simple pattern that can be
used rather than using the Cron Expressions. |
| Seed |
Defines a seed that is within the Target. |
| SeedHistory |
Defines a seed that was historically used by the Target Instance. |
| Site |
Represents a Site object. |
| Target |
A Target is a set of seeds, schedules and profile overrides that specify
what to harvest, at what times, and what harvest profile to use. |
| TargetGroup |
A TargetGroup contains a number of child targets or target groups. |
| TargetInstance |
A TargetInstance represents a particular harvest at a given date and
time. |
| TargetInstance.TargetInstanceComparator |
Internal comparator to allow for sorting the Target Instance
objects by state and scheduled date and time. |
| Task |
A Task represents an action that must be taken by a user within the WCT system. |
| UrlPattern |
Represents a pattern that can identify a site, or portion of a site, to
which a Permission record applies. |
| UrlPattern.UrlComparator |
Comparator of used to sort UrlPattern objects. |


--- name: response url: /response/ ---
This is the response of the SDOF system with T={{ ::response.mydata.sT | number}} and ζ={{ ::response.mydata.sDamp | number }}%:


git-grep
Find strings inside files anywhere in a repository's history.
Accepts a lot of the same flags as regular `grep`.
More information: home page
- Search for a string in tracked files:
git grep search_string
- Search for a string in files matching a pattern in tracked files:
git grep search_string -- file_glob_pattern
- Search for a string in tracked files, including submodules:
git grep --recurse-submodules search_string
- Search for a string at a specific point in history:
git grep search_string HEAD~2
- Search for a string across all branches:
git grep search_string $(git rev-list --all)


Check out some of our previous positions
If you are interested in joining on our team, email us at info@helpinghandsapp.com