Create a multivariate prediction model and perform data analyis of a dataset you choose. This can be either a linear regression, or a classification. This includes:
Data came from the UCI Machine Learning Repository. The data contains records of absenteeism at work for a courier company in Brazil.
Citation: Martiniano, A., Ferreira, R. P., Sassi, R. J., & Affonso, C. (2012). Application of a neuro fuzzy network in prediction of absenteeism at work. In Information Systems and Technologies (CISTI), 7th Iberian Conference on (pp. 1-4). IEEE.
# Load libraries
library(lubridate)
library(tidyverse)
library(modeest)
library(forcats)
# set.seed for reproducible results
set.seed(1222)
#import data
url <-"https://archive.ics.uci.edu/ml/machine-learning-databases/00445/Absenteeism_at_work_AAA.zip"
temp <- tempfile()
temp2 <- tempfile()
download.file(url, temp)
unzip(zipfile = temp, exdir = temp2)
df <- read_csv2(file.path(temp2, "Absenteeism_at_work.csv"))
names(df) <- df %>% names() %>% str_replace_all(' |/', '_')
df %>% write_csv("Absenteeism_at_work.csv")
#review data
df %>% glimpse()
Create a new data frame(s) with appropriate data types and data cleaning for the data.
#change data types and column names
df <- df %>% mutate(PK = row_number(),
Employee_ID = ID,
Reason = as.factor(Reason_for_absence),
Month = as.factor(Month_of_absence),
Day_of_week = as.character(Day_of_the_week),
Day_of_week = str_replace(Day_of_week, "2", "Monday"),
Day_of_week = str_replace(Day_of_week, "3", "Tuesday"),
Day_of_week = str_replace(Day_of_week, "4", "Wednesday"),
Day_of_week = str_replace(Day_of_week, "5", "Thursday"),
Day_of_week = str_replace(Day_of_week, "6", "Friday"),
Day_of_week = as.factor(Day_of_week),
Day_of_week = fct_relevel(Day_of_week, "Monday", "Tuesday", "Wednesday","Thursday", "Friday"),
Seasons = as.character(Seasons),
Seasons = str_replace(Seasons, "1", "Summer"),
Seasons = str_replace(Seasons, "2", "Autumn"),
Seasons = str_replace(Seasons, "3", "Winter"),
Seasons = str_replace(Seasons, "4", "Spring"),
Seasons = as.factor(Seasons),
Seasons = fct_relevel(Seasons, "Summer", "Autumn", "Winter", "Spring"),
Commute_distance = Distance_from_Residence_to_Work,
Disciplinary_failure = as.logical(Disciplinary_failure),
Education = as.character(Education),
Education = str_replace(Education, "1", "High_school"),
Education = str_replace(Education, "2", "Undergraduate"),
Education = str_replace(Education, "3", "Graduate"),
Education = str_replace(Education, "4", "Doctorate"),
Education = as.ordered(Education),
Education = fct_relevel(Education, "High_school", "Undergraduate", "Graduate", "Doctorate"),
Num_children = Son,
Social_drinker = as.logical(Social_drinker),
Social_smoker = as.logical(Social_smoker),
Num_pets = Pet,
BMI = Body_mass_index,
Absenteeism_hours = Absenteeism_time_in_hours)
df <- df %>% select(PK, Employee_ID, Reason, Month, Day_of_week, Seasons, Age, Education, Weight, Height, BMI,
Transportation_expense, Commute_distance, Service_time, Work_load_Average_day, Hit_target,
Disciplinary_failure, Num_children, Num_pets, Social_drinker, Social_smoker, Absenteeism_hours)
#look for basic trends
y_var <- "Absenteeism_hours"
gg_scatter <- function(data, x_col, y_var, color) {
if(is.numeric(data[[x_col]])){
plt <- data %>% ggplot(mapping=aes_string(x_col, y_var))+
geom_jitter(alpha=0.5)+
geom_smooth(method="lm", se=FALSE)+
labs(title=str_c("Absenteeism Hours: ", x_col, " by ", y_var), subtitle="Points jittered and alpha blended")
plt %>% print()
}
}
y_col <- c("Absenteeism_hours|PK")
x_cols <- df %>% names()
x_cols <- x_cols[!str_detect(x_cols, y_col)]
x_cols %>% walk(gg_scatter, data=df, y_var=y_var)
#create new data frame for variables with trends
df <- df %>% select(PK, Education, Reason, Day_of_week, Seasons, BMI, Transportation_expense, Service_time, Commute_distance,
Age, Hit_target, Disciplinary_failure, Num_children, Num_pets, Social_drinker, Social_smoker,
Absenteeism_hours)
#group BMI values
normal <- df %>% filter(BMI >= 19, BMI <= 24) %>%
select(PK, BMI) %>% rename(normal=BMI)
overweight <- df %>% filter(BMI >= 25, BMI <= 29) %>%
select(PK, BMI) %>% rename(overweight=BMI)
obese <- df %>% filter(BMI >= 30, BMI <= 39) %>%
select(PK, BMI) %>% rename(obese=BMI)
df <- df %>%
left_join(normal, by="PK") %>%
left_join(overweight, by="PK") %>%
left_join(obese, by="PK")
df <- df %>%
gather(key=BMI_status, value=bmi, normal:obese) %>%
drop_na()
df <- df %>%
mutate(BMI_status = as.ordered(BMI_status) %>%
fct_relevel(c("normal", "overweight", "obese"))) %>%
select(-BMI, -bmi)
#view central tendency statistics
mean <- mean(df$Absenteeism_hours)
cat(str_c(y_var, " mean: ", mean), "\n")
median <- median(df$Absenteeism_hours)
cat(str_c(y_var, " median: ", median), "\n")
mode <- mfv(df$Absenteeism_hours)
cat(str_c(y_var, " mode: ", mode), "\n")
cat(str_c(y_var, " variance: ", var(df$Absenteeism_hours)), "\n")
cat(str_c(y_var, " std. deviation: ", sd(df$Absenteeism_hours)), "\n")
cat(str_c(y_var, " std. error: ", sd(df$Absenteeism_hours) /
sqrt(length(df$Absenteeism_hours))), "\n")
#look for more patterns/trends
gg_facet <- function(data, facet) {
if(!is.numeric(data[[facet]])){
plt <- data %>% ggplot(mapping=aes_string("Absenteeism_hours"))+
geom_density(fill="blue")+
facet_wrap(paste("~", facet))+
labs(title="Density of Absenteeism hours",
subtitle=str_c("facet by ", facet))
plt %>% print()
}
}
facets <- df %>% names()
facets <- facets[!str_detect(facets, y_col)]
for(facet in facets){
gg_facet(data=df, facet)
}
#Would like to understand the correlation between age, BMI and absenteeism hours
df %>% ggplot(aes(Age, Absenteeism_hours, color=BMI_status))+
geom_jitter(alpha=0.5,size=0.2)+
geom_smooth(method="lm", se=FALSE)+
ylim(0,50)+
labs(title="Absenteeism hours by Age and BMI status", subtitle="points jittered, alpha blended, and size reduced")
For normal BMI status, absenteeism hours increase as age increases. For overweight and obese status, absenteeism hours tend to decrease as age increases. The different BMI status lines intersect at around 37 years old, meaning if someone is older than 37 with a normal BMI, they have an increased risk for greater absenteeism hours, compared to being younger or overweight/obese.
#Would like to know which day of the week and seasons have the highest total absenteeism hours
df%>%ggplot(aes(x=Day_of_week,y=Absenteeism_hours,fill=Seasons))+
geom_col(width=0.7)+
labs(title="Sum of Abseentism Hours by Day_of_week and Seasons")
df%>%ggplot(aes(x=Seasons,y=Absenteeism_hours,fill=Seasons))+
geom_col(width=0.7)+
labs(title="Sum of Abseentism Hours by Seasons")
Mondays have the highest total absenteeism hours while Thursdays have the lowest. Winter has the highest absenteeism hours, at almost 1500 hours. Autumn has the lowest around 1150.
#Would like to know correlation between Absenteeism hours and Education level
df %>% ggplot(aes(x=Education, y=Absenteeism_hours))+
geom_boxplot()+
ylim(0,50)+
geom_jitter(alpha=0.5, color="orange", size=0.3)+
geom_hline(yintercept=mean, color="red")+
geom_hline(yintercept=median, color="blue",
linetype="dashed")+
labs(title="Absenteeism hours by Education", subtitle="Showing mean(red), median(blue)")
People with lower degrees do not have the higher average absenteeism hours. There does not appear to be a trend that as Education increases, absenteeism hours decrease.
Further hypothesis testing will be done to understand whether mean absenteeism hours between different education levels are statistically significant.
df_High_school <- df %>% filter(Education == "High_school")
df_High_school%>%glimpse()
df_undergrad<- df %>% filter(Education == "Undergraduate")
df_undergrad%>%glimpse
df_grad <- df %>% filter(Education == "Graduate")
df_grad%>%glimpse
cat(str_c("High_school: mean = ", df_High_school$Absenteeism_hours %>% mean() %>% round(1)))
cat(str_c("Undergrad: mean = ", df_undergrad$Absenteeism_hours %>% mean() %>% round(1)))
cat(str_c("Graduate: mean = ", df_grad$Absenteeism_hours %>% mean() %>% round(1)))
t.test(df_undergrad$Absenteeism_hours, df_grad$Absenteeism_hours,conf.level=0.95,alternative="two.sided")
As p-value of the t-test is greater than 0.05, we cannot reject the null hypothesis. Which means, according to these samples of the whole population, there is no statistically significant difference of average absenteeism hours between people with undergrad and graduate degrees.¶
t.test(df_High_school$Absenteeism_hours, df_grad$Absenteeism_hours,conf.level=0.95,alternative="greater")
As p-value of the t-test is smaller than 0.05, we reject the null hypothesis. Which means, according to these samples of the whole population, the average absenteeism hours of those with high school degrees is higher than people with graduate degrees¶
#Loop plot the density of features
plot.hists <- function(col, df, bins = 20){
p1 <- ggplot(df, aes_string(col)) +
geom_histogram(aes(y = ..density..), bins = bins,
alpha = 0.3, color = 'blue') +
geom_density(size = 1) +
labs(title=str_c("Histogram and density function \n for ", col),
x=str_c("value of ", col))
p1 %>% print()
}
cols <- c('Absenteeism_hours', 'Age', 'Commute_distance','Num_children', 'Num_pets','Hit_target', 'Transportation_expense',
'Service_time')
cols %>% walk(plot.hists, df)
#Update the existing data frame
df_mutate <- df%>%
mutate(Absenteeism_hours.log = log(Absenteeism_hours),
Absenteeism_hours.sqr = sqrt(Absenteeism_hours),
Age.log=log(Age),
Age.sqr=sqrt(Age),
Hit_target.log=log(Hit_target),
Hit_target.sqr=sqrt(Hit_target),
Num_children.log=log(Num_children),
Num_children.sqr=sqrt(Num_children),
Num_pets.log=log(Num_pets),
Num_pets.sqr=sqrt(Num_pets),
Transportation_expense.log=log(Transportation_expense),
Transportation_expense.sqr=sqrt(Transportation_expense))
df_mutate %>% glimpse() %>% summary()
cols <- c("Absenteeism_hours.log", "Absenteeism_hours.sqr", "Age.log", "Age.sqr", "Num_children.log", "Num_children.sqr",
"Num_pets.log", "Num_pets.sqr", "Hit_target.log","Hit_target.sqr", "Transportation_expense.log",
"Transportation_expense.sqr")
cols %>% walk(plot.hists, df=df_mutate)
Compared with the above groups of charts, Absenteeism_hours.sqr is more symmetric than Absenteeism_hours, so we will use Absenteeism_hours.sqr as our label. Others variables do not have significant changes after mutatation so we will try modeling with the different variations.¶
# normalize function
normalize <- function(x) (x - mean(x))/sd(x)
# normalized dataframe
df_mutate_norm <- df_mutate %>%
mutate(Age = normalize(Age),
Age.log = normalize(Age.log),
Num_children = normalize(Num_children),
Num_pets = normalize(Num_pets),
Num_pets.sqr = normalize(Num_pets.sqr),
Hit_target = normalize(Hit_target),
Hit_target.log = normalize(Hit_target.log),
Hit_target.sqr = normalize(Hit_target.sqr),
Commute_distance = normalize(Commute_distance),
Transportation_expense=normalize(Transportation_expense),
Transportation_expense.log = normalize(Transportation_expense.log),
Transportation_expense.sqr = normalize(Transportation_expense.sqr),
Service_time=normalize(Service_time)) %>%
select(-PK, -Age.sqr, -Num_pets.log, -Num_children.log, -Num_children.sqr, -Absenteeism_hours.log)
df_mutate_norm %>% glimpse()
set.seed(2345)
df_train <- df_mutate_norm %>% sample_frac(0.8)
df_test <- df_mutate_norm %>% setdiff(df_train)
df_train %>% glimpse()
df_test %>% glimpse()
#plot features
plot.feature = function(col, df){
p1 = ggplot(df, aes_string(x = col, y = 'Absenteeism_hours.sqr')) +
geom_point() +
geom_smooth(size = 1, color = 'red', method="lm") +
labs(title=str_c("Relationship between ", col, " and sqrt Absenteesim_hours"),
x=col, y="Absenteesim_hours.sqr")
p1 %>% print()
}
cols = c('Age', 'Age.log', 'Commute_distance','Num_children','Num_pets', 'Num_pets.sqr', "Hit_target.log","Hit_target.sqr",
'Hit_target', 'Transportation_expense', 'Transportation_expense.log', 'Transportation_expense.sqr', 'Service_time')
cols %>% walk(plot.feature, df_train)
model_1<- lm(Absenteeism_hours.sqr ~ Commute_distance+Num_children+Transportation_expense+Transportation_expense.log+
Transportation_expense.sqr, data=df_train)
model_1%>%summary
model_2<- lm(Absenteeism_hours.sqr ~ Num_children, data=df_train)
model_2%>%summary
#predict function
predict_score <- function(mod, data){
data %>%
mutate(score = predict(mod, newdata=data),
resids=Absenteeism_hours.sqr - score,
predicted.Absenteeism = (score*score))
}
#plot residuals function
resids_plot <- function(data){
hd <- data %>% ggplot(aes(resids, ..density..))+
geom_histogram(bins=20, alpha=0.3)+
geom_density()+
labs(title="Histogram and density plot for residuals", x="Residual value", subtitle="using test set")
qq <- data %>% ggplot(aes(sample=resids))+
geom_qq()+
labs(title="Quantile-quantile Normal plot of residuals", subtitle="using test set")
scat <- data %>% ggplot(aes(score, resids))+
geom_point()+
geom_smooth(method="loess")+
labs(title="Residuals vs. fitted values", x="Fitted values", y="Residuals", subtitle="using test set")
hd %>% print()
qq %>% print()
scat %>% print()
}
#model 1 performance
df_test_predict1 <- predict_score(model_1, df_test)
df_test_predict1 %>% select(Absenteeism_hours, score, resids, predicted.Absenteeism) %>% return()
df_test_predict1 %>% resids_plot()
model_1$coef
#model 2 performance
df_test_predict2 <- predict_score(model_2, df_test)
df_test_predict2 %>% select(Absenteeism_hours, score, resids, predicted.Absenteeism) %>% return()
df_test_predict2 %>% resids_plot()
model_2$coef
Just doing a basic visual analysis to determine potential features with Absenteeism_hours, it appears that there are trends with Education, BMI, Commute_distance, Age, Hit_target, Num_children, Num_pets, Transportation_expense, Service_time, Social_drinker, and Social_smoker.
Chart 1 does a slightly deeper dive and compares Age and BMI_status to Absenteeism_hours. The data indicates that as someone of a normal BMI_status ages, they are likely to miss more work. Conversely, those that are overweight or obese, tend to miss less work as they age.
The second group of charts shows the relationship that Day_of_week and Seasons has on Absenteeism_hours. Mondays have the highest total absenteesim while Thursdays have the lowest. Companies should get prepared to have the most absences on Mondays, and maybe arrange more team work on Thursday. Winter has the highest absenteesim hours, at almost 1500 hours. Autumn has the lowest around 1150.
Chart 3 is interesting in that those with high school(1) and postgraduate(3) educations appear to miss the least amount of work at a time, but those with an undergraduate degree(2) have the highest mean and appear to miss the most amount of work at a time. However, those with a high school education have more single instances of missing work.
Our visual charts led us to perform t-tests with Education since the results seemed so weird. The results of these tests indicated that there is not a significant difference between those with undergrad and graduate degrees. Alternatively, the average absenteeism hours of people with high school degrees is higher than people with graduate degrees.
Model 1 shows that Absenteeism_hours.sqr is modeled by Commute_distance, Num_children, Transportation_expense, Transportation_expense.log and Transportation_expense.sqr. The R-squared value is very low, however, which suggests a lot of noise in the model. The residuals plot is a fairly normal distribution with a skew to the left. The quantile quantile plot is fairly straight, except at the higher end. The fact that these plots are skewed shows that there are likely to be some incorrect predictions with our model. Our residuals compared to fitted values are in a fairly straight line and close to 0 except at the higher end. Despite this, the model is considered statistically significant.
Model 2 shows that Absenteeism_hours.sqr is modeled by Num_Children. The R-squared value is also very low, however the Num_children is slightly more significant than the features in Model 1. The residuals plot and quantile quantile plot also share the same behavior in Model 1. The residuals compared to fitted values has a lot of variation at the lower end, suggesting that our first model might be slightly better. Regardless, this model is still considered statistically significant.
In summary, the factors that negatively impact absenteeism at work are "normal" BMI status around age 37 and higher, the day of the week being Monday and season being Winter, having an undergraduate degree, a shorter commute distance, a higher transportation expense, and having more children.


Pink remembers smoking 'a lot of weed' while filming her first music video she could barely keep her eyes open
by Nate DayPink opened up about her experience shooting her first-ever music video, and it may not be what you expected.
Pink's first single, "There You Go," debuted in 2000, and the video featuref her riding a motorcycle.
"My first video. I think this is the prettiest I've ever looked and will ever look," the 40-year-old singer told Billboard. "I think I was 19 when I shot this video. I'd just started riding motorcycles. I almost crashed 85 times."
That wasn't the only trouble that Pink got herself into during the shoot.
"I smoked a lot of weed, too, and [director] Dave Meyers kept coming up to me and saying, 'Can you wait to smoke that next blunt before the beauty shot?'" she continued. "I was like, 'What do you mean?' He was like, 'I really want you to be able to open your eyes.'
She also spoke about her famously acrobatic 2010 Grammy performance, in which she performed "Glitter in the Air."
"I can't believe they let me do that. They let me do a song that wasn't a single, that no one ever heard before," she says. "They let me fly 100 feet in the air, with no harness, with water. It was so much fun."
Although she's now become known for her gravity-defying performances, her first time doing one made her a little anxious.
CRAZY TOWN BAND MEMBERS SAFE AFTER TOUR VAN CRASHES INTO A MOOSE IN CANADA
"I remember being so nervous to walk in this white gown. I couldn't walk in a straight line. I'm pretty sure in the first verse I almost fell over twice," she adds. "That was awesome. And LL Cool J looked at my butt. But so did Rihanna. It was a good butt."
Finally, she dished on her experience performing the national anthem at the Super Bowl, which she did despite being sick.
 I still can't believe sound came out of my mouth when I opened it. I had the flu," she recalls. "I had planned this Super Bowl experience for my whole family, 'cause the Eagles were playing and we're from Philly. By the time my whole family came, I was laying on the couch dying with the actual flu. And I couldn't believe it."


UTC -4
The Antillean guilder (NAG) or florin of 100 cents. The US dollar is widely accepted. Import/export limited to NAG200.
International Dialing Code for Curacao is +599 9.
Telephone cards for use at public phones can be purchased at post offices, roadside snack bars and petrol stations.
The island is covered by a GSM 900/1800 network.
Digicel update December 2014:
Anyone cruising through the islands using Digicel should be aware that you cannot top up a sim from one island in another as used to be able to. So if for example you want to use the sim bought here while cruising through other islands, you should either put on a large enough sum to cover your needs, or you can set up an account and do it online, but you cannot get it topped up in another island.
You can top-up Digicel at https://online-top-up.digicelgroup.com/
Internet cafes are available.
In Willemstad: Canada: Maduro & Curiels Bank NV, Plaza Jojo Correa 2-4, Tel. (9) 661115.
Colombia: Scharlooweg 112, Tel. (9) 614663.
Ecuador: Breedestr. 46, Tel. (9) 613222.
Panama: Mahaalweg 26, Tel. (9) 35292.
Peru: Pietermaai 20B, Tel. (9) 611212.
Venezuela: Handelskade 12, Tel. +599 9 4613100.
United States Consulate General, Curacao: +599 9 461 3066.
British Consulate, Curacao: +599 9 461 3900.
Heineken Curacao Regatta in November
www.heinekenregattacuracao.com
Tel: +599 9 673 05 43
Police, Fire. Tel. 114.
Emergencies: 911 (police); 112 (ambulance)
IMRAY AND ADLARD COLES PILOT BOOKS are vailable at a discounted price for Noonsite.com users via World Cruising Club
A Cruising Guide to the ABC Islands (January 2015)
www.FreeCruisingGuides.com (free download)
The 2nd edition of the Free Cruising Guide produced by Frank Virgintino.
Now available in Spanish.
A Cruising Guide to the Lesser Antilles
Author: Frank Virgintino
Published by www.freecruisingguide.com (July 2012)
Available at Kindle as well as all other EPub bookstores (September 2012)
The three .pdf files are free to download at: www.freecruisingguide.com
See Noonsite further details here
A Thinking Mans Guide to Voyages South - the many facets of Caribbean Cruising
Author: Frank Virgintino
Published: 3rd Edition January 2013
ISBN<PHONE_NUMBER>847
Available as a Kindle version at www.amazon.com as well as other EPub bookstores.
The latest edition of this route planner is larger than ever. For more details see this report
Gotto go Cruising - The ABC Islands
By D Waterson & D van der Reidjen
Publisher Compass Consultants Ltd
ISBN 978<PHONE_NUMBER>00
www.gottogocruising.com
Grenada to the Virgin Islands
By Jacques Patuelli
Publisher Imray Laurie Norie & Wilson- 3rd Edition 2014
ISBN<PHONE_NUMBER>818
This edition covers each island between Grenada and Barbados to the Virgin Islands and is a translation from Jacques Patuelli's original French version with pilotage notes, tourist information, formalities and facilities
Curacao Tourism Development Bureau
www.cybercur.com
Curacao internet links directory. General information about travel & tourism, business, media, sports, weather & events in Curacao.
www.interknowledge.com/curacao
Curacao Spanish Water Cruiser Information - June 2011
Hans on Isis/Sol, who runs the Wifi service in Spanish Water, has very kindly given noonsite permission to post this useful document on noonsite as a public service to fellow cruisers. The most updated version is available on his home page when using his wifi service. Contact Hans at<EMAIL_ADDRESS>Online Guide by Curacao Marine
http://issuu.com/curacaomarine/docs/curacao_marine_publication_pdf/1
Whilst this is the boatyard's booklet tailored to sailor's using the yard, it does have a big section on local facilities and services, island tourist information and a great town map showing where everything is (June 2015).


What we offer
Organize.
Keep track of all your plants in one place, right from the dashboard.
Forget.
We keep track of your watering history and remind you to water, so you don't have to remember when you last watered or when to water next.
Record.
Quickly record watering so you can get back to your other tasks.
Our Mission
In a time when there's an app for organizing just about every aspect of our lives, this isn't easily available for plant care.
Water my Plants aims to help you get more organized with your plant care by keeping track of your plants. We want to help you become a savvy plant parent and never again have to remember when you watered last.


Approximate time for the event will be 3 hours. PREFERABLE VENUE:lab <<<<<<< HEAD Max number of participants:2. RULES:Team of two ,only c language . EVENT DAY:11th oct at 11am , PRIZE 1:800 RS, PRIZE 2: 400 RS. ENTRY FEE: 60 RS. ======= RULES:Team of two ,only c language . >>>>>>> fddc897e4c79b836b9cf12aa594708988fde6817 Organizers:Brunda<PHONE_NUMBER>),Greeta<PHONE_NUMBER>),Darshan ,Yashas.


MarketScan mScan API
Vehicle
VIN
Look Up
Price
Recalculate
Leases
Term / Down Payment
Retail (Loans)
Term / Down Payment


Yes
Sure!
Yes
Sure!
School
Preschool
Franchise Enquiry
Father
Mother
Guardian
CBSE
International
Gujarat
Rajasthan
Ahmedabad
CPS Rajula
NCPS Bharuch
CPS Mundra
East
West
South
KPrS Nikol
KPrS Vastral
KPrS Bhuyangdev
KPrS Bopal
KPrS New CG Road
KPrS Gahtlodia
KPrS Isanpur
KPrS Maninagar
KPrS Vejalpur
Yes
No
Yes
No
Yes
No
Gujarat
Rajasthan
Ahmedabad
CPS Rajula
NCPS Bharuch
CPS Mundra
East
West
South
KPrS Nikol
KPrS Vastral
KPrS Bhuyangdev
KPrS Bopal
KPrS New CG Road
KPrS Gahtlodia
KPrS Isanpur
KPrS Maninagar
KPrS Vejalpur
Yes
No
Yes
No
Yes
Sure!
Yes
No
Yes
No..
Rock
Pop
Country
Classic
Google
Bing
Awesome!


tmpfile
(PHP 4, PHP 5, PHP 7)
tmpfile — 建立一个临时文件
说明
resource tmpfile ( void )
以读写（w+）模式建立一个具有唯一文件名的临时文件，返回一个文件句柄。
文件会在关闭后（用 fclose()）自动被删除，或当脚本结束后。
详细信息请参考系统手册中的 tmpfile(3) 函数，以及 stdio.h 头文件。
返回值
返回一个与 fopen() 所打开返回类似的新文件句柄，或者在失败时返回 FALSE.
范例
Example #1 tmpfile() 例子
以上例程会输出：
writing to tempfile
参见
• tempnam() - 建立一个具有唯一文件名的文件
• sys_get_temp_dir() - 返回用于临时文件的目录
User Contributed Notes 6 notes
===============================================================================
I found this function useful when uploading a file through FTP. One of the
files I was uploading was input from a textarea on the previous page, so really
there was no "file" to upload, this solved the problem nicely:
Setup file NOT inserted
";
}
fclose($fSetup);
?>
The $setup variable is the contents of the textarea.
And I'm not sure if you need the fseek($temp,0); in there either, just leave it
unless you know it doesn't effect it.
===============================================================================
No, the fseek() is necessary - after writing to the file, the file pointer
(I'll use "file pointer" to refer to the current position in the file, the
thing you change with fseek()) is at the end of the file, and reading at the
end of the file gives you EOF right away, which manifests itself as an empty
upload.
Where you might be getting confused is in some systems' requirement that one
seek or flush between reading and writing the same file. fflush() satisfies
that prerequisite, but it doesn't do anything about the file pointer, and in
this case the file pointer needs moving.
-- Josh
===============================================================================
Beware that PHP's tmpfile is not an equivalent of unix' tmpfile.
PHP (at least v. 5.3.17/linux I'm using now) creates a file in /tmp with prefix
"php", and deletes that file on fclose or script termination.

Use the classical method of deleting the file after creation:
===============================================================================
The phrase, "when the script ends" is not clear. Does this mean when the
session ends (assuming the file is never explicitly closed)?
===============================================================================
fseek() is important because if you forget about it you will upload empty
file...
i had sth like that ^_^
===============================================================================
If you want to specify the extension name of tmp file:


| ni-ga:-'yung | nu:-'ba-gi-yung, | nu:-'bi-ni | na-nganjal-yij, | ||
| as for him | that (MSg) | those (MDu) | WiMoBr and SiDaHu | ||
| na-walya-wa:, | nu:-'bi-ni | *na-nganjal-gija, | nganjal-yij, | ||
| two men | those (MDu) | WiMoBr and SiDaHu | WiMoBr and SiDaHu | ||
| nganjal-yij, | wu-gu-ni | nu:-'bi-ni | na-nganjal-yij, | ||
| WiMoBr and SiDaHu | they (MDu) | those (MDu) | WiMoBr and SiDaHu | ||
| wu-gu-ni | yagi | wini=yambi-nyji-Ø, | wu-gu-ni:-'yung, | ba-gu | |
| they (MDu) | not | they will speak to each other | they (MDu) | there | |
| anybaj | ambu:=ya:-ri:, | a-ga:gu-yinyung | ba-gu | anybaj | ambu:=ya:-ri: |
| other | they will goc | of MoMo(Br) | there | other | they will goc |
| yagu, | a-banga-yinyung | ba-gu | ambu:=ya:-ri:, | ba-wa-yung | mari |
| but | of SiCh | there | they will goc | they are there | and |
| ambu:=yambi-nyji:-na, | |||||
| they will speak to each otherc |
That man (the WiMoBr of another man). Those two, related to each other as WiMoBr and (the reciprocal,) SiDaHu. Those two should not speak (directly) to each other. Someone might go to another place, that of his MoMo and MoMoBr. Someone might go there, or to the place of his SiCh (sister's child). Someone might go there and speak with them.
Note: What I label here as 'WiMoBr' also includes such kinsmen as MoMoBrSo, and 'SiDaHu' also includes such kinsmen as FaSiDaSo. A man who travels to visit his MoMo(Br) is likely to find his 'WiMoBr-s' in the same location; although the visitor may speak to his MoMo(Br) and certain other kin without restriction, the 'WiMoBr-s' (as well as 'WiMo-s') must be avoided.
* The ending -yij seen in lines 1 and 2 is the regular dyadic suffix for kin-pairs. The synonymous ending -gija is from the local creole and apparently reflects English 'together'. Some kin terms, such as banga 'SiCh' in the fourth line on this page (above), are also from the local creole; the Nunggubuyu for banga is marig.
| wu-gu-ni | nu:-'bi-ni-yung | na-nganjal-yij, | ambini=ya:-ri:-maji: | |
| they (MDu) | those (MDu) | WiMoBr and SiDaHu | if they (MDu) goc | |
| yagi | wini=yambi-nyji-Ø, | angga:='ri | ana-lha:wu, | |
| not | they will speak to each other | it will be absent | words | |
| janda-wugij | ambini=yi-nyji:-na, | ambini:-'-dagal=ngarayi-nyji:-na, | ||
| only back | they will give each otherc | they will look awayc | ||
| wu-gu-ra:-'yung | a-ga:gu-yinyung | ba-gu | ambu:=ya:-ri:, | ba-ni-yung |
| as for them | of MoMo(Br) | there | they will goc | it is there |
| mari | ambu:=yambi-ny, | ambu:=yambi-nyji:-na | ||
| and | they (Pl) will speakp | they will speak to each otherc | ||
| nu:-'ba-gi-yung, | nu:-'bi-ni-yung, | ni-ga | an-u-gu-ni | na:-'nyba-jung |
| that (MSg) | those (MDu) | he | to there | other (MSg) |
| ambunu=yambi:-na | ni-ga:-'yung, | ambini=ya:-ri:-maji: | ||
| they will speak to himc | as for him | if they (MDu) goc | ||
| na-nganjal-yij | yagi | wini=yambi-nyji-Ø | angga:='ri | |
| WiMoBr and SiDaHu | not | they will speak to each other | it will not be | |
| ana-lha:wu. | ||||
| words |
If those two, WiMoBr and SiDaHu, go (and meet), they should not speak to each other. Words are not allowed. They should just turn their backs to each other and look away (avoiding eye contact). On the other hand, if someone goes to one's MoMo(Br)'s country, the two (e.g. man and his MoMoBr) can speak to each other. That man can speak to the other. However, if two men related as WiMoBr and SiDaHu to each other go (and meet, they should not speak to each other, words are not allowed.
The strong avoidance relationships are between a man and his MoMoBrCh, MoMoBrSoCh, and MoMoBrSoSoCh, real or classificatory, since these men and women are potential wife-bestowers for him. (Strictly speaking, this is less true of MoMoBrSoCh, who are in the man's own generation, but the terminology is the same because of downward cross-generation skewing and the behavioral concomitants are also extended to some degree.) The relationship is much less significant in the case of two women; it is quite significant in the case of two men; it is most significant of all in the case of a pair consisting of a man and a woman, especially if there is an actual or definitely prospective affinal relationship.
The relationship is regulated essentially by shame and extreme deference rather than hostility. A man presents gifts periodically, through intermediaries, to important kinspersons in these relationships to him. In the event that a man accidentally stumbles into a close contact with an avoidance relative of these types, a compensatory small gift may be in order. The extent of avoidance/respect declines significantly when both parties are elderly; two men in the nganjal relationship can eventually sit and speak together in their old age, but maintain appropriate levels of deference and courtesy. Because the avoidance/respect system was traditionally closely bound up with the bestowal of wives, and because young men and women now usually pair up as spouses on their own (respecting only moiety exogamy and the like), the avoidance system has been gradually breaking down in the post-European period.


a LONER, LOSER, HATER, HEALER, QUITTER, UNDERACHIEVER, OUTSIDER, MONSTER, WORSHIPPER, DAYDREAM BELIEVER, DUSTER, TWEETER,BUSTER, and WHATEVER.
iMissMe.KillMeNow.ForgetAboutMe. Nothing to My Name.


When an auction bid is canceled, the transaction tax (10% of the bid amount) cannot be returned.
The bid price for this clan hall is %AGIT_BID% adena. After deducting the transaction tax, you can receive back the remaining %AGIT_BID_REMAIN% adena. Do you want to cancel your bid?


For those who are not aware, Cindicator is a project that to maximize the power of crowd forecasting. Forecasters making prediction base on the questions generated by the system and to be rated according to the prediction accuracy.
Cindicator offers the platform for forecasters to predict both the crypto and traditional market. I will discuss why it is a good idea to start predicting as market analyst using this application and I would only share my insight on the crypto part in this post as I only making investments in this field.
Forecasting skill is essential
Forecasting skill is essential
First of all, I assume all the readers of this post are the crypto-person or at least possessing some fundamental understanding what is cryptocurrency, what is the must-do task for a crypto person on a daily basis?
Checking tokens price.
Coinmarketcap.com is the most popular choice that it would become one of the most visited sites not long after participating in the crypto space. It is undeniable there are many more interesting aspects regardless the crypto price itself, like the blockchain variants, implementation of trustless transaction system and how all these ground-breaking technologies are going to change our lives. We can talk about these all day.
But the fact is, we are here because most of us care about the price more than anything else. Especially some real money has been invested in it and making the crypto officially part of the assets. We’ve heard so much of the earlier Bitcoin success story that we hope this new digital investment asset could be the next best place to quadruple our capital.
We trading and investing in cryptocurrencies so much that we try to grab all the news and information about projects we care for only one purpose, to be profited against the BTC or fiats.
To day traders, they go in the long position in the hope of bullish run and turn to short call in the bear market. To long-term hodlers, short-term price fluctuation doesn’t impact much but they still anticipating the right timing to enter or quit the market nonetheless.
In the other words, we constantly forecasting the price trending of coins. So it is safe to conclude that crypto investors practising the habit of an analyst.
Do what you are already doing
Do what you are already doing
In the discovery of Cindicator app, I thought this project was tailor-made for people like me. As I already spend most of my spare time observing this highly volatile space, all I have to do to take part in Cindicator is just answering the forecast questions without further studying.
This would not take more than 5 minutes every day. I treat this as a tiny game as any quick mobile games would have taken longer than that. Sometimes it could be on the bus commuting to work, short tea break in the afternoon, or a couple of minutes before the bedtime.
Not to forget that Cindicator is not all about making forecasts on the crypto topic only, but the traditional market occupies up the other half of it. If you are already reading the newspaper and catching up with the world news, you may be able to make a confident prediction on a various social topic like the election outcome of some countries. There are questions for stocks, precious metals like gold and silvers as well. One can only make prediction based on the questions generated by the system while the range is sort of limited at the beginning phase, analyst gets a broader range of question as the system matures.
Forecasters can be rewarded
Forecasters can be rewarded
As of now, there is 1.25 BTC worth of prize for the crypto market and $7500 for the traditional market to be won every month. I will talk more about the BTC price as I solely taking part in the crypto market prediction only. Cindicator distributes to the 1.25 BTC every month to all the contributors with positive points propositionally.
Theoretically, every contributor could earn a tiny split of the prize pool with even 1 point. This is the spreadsheet for February 2018 Crypto Market prize list where you can find all the contributors with a positive score. From the spreadsheet, we can tell that in the February round Martin Lawrence was the top winner at rank 1 with 5071 points
that he could get away with 0.05787042917 BTC
while scrolling down to the bottom where you can see a dozen of participants with the lowest rank of 10953 by 1 points
and they still able to get 0.000003734820723 BTC
each.
One thing to take note, participants get the rewards in term of ETH with the equivalent amount of BTC. Also, it takes to posses of accumulation of at least 0.02 ETH in the account in order to withdraw it to own ETH wallet.
My result as a casual forecaster in the first month
My result as a casual forecaster in the first month
It was a generous 0.02104335 ETH (roughly 18 USD) for the rank of 103th in the February run which you can verify in the spreadsheet above.
Well, you might say 18 USD might be mediocre to most but it is good enough for merely a bonus. What motivates me the most was the recognization of my prediction skills (or guessing skill you might want to call it haha) to be ranked almost in the top 100 out of 10k predictors.
Out of my surprise, that prize comes in a package that I was entiled to one month of Beginner plan to receive processed event indicators from Cindicator that would require a total possession of 5,000 CND. That would allow me to access the result of crowd intelligence and maybe trade accordingly if I want.
I’ve no finance background nor possess any analytical skills. I make prediction base on my understanding of the crypto market since the day I started to invest 1 year ago. The first month is already a thrilling experience for me.
After all, these rewards were just more than enough for doing something I was already doing and just requires 5 minutes of my time every day which I could just spend away in a few Bejeweled games.
Things can work in bidirection
Things can work in bidirection
When I first get to know about Cindicator, the first impression is that user is the engine to power up this project. We feed tremendous forecast and prediction for the hybrid intelligence infrastructure to process and finally produce some useful indicators. Analysts then get rewarded base on our accuracy point by the system. Intelligence is exchanged for financial reward under this model.
It is easy to come to a conclusion that Cindicator will not survive if no one ever wanted to participate in it anymore. Only the participants can empower the system in a one-way direction.
It is not true.
When I was making my first forecast about Bitcoin event, I noticed there will be some helpful links beside the question. Those are links providing crucial information like candlestick chart, news and summary which could help the analyst in the decision-making process.
I was quite surprised by the thoughtful design and will have a look at some of them sometimes and that’s when the magic happens. I actually learn something new every now and then, be it the new insight from communities or some new trading tactics. If it weren’t for the helpful links, I would have just completed all the questions and call it a day even if there is some trend I wasn’t really sure of.
Prediction’s performance tracking tool
Prediction’s performance tracking tool
“Is Bitcoin going to achieve $50,000 mark at the end of 2018?” “Will Etheereum dethrone Bitcoin after implementation of Casper?” “Market is crashing so bad, is the bull getting near?”
We make forecast every day on the market trend and some of us might answer to questions above which can be seen all over the social media. But how to judge the accuracy your calls are for these future events?
You can make all the prediction either in your heart or in front of friends but chances are you will not remember how does your call turn out in the in the said future. Because we would not track something that was made out of instinct or wasn’t planned.
To remember a bet, there is no better way than to actually put down the cold hard cash on it. You in the long position for Bitcoin? Buy some Bitcoin. Feeling bearish for gold market? Sell away your gold in the bank. Naturally, you will follow up all the upcoming event to verify all the trades that have been made.
However, this method is not applicable to young, ordinary, and asset-less people like me.
Cindicator offers a whole new opportunity to track what I’ve predicted without having to put my money at stake. All I have to do is just looking at the Statistic page where the score will tell how accurate I’m in the market predicting overall, and the rank shows how competitive I’m against all the other forecasters.
Competition drives innovation
Competition drives innovation
Competitiveness is one of human’s natures. That’s why we will keep trying to unlock the full three stars each stage in the Angry Bird. We want to top the leaderboard and better than all of our friends even if it was just a game.
Cindicator is designed in a way to push analysts to compete with each other. Although it takes minor effort and no risk to take part, nobody would love to do something for nothing. Nobody wishes to end up in 5084th place and receives prizes equivalent to 24 cents after one month of work.
The design of the ranking system and unique prize distribution model motivates everyone to compete and improve in a fair and open arena. We will not stop polishing our prediction ability and keep looking for the better way in order to improve the result. This will not only granting analysts the sharpness in the extremely volatile trading market but they will have the
edge of a well-informed person for any upcoming events.
A door to world of blockchain
A door to world of blockchain
Cryptocurrency is booming in 2017, a tremendous amount of new projects blooming in the space of blockchain targetting different niches from payment, ICO, to exchange, and storage. Hot projects in the market are mainly made for the technical developers, business owner but leaving ordinary people behind. You can’t just start living off Bitcoin or Litecoin without a great amount of inconvenience and you do not draft smart contract for day-to-day transactions.
Cindicator offers easy access for anyone to hug the ground-breaking blockchain technology. The Analyst can start the prediction as simple as visiting web application or just download mobile application from Google Play Store or Apple Store. These apps are one of the finest crypto-based application I’ve seen in the market. UI was clean and the operation is sleek.
Predicting in the crypto market the is compounding action to immerse one in the sea of cryptocurrencies. The more you learn the better the prediction, the better the prediction one will end up with bigger portion of the prize pool.
This may be the best chance for a complete crypto newbie to score their first crypto token that actually worth something, and that could be as easy as earn one point and grab that 0.00001 ETH.
Cindicator is the best starting point for anyone who wants to experience the beauty of blockchain while risking nothing. It encourages study and rewards the best performers.
This page is synchronized from the post: ‘Why do I making forecast in Cindicator?’


Game Development and More
Skip to content
Moderator: Karl G.
by Volcomboy99 » Sat Dec 30, 2006 1:57 pm
by Joe M. » Sat Dec 30, 2006 6:07 pm
by Karl G. » Sat Dec 30, 2006 10:13 pm
by thadiusofx3 » Sat Dec 30, 2006 11:01 pm
by kuba » Sun Dec 31, 2006 10:33 am
by 9sam1 » Sun Dec 31, 2006 2:20 pm
by secretrk1313 » Mon Jan 01, 2007 9:29 am
by thadiusofx3 » Mon Jan 01, 2007 10:29 am
by Karl G. » Mon Jan 01, 2007 11:13 am
by thadiusofx3 » Mon Jan 01, 2007 11:21 am
by Serenity » Tue Jan 02, 2007 2:01 pm
by Karl G. » Tue Jan 02, 2007 3:18 pm
by Serenity » Tue Jan 02, 2007 6:36 pm
by kuba » Wed Jan 03, 2007 12:36 am
by secretrk1313 » Thu Jan 04, 2007 8:37 pm
by Serenity » Thu Jan 04, 2007 9:14 pm
by Karl G. » Sat Jan 06, 2007 11:00 am
by Serenity » Sun Jan 07, 2007 10:31 pm
by Cletus » Wed Jan 10, 2007 9:30 pm
by Karl G. » Wed Jan 10, 2007 9:48 pm
by Serenity » Wed Jan 10, 2007 9:56 pm
by Karl G. » Thu Jan 11, 2007 7:29 am
by Volcomboy99 » Mon Jan 15, 2007 3:58 pm
by Cletus » Mon Jan 15, 2007 7:06 pm
by David T. » Sun Jan 21, 2007 3:04 pm
Return to Lounge
Users browsing this forum: No registered users and 0 guests


My name is Victor Eboso I am 17 years of age.I am currently enrolling at a school to study ny A-levels.I have an interest in programming though i would like to pursue a career in engineering specifically Aeronautical.I am tall light skinned and have a quite impressive personality and dashing looks at the least.
I started my beautiful journey of education in a Heritage school in Langata .Two years later i then proceeded to enroll at makini school for my pre-unit and nursery classes.I schooled at Makini schoole until class 4 after which i joined st.christophers preparatory schools in Karen.I did my cambridge exams at st christophers and graduated into highschool.After i joined Brookhouse schools and did my highschool there.I recently just finished my O-level and i graduated from highschool and i seek admitance to Brookhouse A-levels section.Currently i am a programming student at Moringa school.
Football
watching movies
styles


Disneyland attraction forced to close after guest breaks wooden slat while jumping on suspended bridge
by Alexandra DeablerThe Tarzan’s Treehouse attraction at Disneyland was reopened Monday morning after it was forced to close on Sunday when a guest damaged a wooden slat while reportedly demonstrating to his children how strong the suspended bridge was.
DISNEY WORLD PRINCESS LEFT 'SHAKING AND CRYING' AFTER GUEST ALLEGEDLY GROPED HER DURING PHOTO-OP
According to reports, a guest was crossing the rope-suspended bridge at the Anaheim park when he began to jump up and down on it to show his children the bridge would not break, MiceChat reports. During this, the guest allegedly broke one of the wooden slats on the bridge, which is suspended roughly three stories above ground.
CLICK HERE TO GET THE FOX NEWS APP
No guests were injured during the incident, the OC Register reports. However, the treehouse, which is located in the park's Adventureland, was shut down for the rest of the day.
A photo on social media by account Disneyland News Today shows a broken wooden slat in the middle of the bridge.
CLICK HERE TO SIGN UP FOR OUR LIFESTYLE NEWSLETTER
FOLLOW US ON FACEBOOK FOR MORE FOX LIFESTYLE NEWS
The attraction originally opened in 1962 as the Swiss Family Treehouse until it was renamed and reopened in 1999 as Tarzan’s Treehouse. It features several rooms connected by stairs and a rope bridge for guests to explore.


I'm A Celeb fans divided as some call for missing Holly Wiloughby to return and replace Ant
Ant and Dec were reunited when I'm a Celebrity returned to ITV tonight after Holly Wiloughby stepped in for Ant last year
by Irishmirror.ieAnt McPartlin made his big return to I'm a Celebrity...Get Me Out of Here! tonight after missing last year's series.
He had been forced to pull out following his drink-drive shame earlier on in 2018, leaving Declan Donnelly to co-host alongside Holly Willoughby.
And viewers were divided about whether they preferred the Ant and Dec comeback or if they missed Holly after all.
One Ant fan tweeted: "I loved Holly stepping in for Ant last year but I am super excited that the boys are back together this year & have loved the bants between them so much already."
"Anyone missing Holly & Dec presenting #ImACeleb," a team Holly devotee said.
Another wrote: "I'll be honest....am quite missing Holly."
An Ant supporter posted: "I thought I’d miss Holly but there’s actually nothing better than Ant & Dec."
Another agreed: "So lovely to see Ant back on I’m a Celeb, Holly was fab but it just wasn’t the same."
Ant had decided to take a break from his TV presenting duties to focus on his recovery.
In a statement, he said: "My recovery is going very well and for that to continue having spoken to Dec and ITV, I have made the decision to take the rest of the year off."
He returned to TV in January 2019, just after Holly filled in for him in Australia.
This year's I'm A Celebrity line-up includes the likes of reality TV Caitlyn Jenner , footballer Ian Wright , Girls Aloud star Nadine Coyle , and former EastEnders star Jacqueline Jossa .
However former host Holly won't be tuning in for this evening's episode.
Instead she attended the premiere of Frozen 2 in London on Sunday night.


Guessing Game
How big is the randomly generated number?
between 10 and 500
between 500 and 1000
RESULT
New Game
For more explanation please visit -
Hoisting and try/catch Wiki


Modal
SETTINGS
×
GRAPHICS
TEXTUAL CONTENT
graphics
Add your contents here........
textual
Add your contents here........


|
MPack
0.8.2
A C encoding/decoding library for the MessagePack serialization format.
|
Defines the MPack configuration options.
Copy mpack-config.h.sample
to mpack-config.h
somewhere in your project's include tree and, optionally, edit it to suit your setup. In almost all cases you can leave this file with the default config.
You can also override the default configuration by pre-defining options to 0 or 1.
Features | |
| #define | MPACK_READER 1 |
| Enables compilation of the base Tag Reader. More... | |
| #define | MPACK_EXPECT 1 |
| Enables compilation of the static Expect API. More... | |
| #define | MPACK_NODE 1 |
| Enables compilation of the dynamic Node API. More... | |
| #define | MPACK_WRITER 1 |
| Enables compilation of the Writer. More... | |
Dependencies | |
| #define | MPACK_STDLIB 1 |
| Enables the use of C stdlib. More... | |
| #define | MPACK_STDIO 1 |
| Enables the use of C stdio. More... | |
System Functions | |
| #define | MPACK_MALLOC malloc |
| Defines the memory allocation function used by MPack. More... | |
| #define | MPACK_FREE free |
| Defines the memory free function used by MPack. More... | |
| #define | MPACK_REALLOC realloc |
| Defines the realloc function used by MPack. More... | |
Debugging options | |
| #define | MPACK_DEBUG 1 |
| Enables debug features. More... | |
| #define | MPACK_STRINGS 1 |
| Enables descriptive error and type strings. More... | |
| #define | MPACK_CUSTOM_ASSERT 0 |
| Set this to 1 to implement a custom mpack_assert_fail() function. More... | |
| #define | MPACK_READ_TRACKING 1 |
| Enables compound type size tracking for readers. More... | |
| #define | MPACK_WRITE_TRACKING 1 |
| Enables compound type size tracking for writers. More... | |
Miscellaneous | |
| #define | MPACK_OPTIMIZE_FOR_SIZE 0 |
| Whether to optimize for size or speed. More... | |
| #define | MPACK_STACK_SIZE 4096 |
| Stack space in bytes to use when initializing a reader or writer with a stack-allocated buffer. More... | |
| #define | MPACK_BUFFER_SIZE 4096 |
| Buffer size to use for allocated buffers (such as for a file writer.) More... | |
| #define | MPACK_NODE_PAGE_SIZE 4096 |
| Size of an allocated node page in bytes. More... | |
| #define | MPACK_NODE_INITIAL_DEPTH 8 |
| The initial depth for the node parser. More... | |
| #define | MPACK_NODE_MAX_DEPTH_WITHOUT_MALLOC 32 |
| The maximum depth for the node parser if MPACK_MALLOC is not available. More... | |
| #define MPACK_BUFFER_SIZE 4096 |
Buffer size to use for allocated buffers (such as for a file writer.)
Starting with a single page and growing as needed seems to provide the best performance with minimal memory waste. Increasing this does not improve performance even when writing huge messages.
| #define MPACK_CUSTOM_ASSERT 0 |
Set this to 1 to implement a custom mpack_assert_fail() function.
This function must not return, and must have the following signature:
Asserts are only used when MPACK_DEBUG is enabled, and can be triggered by bugs in MPack or bugs due to incorrect usage of MPack.
| #define MPACK_DEBUG 1 |
Enables debug features.
You may want to wrap this around your own debug preprocs. By default, this is enabled if DEBUG
or _DEBUG
are defined.
Note that MPACK_DEBUG cannot be defined differently for different source files because it affects layout of structs defined in header files. Your entire project must be compiled with the same value of MPACK_DEBUG. (This is why NDEBUG
is not used.)
| #define MPACK_EXPECT 1 |
Enables compilation of the static Expect API.
| #define MPACK_FREE free |
Defines the memory free function used by MPack.
This is used by helpers for automatically allocating data the correct size. If this macro is undefined, the allocation helpers will not be compiled.
The default is free() if MPACK_MALLOC has not been customized and MPACK_STDLIB is enabled.
| #define MPACK_MALLOC malloc |
Defines the memory allocation function used by MPack.
This is used by helpers for automatically allocating data the correct size, and for debugging functions. If this macro is undefined, the allocation helpers will not be compiled.
The default is malloc() if MPACK_STDLIB is enabled.
| #define MPACK_NODE 1 |
Enables compilation of the dynamic Node API.
| #define MPACK_NODE_INITIAL_DEPTH 8 |
The initial depth for the node parser.
When MPACK_MALLOC is available, the node parser has no practical depth limit, and it is not recursive so there is no risk of overflowing the call stack.
| #define MPACK_NODE_MAX_DEPTH_WITHOUT_MALLOC 32 |
The maximum depth for the node parser if MPACK_MALLOC is not available.
The parsing stack is placed on the call stack.
| #define MPACK_NODE_PAGE_SIZE 4096 |
Size of an allocated node page in bytes.
The children for a given compound element must be contiguous, so larger pages than this may be allocated as needed. (Safety checks exist to prevent malicious data from causing too large allocations.)
Nodes are 16 bytes on most common architectures (32-bit and 64-bit.)
Using as many nodes fit in one memory page seems to provide the best performance, and has very little waste when parsing small messages.
| #define MPACK_OPTIMIZE_FOR_SIZE 0 |
Whether to optimize for size or speed.
Optimizing for size simplifies some parsing and encoding algorithms at the expense of speed, and saves a few kilobytes of space in the resulting executable.
This automatically detects -Os with GCC/Clang. Unfortunately there doesn't seem to be a macro defined for /Os under MSVC.
| #define MPACK_READ_TRACKING 1 |
Enables compound type size tracking for readers.
This ensures that the correct number of elements or bytes are read from a compound type.
This is enabled by default in debug builds (provided a malloc() is available.)
| #define MPACK_READER 1 |
Enables compilation of the base Tag Reader.
| #define MPACK_REALLOC realloc |
Defines the realloc function used by MPack.
It is used by growable buffers to resize more efficiently.
The default is realloc() if MPACK_MALLOC has not been customized and MPACK_STDLIB is enabled.
This is optional, even when MPACK_MALLOC is used. If MPACK_MALLOC is set and MPACK_REALLOC is not, MPACK_MALLOC is used with a simple copy to grow buffers.
| #define MPACK_STACK_SIZE 4096 |
Stack space in bytes to use when initializing a reader or writer with a stack-allocated buffer.
| #define MPACK_STDIO 1 |
Enables the use of C stdio.
This adds helpers for easily reading/writing C files and makes debugging easier.
| #define MPACK_STDLIB 1 |
Enables the use of C stdlib.
This allows the library to use malloc for debugging and in allocation helpers.
| #define MPACK_STRINGS 1 |
Enables descriptive error and type strings.
This can be turned off (by defining it to 0) to maximize space savings on embedded devices. If this is disabled, string functions such as mpack_error_to_string() and mpack_type_to_string() return an empty string.
This is on by default if it is not defined.
| #define MPACK_WRITE_TRACKING 1 |
Enables compound type size tracking for writers.
This ensures that the correct number of elements or bytes are written in a compound type.
Note that without write tracking enabled, it is possible for buggy code to emit invalid MessagePack without flagging an error by writing the wrong number of elements or bytes in a compound type. With tracking enabled, MPack will catch such errors and break on the offending line of code.
This is enabled by default in debug builds (provided a malloc() is available.)
| #define MPACK_WRITER 1 |
Enables compilation of the Writer.


Here are the latest projects I have been working on.
The Iron Dojo
GitHub Depository
Allows a user to create a fitness routine using mger API, log their workouts to a MongoDB, and assess their progress of a fitness routine with visually displayed data using recharts and Material UI.
SF Watch
GitHub Depository
Visual map San Francisco SOCRATA API data of historical fires and police incidents overlaid onto Leaflet map using Semantic UI and JQuery logic.
Weather Dashboard
GitHub Depository
Simple web app that allows you to search for the current weather and a 5 day forecast.
GitHub Depository
A web application that allows you to generate a password with a variety of character inputs choices.
Web app that allows friends to interact via video-call or in-person and play a semi-structured game that fosters creativity. Stay in touch, learn about your friends, and make memories. (Will Launch Soon!)
In the meantime, reach out if you want to continue the conversation.


There are {{ corona.total_cases }} total cases.
{{ corona.total_recovered }} people have recovered.
There are {{ corona.total_unresolved }} unresolved cases.
{{ corona.total_deaths }} people have died.
There are {{ corona.total_new_cases_today }} new cases today.
{{ corona.total_new_deaths_today }} people have died today.
Total active cases: {{ corona.total_active_cases }}
Total serious cases: {{ corona.total_serious_cases }}


public interface ClientAuthContext extends ClientAuth
A ClientAuthContext instance may be used concurrently by multiple callers.
Implementations of this interface are responsible for constructing and initializing the encapsulated modules. The
initialization step includes passing the relevant request and response MessagePolicy objects to the encapsulated
modules. The MessagePolicy objects are obtained by the ClientAuthConfig instance used to obtain the ClientAuthContext
object. See ClientAuthConfig.getAuthContext
for more information.
Implementations of this interface are instantiated by their associated configuration object such that they know which modules to invoke, in what order, and how results returned by preceding modules are to influence subsequent module invocations.
Calls to the inherited methods of this interface delegate to the corresponding methods of the encapsulated authentication modules.
ClientAuthConfig
,
ClientAuthModule
cleanSubject, secureRequest, validateResponse


§350E-4 Appropriate authority in Hawaii. As used in paragraph (a) of Article V the phrase "appropriate authority in the receiving state" with reference to this State means the department of human services. [L 1985, c 132, pt of §1; am L 1987, c 339, §4]


Titanic Kaggle
Titanic: Machine Learning from disaster. My R Notebook for Kaggle
library(knitr)
library(rmdformats)
## Global options
options(max.print="75")
opts_chunk$set(#echo=FALSE,
cache=TRUE,
prompt=FALSE,
tidy=TRUE,
comment=NA,
message=FALSE,
warning=FALSE,
results='asis'
)
opts_knit$set(width=75)
print("notebook options imported successfully!")
## [1] "notebook options imported successfully!"
# set the working directory
setwd("~/Documents/GitHub/titanic_kaggle_ml")
# read data files
test.data <- read.csv("test.csv", na.strings = c("NA",""))
train.data <- read.csv("train.csv", na.strings = c("NA",""))
# convert ints factors
train.data$Survived = factor(train.data$Survived)
train.data$Pclass = factor(train.data$Pclass)
# test.data$Survived = factor(test.data$Survived)
# test.data$Pclass = factor(test.data$Pclass)
# DETECTING MISSING VALUES
sum(is.na(train.data$Embarked))
[1] 2
sapply(train.data, function(df){
sum(is.na(df==TRUE) /length(df));
})
PassengerId Survived Pclass Name Sex Age 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.198653199 SibSp Parch Ticket Fare Cabin Embarked 0.000000000 0.000000000 0.000000000 0.000000000 0.771043771 0.002244669
Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.
library(Amelia)
missmap(train.data, main="Missing Map")
# Ameliaview()
### IMPUTTING MISSING VALUES ###
table(train.data$Embarked, useNA = "always") %>% as.data.frame();
Var1 Freq 1 C 168 2 Q 77 3 S 644 4
# Change NA Values to S, the most probable port
train.data$Embarked[which(is.na(train.data$Embarked))] = 'S' ; #using which to subset
# get table of salutations from names using grep
train.data$Name = as.character(train.data$Name)
table_words = table(unlist(strsplit(train.data$Name, "\\s+")))
sort(table_words [grep('\\.',names(table_words))], decreasing = TRUE)
Mr. Miss. Mrs. Master. Dr. Rev. Col.
517 182 125 40 7 6 2
Major. Mlle. Capt. Countess. Don. Jonkheer. L. 2 2 1 1 1 1 1 Lady. Mme. Ms. Sir. 1 1 1 1
# find missing values
library(stringr)
tb = cbind(train.data$Age, str_match(train.data$Name, "[a-zA-z]+\\."))
table(tb[is.na(tb[,1]),2])
Dr. Master. Miss. Mr. Mrs.
1 4 36 119 17
# impute mean value for missing ages
mean.mr = mean(train.data$Age[grepl(" Mr\\.", train.data$Name) & !is.na(train.data$Age)])
mean.mrs = mean(train.data$Age[grepl(" Mrs\\.", train.data$Name) & !is.na(train.data$Age)])
mean.dr = mean(train.data$Age[grepl(" Dr\\.", train.data$Name) & !is.na(train.data$Age)])
mean.miss = mean(train.data$Age[grepl(" Miss\\.", train.data$Name) & !is.na(train.data$Age)])
mean.master = mean(train.data$Age[grepl(" Master\\.", train.data$Name) & !is.na(train.data$Age)])
# assign missing value with the mean value of each title
train.data$Age[grepl(" Mr\\.", train.data$Name) & is.na(train.data$Age)] = mean.mr
train.data$Age[grepl(" Mrs\\.", train.data$Name) & is.na(train.data$Age)] = mean.mrs
train.data$Age[grepl(" Dr\\.", train.data$Name) & is.na(train.data$Age)] = mean.dr
train.data$Age[grepl(" Miss\\.", train.data$Name) & is.na(train.data$Age)] = mean.miss
train.data$Age[grepl(" Master\\.", train.data$Name) & is.na(train.data$Age)] = mean.master
### DATA VISUALIZATION ###
barplot(table(train.data$Survived), main="Passenger Survival", names = c("Perished", "Survived"))
barplot(table(train.data$Pclass), main = "Passenger Class", names = c("first", "seconds", "third"))
barplot(table(train.data$Sex), main = "Passenger Gender")
hist(train.data$Age, main = "Passenger Age", xlab = "Age")
barplot(table(train.data$SibSp), main = "Passenger Siblings")
barplot(table(train.data$Parch), main = "Passenger Parch")
hist(train.data$Fare, main = "Passenger Fare", xlab = "Fare")
barplot(table(train.data$Embarked), main = "Port of Embarkation")
counts = table( train.data$Survived, train.data$Sex )
counts
female male
0 81 468 1 233 109
barplot(counts, col = c("darkblue", "red"), legend = c("Perished", "Survived"), main = "Passenger Survival by Sex")
# does Pclass affect survival rate? YUP!
counts = table( train.data$Survived, train.data$Pclass)
barplot(counts, col = c("darkblue", "red"), legend = c("Perished", "Survived"), main = "Passenger Survival by Class")
# Gender Composition of Class
counts = table( train.data$Sex, train.data$Pclass)
barplot(counts, col = c("darkblue", "red"), legend = rownames(counts), main = "Passenger Gender by Class")
# What does age distribution look like? - Age Histogram
hist(train.data$Age[which(train.data$Survived == "0")], main = "Passenger Age Histogram",xlab = "Age", ylab = "Count", col = "blue", breaks = seq(0,80,by=2))
hist(train.data$Age[which(train.data$Survived == "1")], col = "red", add = T, breaks = seq(0,80,by=2))
# what's the relationship between age and survival rate?
boxplot(train.data$Age ~ train.data$Survived , main = "Passenger Survival by Age" , xlab = "Survived", ylab = "Age" )
# categorize people into different age groups
train.child = train.data$Survived[train.data$Age < 13]
paste( 'child survival rate = ', length(train.child[which(train.child == 1)]) / length(train.child))
[1] “child survival rate = 0.575342465753425”
train.youth = train.data$Survived[train.data$Age >= 15 & train.data$Age <25 ]
paste('youth survival rate = ', length(train.youth[which(train.youth == 1 )]) / length(train.youth))
[1] “youth survival rate = 0.402542372881356”
train.adult = train.data$Survived[train.data$Age >= 25 & train.data$Age <65 ]
paste('adult survival rate = ', length(train.adult[which(train.adult == 1 )]) / length(train.adult))
[1] “adult survival rate = 0.354092526690391”
train.senior = train.data$Survived[train.data$Age >= 65 ]
paste('senior survival rate = ', length(train.senior[which(train.senior == 1 )]) / length(train.senior))
[1] “senior survival rate = 0.0909090909090909”
library(vcd)
mosaicplot(train.data$Pclass ~ train.data$Survived,
main = "Passenger Survival Class", color = TRUE,
xlab = "Pclass", ylab = "Survived")
split.data = function(data, p=0.7, s=666){
set.seed(s)
index = sample(1:dim(data)[1])
train = data[index[1:floor(dim(data)[1] * p)], ]
test = data[index[((ceiling(dim(data)[1] * p)) + 1):dim(data)[1]], ]
return(list(train = train, test = test))
}
allset = split.data(train.data)
trainset = allset$train
testset = allset$test
library(party)
train.ctree = ctree(Survived ~ Pclass + Sex + Age + SibSp + Fare + Parch + Embarked, data = trainset)
train.ctree
Conditional inference tree with 7 terminal nodes
Response: Survived Inputs: Pclass, Sex, Age, SibSp, Fare, Parch, Embarked Number of observations: 623
- Sex == {male}; criterion = 1, statistic = 173.672
- Pclass == {2, 3}; criterion = 1, statistic = 30.951
- Age <= 9; criterion = 0.993, statistic = 10.923
- SibSp <= 1; criterion = 0.999, statistic = 14.856 5)* weights = 10
- SibSp > 1 6)* weights = 13
- Age > 9 7)* weights = 280
- Pclass == {1} 8)* weights = 87
- Sex == {female}
- Pclass == {1, 2}; criterion = 1, statistic = 59.504 10)* weights = 125
- Pclass == {3}
- Fare <= 23.25; criterion = 0.997, statistic = 12.456 12)* weights = 85
- Fare > 23.25 13)* weights = 23
plot(train.ctree, main = "Conditional inference tree of Titanic Dataset")
# Now use svm to generate a prediction model using the same dataset as above
library('e1071')
svm.model = svm(Survived ~ Pclass + Sex + Age + SibSp + Fare + Parch + Embarked, data = trainset, probability=TRUE)
svm.model
Call: svm(formula = Survived ~ Pclass + Sex + Age + SibSp + Fare + Parch + Embarked, data = trainset, probability = TRUE)
Parameters: SVM-Type: C-classification SVM-Kernel: radial cost: 1 gamma: 0.1
Number of Support Vectors: 324
# Validate the power of the prediction model using a confusion matrix
ctree.predict = predict(train.ctree, testset)
library('caret')
# test the accuracy of the ctree model using confusion matrix via caret package
confusionMatrix(ctree.predict, testset$Survived)
Confusion Matrix and Statistics
Reference
Prediction 0 1 0 160 23 1 16 68
Accuracy : 0.8539
95% CI : (0.8058, 0.894)
No Information Rate : 0.6592
P-Value [Acc > NIR] : 5.347e-13
Kappa : 0.6688
Mcnemar’s Test P-Value : 0.3367
Sensitivity : 0.9091
Specificity : 0.7473
Pos Pred Value : 0.8743
Neg Pred Value : 0.8095
Prevalence : 0.6592
Detection Rate : 0.5993
Detection Prevalence : 0.6854
Balanced Accuracy : 0.8282
'Positive' Class : 0
# Validate the power of the prediction model using a confusion matrix
svm.predict = predict(svm.model, testset,na.action = na.pass)
library('caret')
# test the accuracy of the ctree model using confusion matrix via caret package
confusionMatrix(table(svm.predict, testset$Survived))
Confusion Matrix and Statistics
svm.predict 0 1 0 161 24 1 15 67
Accuracy : 0.8539
95% CI : (0.8058, 0.894)
No Information Rate : 0.6592
P-Value [Acc > NIR] : 5.347e-13
Kappa : 0.667
Mcnemar’s Test P-Value : 0.2002
Sensitivity : 0.9148
Specificity : 0.7363
Pos Pred Value : 0.8703
Neg Pred Value : 0.8171
Prevalence : 0.6592
Detection Rate : 0.6030
Detection Prevalence : 0.6929
Balanced Accuracy : 0.8255
'Positive' Class : 0
Assesing Performance with the ROC Curve
Prepare the Probability Matrix
train.ctree.pred = predict(train.ctree, testset)
train.ctree.prob = 1 - unlist(treeresponse(train.ctree, testset), use.names = F) [seq(1,nrow(testset)*2,2)]
Create an ROCR prediction from probabilities & Create ROC Curve
library(ROCR)
train.ctree.prob.rocr = prediction(train.ctree.prob, testset$Survived)
train.ctree.perf = performance(train.ctree.prob.rocr, "tpr", "fpr")
train.ctree.auc.perf = performance(train.ctree.prob.rocr, measure = "auc", x.measure = "cutoff")
plot(train.ctree.perf, col=2, colorize=T, main=paste("AUC:", train.ctree.auc.perf@y.values))
Share this post
Twitter
Google+
Facebook
Reddit
LinkedIn
StumbleUpon
Pinterest
Email


This is the HTML template for a custom widget that needs to subclass dijit/Dialog. As of this writing, the only way
to provide a dialog with a custom template is to override it completely. Use this template with the Dialog Subclass
JavaScript file to create a complete widget.


More information very soon! In the meantime, if you have any questions, please reach out to aero.robotics.comp@gmail.com


Egypt Officials: 3 Security Forces Killed in Sinai Blast
Egyptian officials said Sunday that a roadside bomb has killed at least three members of the security forces in the restive northern Sinai province.
The explosion hit their armored vehicle in the town of Sheikh Zuweid. Four other security force members were wounded, including an officer.
No group immediately claimed responsibility for the attack.
Egypt has for years been battling an insurgency in the northern Sinai Peninsula that's now led by an ISIS group affiliate.
The fighting intensified in 2013.


Hint: This is not the real Tenacity website.
This is a working prototype made by Sosasees
for suggestion purposes.
View its Source Code on GitHub.
Tenacity is an easy-to-use, cross-platform multi-track audio editor/recorder for Windows, MacOS, GNU/Linux and other operating systems and is developed by a group of volunteers as open-source software.
Recording
from audio devices (real or virtual)
Export & Import
a wide range of audio formats (extendible with FFmpeg)
High Quality
including up to 32-bit float audio support
Plug-Ins
providing support for VST, LV2, and AU plugins
Scripting
in the built-in scripting language Nyquist, or in Python, Perl and
other languages with named pipes
Editing
arbitrary sampling and multi-track timeline
Accessibility
including editing via keyboard, screen reader support and narration
support
Tools
useful in the analysis of signals, including audio
Prepackaged builds will be available through the releases page on the repository once the initial process of transitioning the project is completed enough for the first release version.
Alternatively, you can build Tenacity from source. [How?]
A great place to ask for general questions with using Tenacity, starting discussions about your ideas and feature requests, and generally getting to know the community is the tenacity-discuss mailing list .
You may also use our IRC channel,
#tenacity
(hosted on irc.libera.chat),
where you're welcome to ask questions
and have discussions
in a more free-form, real-time context.
The channel is also
bridged to Matrix.
The upstream development repository may be found on sr.ht.
Contribute by sending patches to the
development mailing list at
~tenacity/tenacity-dev@lists.sr.ht.


--- layout: default ---
Open-source Survival Server for Mini World Block Art fully customizable. Currency, Pets, Weapons and many more things are waiting for you.
MWCH is a simple, but powerful plugin pack. It's the first Public Survival Server Project that adds new functionalities to the game, like the Currency System, Inventory Shop and the coming Player Level System. It's powered and maintained by the Mini World-Hispanos Community. Open-source and simple to edit and use in other Map Projects.
Get started by cloning source into GitHub account of your project. Then start editing it and make it yours! Remember that the project is Licensed by the MIT License, give it a read.
All the changes we made are suggested by and for the Community in our Discord Server.
We have a hundred of features, the most important ones are the Currency System, Pets, Inventory Shop, and Pacific Lobby System, help us to make more!


Debugging¶
There are two important debugging strategies to use when encountering problems with HTTP transactions.
Strategy 1: Meaningful exception handling¶
If the API returns a 4xx or 5xx status code, it indicates that there was an error with the sent request, meaning that the transaction cannot be adequately completed.
The Guzzle HTTP component, which forms the basis of our SDK’s transport layer, utilizes numerous exception classes to handle this error logic.
The two most common exception classes are:
- Guzzle\Http\Exception\ClientErrorResponseException, which is thrown when a 4xx response occurs
- Guzzle\Http\Exception\ServerErrorResponseException, which is thrown when a 5xx response occurs
Both of these classes extend the base BadResponseException class.
This provides you with the granularity you need to debug and handle exceptions.
An example with Swift¶
If you’re trying to retrieve a Swift resource, such as a Data Object, and you’re not completely certain that it exists, it makes sense to wrap your call in a try/catch block:
use Guzzle\Http\Exception\ClientErrorResponseException;
try {
return $service->getObject('foo.jpg');
} catch (ClientErrorResponseException $e) {
if ($e->getResponse()->getStatusCode() == 404) {
// Okay, the resource does not exist
return false;
}
} catch (\Exception $e) {
// Some other exception was thrown...
}
Both ClientErrorResponseException and ServerErrorResponseException have two methods that allow you to access the HTTP transaction:
// Find out the faulty request
$request = $e->getRequest();
// Display everything by casting as string
echo (string) $request;
// Find out the HTTP response
$response = $e->getResponse();
// Output that too
echo (string) $response;
Strategy 2: Wire logging¶
Guzzle provides a Log plugin that allows you to log everything over the wire, which is useful if you don’t know what’s going on.
Here’s how you enable it:
Install the plugin¶
composer require guzzle/guzzle
Add to your client¶
use Guzzle\Plugin\Log\LogPlugin;
$client->addSubscriber(LogPlugin::getDebugPlugin());
The above will add a generic logging subscriber to your client, which will output every HTTP transaction to STDOUT.


One
Stop Fire Shop was established to satisfy the growing needs
of the fire fighting industry.
Her experience is a valuable asset to your department when it
comes to rapid, economical procurement of most any emergency
fire equipment.
One Stop Fire Shop offers unique packages of equipment
making the purchasing process more convenient and more economical.
One Stop Fire Shops mission is to offer a one-stop source
for all rescue and fire fighting needs.


Scott Chamberlain is an ecologist at Simon Fraser University, and co-founder of rOpenSci, a project which aims to foster reproducible research and data reuse through open source software tools.


Combing through dozens of websites and waiting on hold forever are a thing of the past. Find great doctors, compare them, and book an appointment with your top choice – all in one place.
Combing through dozens of websites and waiting on hold forever are a thing of the past. Find great doctors, compare them, and book an appointment with your top choice – all in one place.
Get personalized recommendations based on your unique health needs. We analyze over 100 data points so that you can avoid those unexpected costs.
We have a fast pass into the insurance companies, doctors, and pharmacies. We get you what you need faster.
Need to find a new doctor? Aren’t sure about what bill you received? We’ll take care of it all for you. Call, email, text, or chat with us.


| DOSE: T+ 0:00 |
16 mg |
oral |
2C-I |
(powder / crystals) |
| T+ 1:30 |
5.0 mg |
smoked |
2C-I |
(powder / crystals) |
| T+ 3:30 |
1 hit |
inhaled |
Nitrous Oxide |
(gas) |
Substance - 2C-I
Experience - First time
Setting - my house, solo
I was in a mediocre state of mind. I had just had a rough night at work. It was 1045pm and I looked at the capsule containing 16mg of 2C-I in it. I quickly down it with a swish of Code Red Mountain Dew. I then sat back to play the waiting game.
I had fasted for about 6 hours before this point in hope to make a swifter comeup. My stomach was rumbling with hunger.
1045PM - 16mg ingested orally
1050PM - I feel a tightness in my stomach. I had not read anything about naseau so I asked fellow IRC users. They said it was the phenethylamine signature. I myself had never had a phen of any sort so I wasnt sure of this. But I dismissed any alarm I had.
12AM - Feel alert, I also feel... itchy is the only way I can describe.  A very pleasant body feel.
1210AM - No visuals present, but I am starting to come up fast. But still the effects are not too powerful, I could still function should I need to.
I was speaking to a person whom I go to for advice, and he said that I should try to smoke a little to boost it more. I had read of smoking 2c's and heard it was quite gentle. I decided to try 5mg to see if it did anything at all.
1215AM - Vaporize 5mg of 2C-I in a test tube.
1220AM - I go back on the computer. Smoking definitely boosted the experience. My body high is tremendous at this point. It feels almost as tho I was having an orgasm throughout my body. It actually makes me shudder every few mins.
1AM - Slight visual disturbances. Things seem to be far away or real close. Depth perception means nothing right now.
130AM - Still coming up, very strong body buzz, but still very gentle...
My previous experience with AMT had been rather bizarre. The body buzz was strong and made me feel weird at times. The 2C-I feel, although definitely bizarre in its own way, was very gentle, and I never felt out of place.
2AM - I think Im peaking now. Visuals are powerful. Slight patterning is present, but only slight. The real visual effects are that my entire vision looks as though I was looking through a piece of bent glass. Everything is very warped, and glistening.
At this point I can hear my parents stirring in the room next to where I am. I dont think I would handle a visit from them well, so I retreat to my basement where my room is.
215AM - I go into the bathroom to look in the mirror. I love mirrors on trip, they are so frightening and so fun at the same time. Anytime I made a happy face, my skin seemed to change color, and I looked absolutely beautiful. I was the best looking person that ever lived. But when I made a sad/angry face... my face warped and contorted, and took on a greenish hue. My eyes seemed to sink back and my teeth seemed to look like fangs. I dismissed this as a hallucination though and left the bathroom.
216AM - On the way out I notice we have a whipped cream can in the fridge... hmmm...
218AM - I suck down the nitrous.  I was literally nullified from this world. I saw bizarre images pouring through my head while my body separated from me. I felt as though I was completely and utterly lost in a sea of color and thoughts... for about 2 mins hehe
220AM - Nitrous is over... wow...
230AM - Put on headphones and lay on my bed. Listening to Dark Side Of The Moon. People tell me its cliche, but I still love it. Always puts me in a positive mood.
245AM - Listening to Floyd and watching my room breathe with slight patterns still flowing
3AM - At this point my mind was gone... I had random thoughts I had never thought before (and now cannot recall) pour through my head.  It was a powerful vision/thought.
315AM - Still watching visual effects... I have found that if I resist... no matter how intense it gets, I can seem to suppress all the effects. But for the most part I am allowing the chemical to take over and do its magical work.
430AM - Coming down now... still feeling great. The body orgasm is STILL there. This was the greatest body high I have ever felt from any substance I have taken. Visuals are still bending around the room.
5AM - I try to force myself to sleep... not a good idea... Trying to push all this out (despite what I said before) is too hard. The more I try to sleep, the more intense the CEVs get. After awhile of trying I give up and just lay there.
530AM - I hear a crash... I go upstairs and see that my cat knocked a vase over. I pick it up. I then go into the bathroom to see the mirror again... yep, Im still having strong hallucinations.
545AM - My stomach is hurting now, its been about 12 hours since I ate. I pour a bowl of cereal and eat it. It tastes so very good. I turn around and open the blinds, and I witness the most breath-taking site I have ever seen. The sunrise...
I had only seen the sun come up a few times before, but now, while on 2C-I it meant so much more. It symbolized a new beginning. It was at this point that the eye of my mind opened widely, and I just about fathomed everything I had ever wondered about, revelations about my life were flowing through my head, making me so very happy.
And then I hear footsteps...
My mom comes down wondering why Im up at 545. I said I heard the cat and then I wanted food. She sat down with me and started to talk to me about random stuff. Eeek... I do not enjoy talking to my parents on any drug, let alone a hallucinogen...
Time to try if I can push it...
Yes! Its working...
6AM - I managed to get through the convo. And then she asked me to drive out the get the morning paper. Shit, I thought. I cant drive like this. I was still tripping, not nearly as hard as before, but still enough where I would never drive. I say I dont feel good from lack of food, and she goes out.
615AM - I take a shower. Oh god, how wonderful this feels. I look at the shower curtain, and it is breathing. Its been 7.5 hours since ingestion, and Im still seeing visuals? Wow...
630AM - I go on IRC. To my surprise people are still on and active. I talk to them for a bit.
8AM - Effects seem to have left me completely, a total of 9.5 hours after ingestion I feel normal
What a great experience
----------------------------
Side effects - I had read of a raise in blood pressure. When it all wore off I had a tightness in my face, and my jaw hurt from clenching. I was tired from lack of sleep, but that was to be expected.
The effects on my mind were fantastic.  This had everything I have ever looked for in a drug. From the fantastic visuals, to the nice body feel, to the completely blissful mind this was my best drug experience to date.
In the future I think I will try smoking 2C-I by itself to see how the effects of that go.
2C-I was a very powerful beautiful chemical. Please treat this one with respect.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Charles Randall Fricke
Unafffiliated
Technically, I am a retired Colorado citizen, but I remain active as a book author of American politics as well as a political columnist with a columnist a local Colorado newspaper (2015-2017). In 2018, I founded Western Colorado Independent Voters which covers Colorado's Third Congressional District. I am also a national leader in the Independent voter movement and serve on several national committees.
I have a Bachelor of Science in Secondary Education with a major in social sciences. I also earned a Masters Degree in Education with graduate hours toward a PH. D. in Education.
81647
As the founder and lead organizer of Western Colorado Independent Voters, it is my responsibility to educate and inform Colorado Independent/Unaffiliated voters as well as the general public on election reform that is direly needed at the state and local level. I actively and publicly advocated for these anti-gerrymandering commissions and the initiatives in 2018. I have been involved in Colorado politics for many years. In 2004, I ran as a Democratic Party candidate for the Third Congressional District.
I founded Western Colorado Independent Voters in 2018 which is based in Glenwood Springs. I am an unpaid organizational leader.
In addition to founding WCIV, I serve on the National Cabinet of Independent Voting (Independentvoting.org) based in New York City. I also serve on Independent Voting's National Election Reform Committee and National Presidential Candidate Outreach Committee. None of these positions are paid. They are strictly volunteer.
It is my number one goal to have fair and democratic elections in the State of Colorado. I am a strong advocate for open non-partisan primary elections which should be the goal of a democratic election system.
Overall, I have well-rounded experience working at the state and national level in politics in America. As a lobbyist in the 1970s and 1980s on Capitol Hill, I had to work with members of the Democratic and Republican Parties. I believe that I still have that strong ability to work with representatives of both parties.
I have just completed writing a book on American politics where I have provided solutions and pathways for Main Street Americans to create a functioning economy of their own. The book will be published in about two weeks.


ISGCI: Information System on Graph Classes and their Inclusions#
This module implements an interface to the ISGCI database in Sage.
This database gathers information on graph classes and their inclusions in each other. It also contains information on the complexity of several computational problems.
It is available on the GraphClasses.org website maintained by H.N. de Ridder et al.
How to use it?#
Presently, it is possible to use this database through the variables and methods
present in the graph_classes
object.
For instance:
sage: Trees = graph_classes.Tree
sage: Chordal = graph_classes.Chordal
Inclusions#
It is then possible to check the inclusion of classes inside of others, if the information is available in the database:
sage: Trees <= Chordal
True
And indeed, trees are chordal graphs.
The ISGCI database is not all-knowing, and so comparing two classes can return
True
, False
, or Unknown
(see the documentation of the Unknown
truth value
).
An unknown answer to A <= B
only means that ISGCI cannot deduce from the
information in its database that A
is a subclass of B
nor that it is
not. For instance, ISGCI does not know at the moment that some chordal graphs
are not trees:
sage: graph_classes.Chordal <= graph_classes.Tree
Unknown
Descriptions#
Given a graph class, one can obtain its associated information in the ISGCI
database with the description()
method:
sage: Chordal.description()
Class of graphs : Chordal
-------------------------
id : gc_32
name : chordal
...
Problems :
-----------
3-Colourability : Linear
Clique : Polynomial
Clique cover : Polynomial
...
It is possible to obtain the complete list of the classes stored in ISGCI by
calling the show_all()
method (beware – long output):
sage: graph_classes.show_all()
id | name | type | smallgraph
----------------------------------------------------------------------------------------------------------------------
gc_309 | $K_4$--minor--free | base |
gc_541 | $N^*$ | base |
gc_215 | $N^*$--perfect | base |
gc_5 | $P_4$--bipartite | base |
gc_3 | $P_4$--brittle | base |
gc_6 | $P_4$--comparability | base |
gc_7 | $P_4$--extendible | base |
...
Until a proper search method is implemented, this lets one find classes which do
not appear in graph_classes.*
.
To retrieve a class of graph from its ISGCI ID one may use
the get_class()
method:
sage: GC = graph_classes.get_class("gc_5")
sage: GC
$P_4$--bipartite graphs
Recognition of graphs#
The graph classes represented by the ISGCI database can alternatively be used to access recognition algorithms. For instance, in order to check that a given graph is a tree one has the following the options
sage: graphs.PathGraph(5) in graph_classes.Tree
True
or:
sage: graphs.PathGraph(5).is_tree()
True
Furthermore, all ISGCI graph classes which are defined by the exclusion of a finite sequence of induced subgraphs benefit from a generic recognition algorithm. For instance
sage: g = graphs.PetersenGraph()
sage: g in graph_classes.ClawFree
False
sage: g.line_graph() in graph_classes.ClawFree
True
Or directly from ISGCI
sage: gc = graph_classes.get_class("gc_441")
sage: gc
diamond--free graphs
sage: graphs.PetersenGraph() in gc
True
Predefined classes#
graph_classes
currently predefines the following graph classes
Class |
Related methods |
|---|---|
Apex |
|
AT_free |
|
Biconnected |
|
BinaryTrees |
|
Bipartite |
|
Block |
|
Chordal |
|
Claw-Free |
|
Comparability |
|
Gallai |
|
Grid |
|
Interval |
|
Line |
|
Modular |
|
Outerplanar |
|
Perfect |
|
Planar |
|
Polyhedral |
|
Split |
|
Tree |
|
UnitDisk |
|
UnitInterval |
Sage’s view of ISGCI#
The database is stored by Sage in two ways.
The classes: the list of all graph classes and their properties is stored
in a huge dictionary (see classes()
).
Below is what Sage knows of gc_249
:
sage: graph_classes.classes()['gc_249'] # random
{'problem':
{'Independent set': 'Polynomial',
'Treewidth': 'Unknown',
'Weighted independent set': 'Polynomial',
'Cliquewidth expression': 'NP-complete',
'Weighted clique': 'Polynomial',
'Clique cover': 'Unknown',
'Domination': 'NP-complete',
'Clique': 'Polynomial',
'Colourability': 'NP-complete',
'Cliquewidth': 'Unbounded',
'3-Colourability': 'NP-complete',
'Recognition': 'Linear'},
'type': 'base',
'id': 'gc_249',
'name': 'line'}
The class inclusion digraph: Sage remembers the class inclusions through
the inclusion digraph (see inclusion_digraph()
).
Its nodes are ID of ISGCI classes:
sage: d = graph_classes.inclusion_digraph()
sage: d.vertices(sort=True)[-10:]
['gc_990', 'gc_991', 'gc_992', 'gc_993', 'gc_994', 'gc_995', 'gc_996', 'gc_997', 'gc_998', 'gc_999']
An arc from gc1
to gc2
means that gc1
is a superclass of gc2
.
This being said, not all edges are stored ! To ensure that a given class is
included in another one, we have to check whether there is in the digraph a
path
from the first one to the other:
sage: bip_id = graph_classes.Bipartite._gc_id
sage: perfect_id = graph_classes.Perfect._gc_id
sage: d.has_edge(perfect_id, bip_id)
False
sage: d.distance(perfect_id, bip_id)
2
Hence bipartite graphs are perfect graphs. We can see how ISGCI obtains this result
sage: p = d.shortest_path(perfect_id, bip_id)
sage: len(p) - 1
2
sage: print(p) # random
['gc_56', 'gc_76', 'gc_69']
sage: for c in p:
....: print(graph_classes.get_class(c))
perfect graphs
...
bipartite graphs
What ISGCI knows is that perfect graphs contain unimodular graph which contain bipartite graphs. Therefore bipartite graphs are perfect !
Note
The inclusion digraph is NOT ACYCLIC. Indeed, several entries exist in the ISGCI database which represent the same graph class, for instance Perfect graphs and Berge graphs:
sage: graph_classes.inclusion_digraph().is_directed_acyclic()
False
sage: Berge = graph_classes.get_class("gc_274"); Berge
Berge graphs
sage: Perfect = graph_classes.get_class("gc_56"); Perfect
perfect graphs
sage: Berge <= Perfect
True
sage: Perfect <= Berge
True
sage: Perfect == Berge
True
Information for developers#
The database is loaded not so large, but it is still preferable to only load it on demand. This is achieved through the cached methods
classes()
andinclusion_digraph()
.Upon the first access to the database, the information is extracted from the XML file and stored in the cache of three methods:
sage.graphs.isgci._classes
(dictionary)sage.graphs.isgci._inclusions
(list of dictionaries)sage.graphs.isgci._inclusion_digraph
(DiGraph)
Note that the digraph is only built if necessary (for instance if the user tries to compare two classes).
Todo
Technical things:
Query the database for non-inclusion results so that comparisons can return
False
, and implement strict inclusions.Implement a proper search method for the classes not listed in
graph_classes
See also
sage.graphs.isgci.show_all()
.Some of the graph classes appearing in
graph_classes
already have a recognition algorithm implemented in Sage. It would be so nice to be able to writeg in Trees
,g in Perfect
,g in Chordal
, … :-)
Long-term stuff:
Implement simple accessors for all the information in the ISGCI database (as can be done from the website)
Implement intersection of graph classes
Write generic recognition algorithms for specific classes (when a graph class is defined by the exclusion of subgraphs, one can write a generic algorithm checking the existence of each of the graphs, and this method already exists in Sage).
Improve the performance of Sage’s graph library by letting it take advantage of the properties of graph classes. For example,
Graph.independent_set()
could use the library to detect that a given graph is, say, a tree or a planar graph, and use a specialized algorithm for finding an independent set.
Methods#
- class sage.graphs.isgci.GraphClass(name, gc_id, recognition_function=None)#
Bases:
SageObject
,CachedRepresentation
An instance of this class represents a Graph Class, matching some entry in the ISGCI database.
EXAMPLES:
Testing the inclusion of two classes:
sage: Chordal = graph_classes.Chordal sage: Trees = graph_classes.Tree sage: Trees <= Chordal True sage: Chordal <= Trees Unknown
- description()#
Print the information of ISGCI about the current class.
EXAMPLES:
sage: graph_classes.Chordal.description() Class of graphs : Chordal ------------------------- id : gc_32 name : chordal ... Problems : ----------- 3-Colourability : Linear Clique : Polynomial Clique cover : Polynomial ... Recognition : Linear ...
- forbidden_subgraphs()#
Return the list of forbidden induced subgraphs defining the class.
If the graph class is not defined by a finite list of forbidden induced subgraphs,
None
is returned instead.EXAMPLES:
sage: graph_classes.Perfect.forbidden_subgraphs() sage: gc = graph_classes.get_class('gc_62') sage: gc claw--free graphs sage: gc.forbidden_subgraphs() [Graph on 4 vertices] sage: gc.forbidden_subgraphs()[0].is_isomorphic(graphs.ClawGraph()) True
- class sage.graphs.isgci.GraphClasses#
Bases:
UniqueRepresentation
- classes()#
Return the graph classes, as a dictionary.
Upon the first call, this loads the database from the local XML file. Subsequent calls are cached.
EXAMPLES:
sage: t = graph_classes.classes() sage: type(t) <... 'dict'> sage: sorted(t["gc_151"].keys()) ['id', 'name',... 'problem',... 'type'] sage: t["gc_151"]['name'] 'cograph' sage: t["gc_151"]['problem']['Clique'] {'complexity': 'Linear'}
- get_class(id)#
Return the class corresponding to the given id in the ISGCI database.
INPUT:
id
(string) – the desired class’ ID
See also
EXAMPLES:
With an existing id:
sage: Cographs = graph_classes.get_class("gc_151") sage: Cographs cograph graphs
With a wrong id:
sage: graph_classes.get_class(-1) Traceback (most recent call last): ... ValueError: The given class id does not exist in the ISGCI database. Is the db too old ? You can update it with graph_classes.update_db().
- inclusion_digraph()#
Return the class inclusion digraph.
Upon the first call, this loads the database from the local XML file. Subsequent calls are cached.
EXAMPLES:
sage: g = graph_classes.inclusion_digraph(); g Digraph on ... vertices
- inclusions()#
Return the graph class inclusions.
OUTPUT:
a list of dictionaries
Upon the first call, this loads the database from the local XML file. Subsequent calls are cached.
EXAMPLES:
sage: t = graph_classes.inclusions() sage: type(t) <... 'list'> sage: t[0] {'sub': 'gc_1', 'super': 'gc_2'}
- show_all()#
Prints all graph classes stored in ISGCI
EXAMPLES:
sage: graph_classes.show_all() id | name | type | smallgraph ---------------------------------------------------------------------------------------------------------------------- gc_309 | $K_4$--minor--free | base | gc_541 | $N^*$ | base | gc_215 | $N^*$--perfect | base | gc_5 | $P_4$--bipartite | base | gc_3 | $P_4$--brittle | base | gc_6 | $P_4$--comparability | base | gc_7 | $P_4$--extendible | base | ...
- smallgraphs()#
Return a dictionary associating a graph to a graph description string.
Upon the first call, this loads the database from the local XML files. Subsequent calls are cached.
EXAMPLES:
sage: t = graph_classes.smallgraphs() sage: t['2C_4'] Graph on 8 vertices sage: t['2K_3 + e'] Graph on 6 vertices sage: t['fish'] Graph on 6 vertices sage: t['bull'] Graph on 5 vertices
- update_db()#
Updates the ISGCI database by downloading the latest version from internet.
This method downloads the ISGCI database from the website GraphClasses.org. It then extracts the zip file and parses its XML content.
Depending on the credentials of the user running Sage when this command is run, one attempt is made at saving the result in Sage’s directory so that all users can benefit from it. If the credentials are not sufficient, the XML file are saved instead in the user’s directory (in the SAGE_DB folder).
EXAMPLES:
sage: graph_classes.update_db() # optional - internet Database downloaded


Roundup: an Issue-Tracking System for Knowledge Workers
For how to contact the community see http://www.roundup-tracker.org .
Contents
- Roundup Features
- Installing Roundup
- Upgrading to newer versions of Roundup
- Migrating from 1.4.20 to 1.4.21
- Migrating from 1.4.19 to 1.4.20
- Migrating from 1.4.17 to 1.4.18
- Migrating from 1.4.x to 1.4.17
- Migrating from 1.4.x to 1.4.12
- Migrating from 1.4.x to 1.4.11
- Migrating from 1.4.x to 1.4.9
- Migrating from 1.4.x to 1.4.7
- Migrating from 1.4.2 to 1.4.3
- Migrating from 1.4.x to 1.4.2
- Migrating from 1.3.3 to 1.4.0
- Migrating from 1.2.x to 1.3.0
- Migrating from 1.1.2 to 1.2.0
- Migrating from 1.1.0 to 1.1.1
- Migrating from 1.0.x to 1.1.0
- Migrating from 0.8.x to 1.0
- Migrating from 0.8.0 to 0.8.3
- Migrating from 0.7.1 to 0.8.0
- Migrating from 0.7.2 to 0.7.3
- Migrating from 0.7.0 to 0.7.2
- Migrating from 0.7.0 to 0.7.1
- Migrating from 0.6 to 0.7
- Migrating from 0.6.x to 0.6.3
- Migrating from 0.5 to 0.6
- Migrating from 0.4.x to 0.5.0
- Migrating from 0.4.1 to 0.4.2
- Migrating from 0.4.0 to 0.4.1
- Migrating from 0.3.x to 0.4.0
- Migrating from 0.2.x to 0.3.x
- Roundup FAQ
- User Guide
- Customising Roundup
- Administration Guide
- XML-RPC access to Roundup
- original design
- Developing Roundup
- Roundup Tracker Templates
- Roundup Glossary
- Acknowledgements
- License


Note that due to the store-and-forward nature of queued email delivery - changing settings here may not have an immediate
effect. It is normaly to have emails `en-route' as the change takes hold. Likewise - it can take up to 72hrs for all the
digest changes to clear.


| date: | 2013/08/29 |
|---|
This release adds Public IP address support for VPCs created by EC2. It also makes the GovCloud region available for all services. Finally, this release also fixes a number of bugs.